Рассылка закрыта
При закрытии подписчики были переданы в рассылку "Интернет: маркетинг, реклама, торговля" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
Страницы справочного руководства ОС UNIX на русском : Основы ОС UNIX (11)
Информационный Канал Subscribe.Ru |
Выпуск 121
Уважаемые подписчики!
Сегодня вашему вниманию предлагается завершающая часть курса, посвященная
управлению заданиями в командных интерпретаторах ОС UNIX, а также
основным пользовательским утилитам. Кроме того, представлен план практических
занятий, список использованной литературы и источников информации в
Internet.
Ваши отзывы об этих учебных материалах шлите мне по почте, в гостевую или оставляйте в комментариях на соответствующей странице проекта "Хроника бегства от безопасности". Поскольку публикация материалов закончена, ваше мнение мне особенно интересно.
Основы ОС UNIX. Учебный курс. Часть 11
Copyleft (no c) - Fuck copyright! 1996-2003 В. Кравчук, OpenXS Initiative, идея, составление, перевод, примеры
Управление заданиями
Управление заданиями - это механизм для отслеживания процессов, которые порождаются из текущего сеанса работы с терминалом. Можно запустить любое число заданий. Они могут работать, завершиться или находиться в других состояниях. Для управления заданиями можно использовать несколько команд, чтобы проследить результаты их работы или потребовать от системы уведомления об окончании задания.
Запуск задания в фоновом режиме
Фоновый режим позволяет продолжить использование сеанса работы с терминалом, пока выполняется команда. Для запуска команды в фоновом режиме, достаточно к команде добавить символ амперсанд (&). Командный интерпретатор вернет номер задания и идентификатор процесса:
$ make & [2] 254 $
Если задание не требует от пользователя ввода, оно продолжает свою работу до полного завершения. Если команде нужен ввод, она переходит в состояние ожидания, на экран выводится соответствующее уведомление, которое выглядит примерно так:
[1] + Suspended (tty input) programm 0
В данном случае в ожидании ввода приостановилось выполнение программы programm. Пользователю необходимо перевести из фонового режима в привилегированный и выполнить ввод.
Просмотр состояния заданий
С помощью команды jobs пользователь имеет возможность просмотреть состояние своих заданий и получит список всех заданий запущенных в сеансе работы с терминалом.
$ jobs [1] Stopped (user) du [2]- Stopped (user) du -a /home/intdbi [3]+ Stopped (user) du -r /home/intdbi $
Команда jobs принимает два флага. Флаг -l включает идентификатор процесса с номером задания.
$ jobs -l [1] 1351 Stopped (user) du [2]- 1381 Stopped (user) du -a /home/intdbi [3]+ 1383 Stopped (user) du -r /home/intdbi $
Флаг -р заменяет номер задания на идентификатор процесса.
$ jobs -p 1351 1381 1383 $
Идентификатор процесса может использоваться при обращении к команде ps.
Номера заданий
Номер задания позволяет командному интерпретатору наблюдать за процессами. Его можно рассматривать как головной элемент группы процессов, поскольку пользовательское задание порождает любые команды либо в конвейере, либо, как подзадания.
Перевод задания в привилегированный режим
Команда fg переводит задания в привилегированный режим. При наличии приостановленного задания, его можно сделать привилегированным (перевести на передний план) с помощью команды fg #номер_задания (или fg номер_задания в bash). После этого задание либо выведет на экран сообщение о том, что ему нужно от терминала, либо будет принимать ожидаемый ввод. Переведя задание в привилегированный режим, можно приостановить его выполнение, нажав комбинацию калвиш Ctrl-Z, и заняться им позже.
Любое задание из списка, предоставленного командой jobs, доступно, если пользователь захочет сделать его привилегированным, даже в том случае, когда оно уже работает в фоновом режиме. Если в этом списке приведено только одно задание, то при использовании команды fg пользователю не нужно задавать его номер. Если номер задания не задан, предполагается текущее задание.
Перевод задания в фоновый режим
С помощью команды bg можно возобновить в фоновом режиме работу приостановленного или остановленного задания. Для этого нужно указать соответствующий номер задания, после чего оно перейдет в фоновый режим, и будет работать до своего завершения, или пока ему снова не потребуется ввод с терминала.
Команда ожидания завершения процесса
Это последняя существенная команда управления заданиями. При вводе wait приостанавливается работа командного интерпретатора до тех пор, пока не будут завершены все фоновые задания. Сюда входят и любые остановленные задания, поэтому при вводе wait стоит убедиться, что все фоновые задания работают. Команда wait может также принимать в качестве параметра номер задания. В этом случае командный интерпретатор приостанавливается до тех пор, пока не завершится выполнение указанного задания.
Основные утилиты
Помимо рассмотренных выше команд, ОС UNIX предлагает десятки полезных утилит и средств. Основные утилиты для обработки текстов представлены в табл. 27, а клиенты основных сетевых служб - в табл. 28. Полезные команды для создания резервных копий представлены в табл. 29.
Обработка текстов
Таблица 27. Основные утилиты обработки текстов
Утилита | Назначение |
awk | Язык обработки шаблонов. Позволяет выполнять произвольную программу при выявлении в тексте определенной строки, соответствующей шаблону. По синтаксису аналогичен C. Содержит множество встроенных функций. Используется для обработки и преобразования текстовых данных, состоящих из столбцов и строк, а также для построения отчетов и анализа журналов. |
diff | Команда, сравнивающая два файла и выдающая найденные различия в разных форматах. |
ed | Стандартный строчный текстовый редактор. Воспринимает команды из стандартного входного потока, изменяет файлы и часто используется в сценариях. |
ex | Расширенная версия редактора ed. Поддерживает множество установок, которые можно запоминать для каждого пользователя в файле .exrc в его начальном каталоге. |
head | Выдает указанное количество начальных строк из файла. |
more | Позволяет просматривать файл постранично в обоих направлениях, искать в нем по шаблону. |
pr | Форматирует файл или входной поток для печати, разбивая его на страницы и снабжая, при необходимости, заголовками. |
sed | Потоковая версия редактора ed. Позволяет эффективно выполнять поиск и замену в стандартном входном потоке или указанных файлах. |
tail | Выдает указанное количество конечных строк из файла. |
tr | Преобразовывает символы во входном потоке, заменяя одни цепочки на другие. Поддерживает весь набор символов. |
Работа в сети
Таблица 28. Основные сетевые команды
Утилита | Назначение |
ftp | Клиент для обмена файлами с удаленной машиной по сети. Позволяет просматривать каталоги, создавать каталоги на удаленной машине, загружать и выгружать файлы с помощью стандартного набора команд. Допускает автоматизацию операций по обмену файлами. |
netstat | Выдает разнообразную статистику о работе сети, содержимое таблиц маршрутизации и т.д. |
ping | Посылает специальный пакет ICMP, требующий ответа от удаленного сервера. Позволяет проверить доступность удаленного хоста и скорость работы сети. Обычно доступна только пользователю root. |
rlogin | Программа удаленной регистрации. Позволяет работать с удаленной машиной так же, как с локальной. Поддерживает доверительные отношения. |
rsh | Удаленный командный интерпретатор. Позволяет выполнить любую команду интерпретатора на удаленной машине и получить ее выходной поток на локальной. Поддерживает доверительные отношения. |
ssh | Защищенный командный интерпретатор, функционально аналогичный программам telnet, rsh и rlogin, но передающий пароли и данные в зашифрованном виде. |
telnet | Программа удаленного подключения к указанной сетевой службе. Обычно используется для удаленной регистрации. Не поддерживает доверительные отношения. |
traceroute | Программа трассировки пакетов. Показывает маршрут, по которому будут направляться пакеты на указанный удаленных хост и скорость передачи на каждом из переходов. Обычно доступна только пользователю root. |
Резервное копирование и восстановление
Таблица 29. Основные средства резервного копирования и восстановления
Утилита | Назначение |
compress | Сжимает (упаковывает) указанный файл, обычно удаляя исходный вариант. Сжатые файлы обычно имеют суффикс .Z и разжимаются командой uncompress. |
cpio | Команда создания архивов. Помещает все указанные файлы, включая содержимое подкаталогов, в архив, выдаваемый в стандартный выходной поток. Получает архив из входного потока и раскрывает в текущем каталоге. Поддерживает различные платформы и форматы, в том числе, формат архивов tar. |
dd | Команда копирования блоков данных с одного файла или устройства в другой. Позволяет выполнять преобразования при копировании. |
gzip | Утилита GNU для сжатия указанного файла. Упаковывает файлы лучше, чем compress. Работает на всех платформах. Сжатые файлы обычно имеют суффикс .gz и разжимаются командой ungzip (gzip -d). |
tar | Утилита архивирования. Помещает все указанные файлы, включая содержимое подкаталогов, в архив, записываемый в указанный файл. Создает необходимые каталоги и файлы при разархивировании. Первоначально предназначалась для архивирования на ленту. |
Программа практических занятий
Занятие 1. 2 часа.
- Регистрация в системе. Изменение пароля (passwd). Просмотр информации о работающих пользователях (who).
- Работа со справочным руководством (man).
- Просмотр содержимого файлов (cat, more).
- Создание файлов различных типов (cat, mkdir, mknod, ln). Копирование, перемещение и удаление файлов и каталогов (cp, mv, rm, rmdir).
- Просмотр информации о файлах, изменение прав доступа и владельца файлов (ls, chmod, chown, chgrp, umask).
- Просмотр информации о процессах и установка поправки приоритета (ps, nice).
- Посылка сигналов процессам (kill).
Занятие 2. 2 часа.
- Поиск файлов по различным критериям (find).
- Использование утилиты grep для поиска в текстах по образцу
- Практическая работа с редактором vi.
- Управление заданиями (jobs, bg, fg).
Занятие 3. 2 часа.
- Создание простых конвейеров. Запуск процесса в приоритетном и фоновом режиме. Динамическое формирование командной строки.
- Использование цикла for в командном интерпретаторе.
- Проверка условий в командном интерпретаторе.
- Создание цикла по счетчику в командном интерпретаторе.
- Создание и использование функций в командном интерпретаторе.
- Создание простого сценария командного интерпретатора.
- Файлы начального запуска командного интерпретатора. Настройка среды.
- Использование утилит tar, dd, gzip для резервного копирования.
- Практическое использование утилит telnet и ftp.
Литература
- Керниган Б.В., Пайк Р. "UNIX - универсальная среда программирования" -М.: Финансы и статистика, 1992. - 304 с.
- Дегтярев Е.К. "Введение в UNIX" - М.; МП "Память", 1991. - 96 с.
- Топхем Д., Чыонг Х.В. "Юникс и Ксеникс" -М.: Мир, 1988. - 392 с.
- Кэвин Р., Фостер-Джонсон Э. "UNIX: справочник" -СПб: Питер Ком, 1999. - 384 с.
- Немет Э., Снайдер Г., Сибиасс С., Хейн Т.Р. "UNIX: руководство системного администратора" -К.: BHV, 1997 - 832 с.
- Робачевский А.М. "Операционная система UNIX" -СПб.: БХВ - Санкт-Петербург, 1999. - 528 с., ил.
- Дайсон П. "Операционная система UNIX. Настольный справочник" -М.: ЛОРИ, 1997. - 400 с.
- Беляков М.И., Рабовер Ю.И., Фридман А.Л. "Мобильная операционная система: Справочник" - М.: Радио и связь, 1991. - 208 с.
- Анонимный автор. "Максимальная безопасность в Linux" -К: Издательство "ДиаСофт", 2000, - 400 с.
- Шенк Т. "Red Hat Linux для системных администраторов. Энциклопедия пользователя" -К: Издательство "ДиаСофт", 2001, - 672 с.
- Эбен М., Таймэн Б. "FreeBSD. Энциклопедия пользователя" -К: ООО "ТИД "ДС", 2002, - 736 с.
- Примечание
- К переводу последних трех книг на русский я имел непосредственное отношение как переводчик и научный редактор.
Источники информации в Internet
История UNIX
- http://perso.wanadoo.fr/levenez/unix/
- Генеалогическое дерево версий UNIX вплоть до настоящего времени.
- http://www.faqs.org/faqs/unix-faq/faq/part6/
- http://www.crackmonkey.org/unix.html
- http://catb.org/~esr
- Персональная страница Эрика Реймонда. Обратите внимание на его новую книгу "The Art of UNIX Programming"!
Справочные руководства по командам:
- http://opennet.ru
- Ну, кто же их не знает... Основной источник информации о UNIX на русском языке.
- http://citforum.ru
- Центр информационных технологий моего родного МГУ. Источник огромного объема информации по ИТ на русском. Есть и переводы страниц справочного руководства BSD.
- http://ln.com.ua/~openxs/projects/man
- Проект "Страницы справочного руководства ОС UNIX на русском". Мой.
- http://www.gnu.org/manual/manual.html
- Справочные руководства по утилитам проекта GNU
Другие источники информации
- http://catb.org/~esr
- Персональная страница Эрика Реймонда. Это один из идеологов разработки свободно распространяемого программного обеспечения. Его работы надо читать как Евангелие...
- http://linuxnews.ru
- Новости Linux на русском. Полезная документация. Форум
- http://www.freebsd.org
- Основной сайт ОС FreeBSD
- http://docs.sun.com
- Документация по ОС Solaris
- http://www.gnu.org
- Сайт проекта GNU
В следующем выпуске
Почитаю отзывы, подумаю и опубликую программу дальнейшего развития. Следите за новостями на сайте рассылки.С наилучшими пожеланиями,
В.К.
http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу |
В избранное | ||