Linux и UNIX: программирование в shell. Руководство разработчика
вернуться

Тейнсли Дэвид

Шрифт:

Если система не поддерживает команду ps x, воспользуйтесь опцией -e, которая предназначена для получения списка всех системных процессов:

$ ps -e | grep psl

30004 ? 00:04:01 sh ./psl

3.4.2. Одновременный запуск нескольких заданий

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

cat /home/acccmnts/qtr_04 99 | /apps/bm/trials.awk | sort | lp

Поместим ее в файл:

$ cat > quarterend

cat /home/accounts/qtr_0499 | /apps/bin/trials.awk | sort | lp <CTRL-D>

Сделаем файл исполняемым:

$ chmod 744 quarterend

Теперь запустим этот файл в фоновом режиме посредством команды nohup, направив результаты работы сценария в файл qtr.out.

$ nohup ./quarterend > qtr.out 2>&l &

[5] 182

Обратите внимание на то, что при вызове файла quarterend указано путевое имя '. /.' Тем самым интерпретатору shell дается указание искать данную команду в текущем каталоге.

3.5. Заключение

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

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

ГЛАВА 4

Подстановка имен файлов

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

Вот список основных метасимволов:

* Соответствует произвольной строке, содержащей ноль и более символов

? Соответствует любому символу

[…] Соответствует любому символу из числа заключенных в скобки

[!…] Соответствует любому символу за исключением тех, которые указаны в скобках

Когда интерпретатор shell встречает указанные символы в командной строке, он обрабатывает их особым образом, если только вы не защитили их с помощью кавычек, о чем говорится в главе 15.

4.1. Применение метасимвола '*'

Символ звездочки может служить заменой любой части имени файла. Следующая команда выводит список всех файлов, имена которых начинаются со строки "app":

$ ls app*

appdva app_tapes

appdva_SLA

Вот как можно получить список файлов, имеющих расширение doc:

$ ls *.doc

accounts.doc qtr_end.doc

Представленная ниже команда находит файлы, у которых имя начинается со строки "cl", а расширение равно sed:

$ ls cl*.sed

cleanlogs.sed cleanmeup.sed

cleanmessages.sed

Звездочку удобно применять, когда, например, не хочется вводить полное имя каталога при переходе в него:

$ cd /etc

$ ls -l | grep ^d

drwxr-xr-x 2 root root 1024 Jan 26 14:41 cron.daily

drwxr-xr-x 2 root root 1024 Jan 27 1998 cron.hourly

drwxr-xr-x 2 root root 1024 Jan 27 1998 cron.monthly

drwxr-xr-x 2 root root 1024 Jan 26 14:37 cron.weekly

$ cd cron.w* S pwd

/etc/cron.weekly

4.2. Применение метасимвола '?'

Знак вопроса служит для замены любого отдельного символа. Следующая команда выводит список файлов, имена которых содержат не менее трех символов, причем третьим является символ 'R':

$ ls ??R*

BAREAD

Следующая команда ищет файлы с именами, начинающимися со строки "conf", за которой следуют два произвольных символа и расширение log:

$ ls conf??.log .

confl2.log conf.2.log

conf25.log

Вот как можно найти файлы, имена которых состоят не менее чем из четырех символов, причем первым является символ 'f', а последним — 's':

$ ls f??*s

ftpaccess ftphosts ftpconversions ftpusers ftpgroups

4.3. Применение метасимволов […] и [!…]

  • Читать дальше
  • 1
  • ...
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • ...

Private-Bookers - русскоязычная библиотека для чтения онлайн. Здесь удобно открывать книги с телефона и ПК, возвращаться к сохраненной странице и держать любимые произведения под рукой. Материалы добавляются пользователями; если считаете, что ваши права нарушены, воспользуйтесь формой обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • help@private-bookers.win