Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Открытые системы / скрипты

.doc
Скачиваний:
35
Добавлен:
10.05.2014
Размер:
37.89 Кб
Скачать

Для справки на месте вбивать man имя_команды

1. Определите одной командой: имя хота, тип ОС, дату сборки системы.

uname –a

2. Определите имена пользователей, которые работают в системе на данный момент.

who

3. Определите системное имя вашего терминала.

tty

4. Добавьте в приглашение командной строки: текущую дату, имя системы, путь к текущему каталогу, имя пользователя.

PS1=‘\d \h:\W \u\$ ‘

5. Определите список идентификаторов процессов, запущенных с вашего терминала.

ps -a

6. Определите число процессов с положительными и отрицательными значениями эффективного приоритета, исполняющихся в данный момент в системе.

ps ax -o ni | grep -v '[0|NI]' | wc -l

  1. Получите список всех процессов, которые в данный момент находятся в состоянии WAIT

ps ax | grep S

  1. Получите список всех процессов, которые в данный момент находятся в состоянии RUN

ps ax | grep R

  1. Определите список всех процессов, которые использовали на момент запуска скрипта более 5 минут времени ЦП.

  2. Определите список всех процессов, которые использовали на момент запуска скрипта менее 5 минут времени ЦП.

  3. Получите список всех обычных файлов текущего каталога, владельцем которых является пользователь web, дата создания позже позавчерашнего числа и они являются исполняемыми для группы web.

find . -type f -newerct '2 days ago' -user web -group web -perm -g=x -print

12. Получите список всех файлов с расширением txt, расположенных в подкаталогах текущего каталога с глубиной вложения 2.

find . –type f -name '*.txt' –depth 2 -print

  1. Напишите скрипт, который при останове системы должен проверить наличие, а при необходимости завершить процесс с именем ECHO. Где этот скрипт должен быть расположен?

  2. Напишите скрипт, который при старте системы должен проверить наличие, а при необходимости запустить процесс с именем ECHO. Где этот скрипт должен быть расположен?

  3. Подсчитайте число строк, содержащих слово mail во всех файлах всех подкаталогах текущего каталога.

find . -exec grep mail {} \; | wc –l

16. Найдите самый “свежий” файл текущего каталога.

ls -lt | tail -n 1

17. Найдите самый “старый” файл текущего каталога.

ls -lrt | tail -n 1

18. Напишите скрипт killall, который завершит все процессы, запущенные пользователем gandy

#!/bin/sh

for n in `ps -u gandy -o pid | grep –v PID`

do

kill -s 9 $n done

19. Переименуйте все файлы текущего каталога с именами date-<yesterday>.txt в date- <today>.txt. Формат даты YYYYMMDD.

mv date-`date -v -1d '+%Y%m%d'`.txt date-`date '+%Y%m%d'`.txt

  1. Определите имя процесса, который использовал больше всех других процессов время ЦП за последнюю минуту.

  2. Определите тип терминала пользователя tom.

#!/bin/sh

su -tom

echo $TERM

  1. Определите тип вашего терминала.

echo $TERM

23. Перенаправьте поток ошибок команды в стандартный поток вывода, а стандартный поток вывода на устройство /dev/null

somecommand 2>&1 1> /dev/null

24. Напишите конвеер, который способен подсчитать и число строк в отчёте команды ls –al и число слов в этом же отчёте.

ls –al | wc -lw

25. Распечатайте первые n строк всех файлов текущего каталога с расширением root.

head -n 5 *.root

26. Распечатайте последние n строк всех файлов текущего каталога с расширением root.

tail -n 5 *.root

27. Определите дату последнего изменения файла.

ls –lt somefile.ext

28. Определите дату последнего обращения к файлу.

ls –lu somefile.ext

29. Подсчитайте число локальных переменных окружения.

set | wc -l

30. Подсчитайте число глобальных переменных окружения.

env | wc -l

31. Получите самое длинное значение из всех значений переменных окружения. выдает длину каждой перем енно й

#!/bin/sh

set | sed -e 's/.*=//' | awk '{print length}'

  1. Получите самое короткое значение из всех значений переменных окружения.

  2. Получите самую длинную командную строку для процессов, исполняемых в данный момент в системе.

выдает длину каждой перем енно й #!/bin/sh ps ax -o command | grep –v COMMAND | awk '{print length}'

34. Получите самую короткую командную строку для процессов, исполняемых в данный момент в системе.