Операционная система UNIX - страница 38

стр.

В предыдущих разделах мы использовали некоторые утилиты UNIX. Ниже приводятся краткие характеристики утилит, выпавших из поля нашего зрения. Более подробно с различными утилитами можно познакомиться в электронном справочнике man(1).

Утилиты для работы с файлами

Поле [>opt] содержит конкретные опции каждой утилиты.

>cd [dir]Изменяет текущий каталог. При задании без параметра — производит переход в домашний каталог пользователя.
>cmp [opt] file1 file2Утилита cmp(1) сравнивает два файла, указанных в качестве аргументов. Если файлы одинаковы, никакого сообщения не выводится. В противном случае выводятся данные о первом несоответствии между этими файлами (в данном примере первое различие найдено в 13-м символе 4-й строки): >$ cat file1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 $ cat file2 1 2 3 4 5 6 diff1 7 8 9 10 11 12 13 14 15 diff2 $ cmp file1 file2 file1 file2 differ: char 13, line 4
>diff [opt] file1 file2Утилита diff(1) также сравнивает два файла и выводит список изменений, которые необходимо внести в содержимое этих файлов для того, чтобы преобразовать первый файл во второй. По существу, вывод утилиты diff(1) представляет собой команды редактора ed(1), необходимые для преобразования >file1 в >file2: >$ diff file1 file2 3a4 > diff1 5c6, 7 < 11 12 13 14 15 ... > 11 12 13 14 15 diff2
>cp [opt] file1 file2 cp [opt] file1 ... dirУтилита cp(1) служит для копирования файлов. При этом создается не жесткая связь, а новый файл: >$ cp file1 file2ls -li file1 file2 261425 -rw-r--r-- 1 andy user 49 Dec 24 12:58 file1 261427 -rw-r--r-- 1 andy user 49 Dec 24 13:13 file2
>mv [opt] file1 file2 mv [opt] file1 ... dirУтилита mv(1) изменяет имя файла. Если последний параметр является каталогом, то число аргументов утилит cp(1) или mv(1) может превышать 2. В этом случае будет производиться копирование или перемещение указанных файлов в каталог.
>rm [opt] file1... rmdir dir1...Утилиты удаления файлов и каталогов. При этом удаляются только записи имен файлов в соответствующих каталогах, фактическое содержимое файла (метаданные и дисковые данные) будет удалено, если число жестких связей для файла станет равным 0.
>ls [opt] [file1 file2 ...]Без параметров утилита ls(1) выводит имена файлов текущего каталога. В качестве параметров можно задать имена каталогов, содержимое которых необходимо вывести, или имена файлов, информацию о которых нужно получить. Опции утилиты позволяют получить список различной информативности и формата.
>ln [opt] source targetУтилита ln(1) создает жесткую связь имени source с файлом, адресуемым именем target. При использовании опции -s будет создана символическая связь.
>mkdir [-m mode] [-p] dir1...Создать каталог.
>pwdВывести имя текущего каталога.
>fgrep [opt] <подстрока> file1...Утилиты поиска фрагментов текста в файлах. Могут использоваться в качестве фильтров в программных каналах. Для поиска подстроки в файлах можно использовать самую простую из утилит fgrep(1) (fast grep). Если подстрока поиска содержит пробелы или знаки табуляции, ее необходимо заключить в кавычки. Если подстрока уже содержит кавычки, их надо экранировать, поместив символ '\' непосредственно перед кавычками: >$ fgrep "рассмотрим в разделе \"Создание процесса\"" chap* Если вы хотите сделать поиск нечувствительным к заглавным/строчным символам, используйте ключ . Для поиска строк, не содержащих указанную подстроку, используется ключ -v.
>grep [opt] <рег_выражение> file1... egrep [opt]  <рег_выражение> file1...Утилиты grep(1) и egrep(1) позволяют производить более сложный поиск, например, когда вы не уверены в написании искомого слова, или хотите найти слова, расположенные в определенных местах файла. В этом случае в качестве подстроки поиска указывается регулярное выражение (>рег_выражение). Например, чтобы произвести поиск слова "центр" в американском (center) и британском (centre) написании, можно задать следующую команду: >$ grep "cent[er]" file или >$ grep "cent[er][er]" file>[er] является регулярным выражением, соответствующим либо символу >'е', либо >'r'. Регулярное выражение должно быть заключено в кавычки для предотвращения интерпретации специальных символов командным интерпретатором shell.