А. Робачевский - Операционная система UNIX (1114671), страница 17
Текст из файла (страница 17)
Задание в каждом из этих состоянийобладает рядом характеристик:Состояние заданияХарактеристикиВыполняется в текущем режимеЗадание может считывать данные и выводитьданные на терминал пользователяВыполняется в фоновом режимеЗаданию запрещен ввод с терминала. Возмож%ность вывода на терминал определяется дополни%тельными установкамиПриостановленоЗадание не выполняетсяКаждое задание при запуске получает уникальный идентификатор, назы!ваемый номером задания, который используется в командах системы управ!ления.
Синтаксис номера задания, применяемый в командах:%где% или +строкаможет принимать следующие значения:Текущее задание — самое последнее запущенное или вновь запущен%ное заданиеПредыдущее задание (по отношению к текущему)Задание, для которого строка присутствует в командной строке запускаЗадание с номером пЗадание, на которое можно уникально указать префиксом pref, на%пример, команда ls(1), запущенная в фоновом режиме, адресуется за%данием %lsСистема управления заданиями позволяет использовать следующие допол!нительные команды:www.books-shop.comПользовательскаяbgfgjobs [!p | !1]killstopwait81UNIXПродолжает выполнение остановленногозадания в фоновом режиме. Без парамет[ра относится к текущему заданию.Продолжает выполнение остановленногозадания в текущем режиме.
Если заданиевыполнялось в фоновом режиме, ко[манда перемещает его в текущий режим.Выводит информацию об остановленных ифоновых заданиях с указанными номера[ми. Если последний аргумент опущен, вы[водится информация обо всех остановлен[ных и фоновых заданиях. Приведенныениже опции изменяют формат вывода:[1 Вывести идентификатор группы про[цессов и рабочий каталог.Вывести только идентификатор группыпроцессов.Обеспечивает те же возможности, что и ко[мандано по отношению к заданиям.Останавливает выполнения фонового за[дания.Ожидает завершения выполнения заданияjobid и возвращает его код возврата.Приведенный ниже пример иллюстрирует использование команд управле!ния заданиями и не нуждается в комментариях:$&[1] 9112$[2] 9113$ jobs[1] — Running+ Runningcomml$ stop %1$ jobs[1] — Stopped (signal) inf.j[2] + Runningcomml$ stop %%$ jobs 1[1] 9112 Stopped (signal)inf.j (wd: /home/andy/SH/JOB)[2] + 9113 Stopped (signal)comml (wd:$ bg[1] inf.j &$ jobs[1] + Running[2] — Stopped (signal) comml$ kill$ jobswww.books-shop.com82Глава /.
Работа в операционной системе UNIX[1] +[2] ! Done$Основные утилиты UNIXВ предыдущих разделах мы использовали некоторые утилиты UNIX. Нижеприводятся краткие характеристики утилит, выпавших из поля нашегозрения. Более подробно с различными утилитами можно познакомиться вэлектронном справочникеУтилиты для работы с файламиПоле [opt] содержит конкретные опции каждой утилиты.cd [dir]Изменяет текущий каталог.
При задании без параметра —производит переход в домашний каталог пользователя.[opt]file2 Утилита cmp(1) сравнивает два файла, указанных в ка%diff [opt] filel file2аргументов. Если файлы одинаковы, никакогосообщения не выводится. В противном случае выводятсяданные о первом несоответствии между этими файлами(в данном примере первое различие найдено в 13%мсимволе 4%й строки):$ cat filel12 37 8 9 1011 12 13 14 15$ cat file212 37 8 9 1011 12 13 14 15 d i f f 2$ cmp filel file2f i l e l f i l e 2 d i f f e r : char 13, l i n e 4Утилитатакже сравнивает два файла и выводитсписок изменений, которые необходимо внести в содер%жимое этих файлов для того, чтобы преобразовать первыйфайл во второй.
По существу, вывод утилитыпред%ставляет собой команды редактора ed(1), необходимыедля преобразования filel в file2:$filel file2За4> diffl< 11 12 13 14 15> 11 12 13 14 15 d i f f 2www.books-shop.comПользовательская среда UNIXср [opt] filelfile2ср [opt] fileldir[opt] filelfile2[opt] filelmvdir83Утилита ср(1) служит для копирования файлов. При этомсоздается не жесткая связь, а новый файл:$ ср filel file2$filel file22614251 andy user2614271 andy user49 Dec 2449 Dec 24filelfile2Утилита mv(1) изменяет имя файла.Если последний параметр является каталогом, то числоаргументов утилит ср(1) или mv(1) может превышать 2.
Вэтом случае будет производиться копирование или пе%ремещение указанных файлов в каталог.Утилиты удаления файлов и каталогов. При этом удаля%ются только записи имен файлов в соответствующихкаталогах, фактическое содержимое файла (мета%данные и дисковые данные) будет удалено, если числожестких связей для файла станет равным 0.[opt] filel...[opt]filel file2[opt] source targetmode][!p]Без параметров утилита ls(1) выводит имена файловтекущего каталога. В качестве параметров можно задатьимена каталогов, содержимое которых необходимо вы%вести, или имена файлов, информацию о которых нужнополучить. Опции утилиты позволяют получить списокразличной информативности и формата.Утилитасоздает жесткую связь имени source сфайлом, адресуемым именем target.
При использованииопции %s будет создана символическая связь.Создать каталог.dirl...pwdВывести имя текущего каталога.fgrep [opt]Утилиты поиска фрагментов текста в файлах. Могут ис%пользоваться в качестве фильтров в программных каналах.filel...grep [opt]filel.egrepfilel.Для поиска подстроки в файлах можно использоватьсамую простую из утилит fgrep(1) (fast grep).Если подстрока поиска содержит пробелы или знакитабуляции, ее необходимо заключить в кавычки.
Еслиподстрока уже содержит кавычки, их надо экранировать,поместив символ непосредственно перед кавычками:5 fgrep "рассмотрим в разделеchap*Если вы хотите сделать поиск нечувствительным к за%главным/строчным символам, используйте ключ !у. Дляпоиска строк, не содержащих указанную подстроку, ис%пользуется ключ !v.Утилиты grep(1) и egrep(1) позволяют производить болеесложный поиск, например, когда вы не уверены в напи%сании искомого слова, или хотите найти слова, распо%ложенные в определенных местах файла. В этом случаеwww.books-shop.com84Глава 1.
Работа в операционной системе UNIXв качестве подстроки поиска указывается регулярноевыражениеНапример, чтобы произвести поиск слова "центр" в аме%риканском (center) и британском (centre) написании,можно задать следующую команду:$ grepfileИЛИ$ grepcat [opt] filemore [opt]eheadfiletail [opt] filefile[er] является регулярным выражением, соответствую%щим либо символу 'либо 'Регулярное выраже%ние должно быть заключено в кавычки для предотвра%щения интерпретации специальных символов команд%ным интерпретатором shell.Утилиты просмотра содержимого файла.Команда cat file выводит содержимое файла fileтерминала.
Если у вас есть подозрение, чтофайл не текстовый, т. е. содержит "непечатные" симво%лы, лучше запустить cat(1) с ключом !v. В этом случаевывод таких символов (которые, кстати, могут нарушитьнастройки вашего терминала) будет подавлен.Если размер файла велик и его содержимое не поме%щается в терминальном окне, удобнее будет воспользо%ваться утилитами рд(1) и more(1), позволяющими выво%дить файл порциями.Посмотреть только начало (первые n строк) или конец(последние n строк) файла можно с помощью утилитhead(1) и tail(1), соответственно.Для сортировки строк файла используется утилитаНапример, для сортировки текста в алфавитномпорядке необходимо ввести следующую команду:$ sortfileВы можете указать номер слова строки, по которомунеобходимо произвести сортировку (точнее, номер полязаписи; по умолчанию записью является строка, а поляразделены пробелами).
Например, для сортировки строкфайлаАндрей МайБорис ЯнварьВладимир Мартпо месяцам, можно использовать команду$ sort+1 fileв результате получим:Борис ЯнварьВладимир МартАндрей Майwww.books-shop.comUNIXОпцияопределяет сортировку по месяцам (не по ал%фавиту), опция +1 указывает, что сортировку необходи%мо проводить по второму полю каждой строки.Позволяет отфильтровать указанные поля строк файла.Разделитель полей указывается опцией %d<sep>. На%пример, чтобы получить реальные имена пользователейсистемы (пятое поле файла паролей), можно использо%вать следующую команду:cut$ cat /etc/passwd |cut!d:WWW AdministratorY u r i KorenevSerge SmirnoffW3 groupKonstantin FedorovAndrei RobachevskySergey PetrovПозволяет вывести число строк, слов и символов текстафайла.find[opt]Выполняет поиск файла в файловой системе UNIX, на%чиная с каталога dir.