Открытые системы / Практические задания для семинара по программированию на shell
.docПрактические задания для семинара по программированию на shell
1. Определите одной командой: имя хоста; тип ОС; дату сборки системы.
-
Определите имена пользователей, которые работают в системе в данный момент.
-
Определите системное имя вашего терминала
-
Добавьте в приглашение командной строки: текущую дату; имя системы; путь к текущему каталогу имя пользователя.
-
Определите список идентификаторов процессов, запущенных с вашего терминала.
-
Определите число процессов с положительными и отрицательными значениями эффективного приоритета, исполняющихся в данный момент в системе.
-
Получите список всех процессов, которые в данный момент находятся в состоянии WAIT
-
Получите список всех процессов, которые в данный момент находятся в состоянии RUN
-
Определите список всех процессов, которые использовали на момент запуска скрипта более 5 минут времени ЦП.
-
Определите список всех процессов, которые использовали на момент запуска скрипта менее 5 минут времени ЦП.
-
Получите список всех обычных файлов текущего каталога, владельцем которых является пользователь web, дата создания позже позавчерашнего числа и они являются исполняемыми для группы web.
-
Получите список всех файлов с расширением txt, расположенных в подкаталогах текущего каталога с глубиной вложения 2.
-
Напишите скрипт, который при останове системы должен проверить наличие, а при необходимости завершить процесс с именем ECHO. Где этот скрипт должен быть расположен.
-
Напишите скрипт, который при старте системы должен проверить наличие, а при необходимости запустить процесс с именем ECHO. Где этот скрипт должен быть расположен.
-
Подсчитайте число строк, содержащих слово mail во всех файлах всех подкаталогах текущего каталога.
-
Найдите самый «свежий» файл текущего каталога.
-
Найдите самый «старый» файл текущего каталога.
-
Напишите скрипт killall который завершит все процессы, запущенные пользователем gandy.
-
Переименуйте все файлы текущего каталога с именами date-<Bчep.дaтa>.txt в date-<cer.дara>.txt. Формат даты YYYYMMDD.
-
Определите имя процесса, который использовал больше всех других процессов время ЦП за последнюю минуту.
-
Определите тип терминала и имя командного процессора пользователя torn.
-
Определите тип вашего терминала.
-
Перенаправьте поток ошибок команды в стандартный поток вывода, а стандартный поток вывода на устройство /dev/null
-
Напишите конвеер, который способен подсчитать и число строк в отчете команды Is -al и число слов в этом же отчете.
-
Распечатайте первые п строк всех файлов текущего каталога с расширением root.
-
Распечатайте последние п строк всех файлов текущего каталога с расширением root.
-
Определите дату последнего изменения файла.
-
Определите дату последнего обращения к файлу.
-
Подсчитайте число локальных переменных окружения.
-
Подсчитайте число глобальных переменных окружения.
-
Получите самое длинное значение из всех значений переменных окружения.
-
Получите самое короткое значение из всех значений переменных окружения.
-
Получите самую длинную командную строку для процессов, исполняемых в данный момент в системе.
-
Получите самую короткую командную строку для процессов, исполняемых в данный момент в системе.