- grep – поиск шаблона (подстроки) в файлах:
$ grep [-ключи] подстрока список_файлов
Найденные строки выводятся на стандартный вывод в формате, определяемом ключами. Если файлов несколько, то перед каждой строкой выводится имя соответствующего файла. Ключи:
- -c – вывод имен всех файлов с указанием количества строк, содержащих шаблон;
- -i – игнорирование регистра (различия строчных и заглавных латинских букв);
- -n – вывод перед строкой ее относительного номера в файле;
- -v – вывод строк, не содержащих шаблона (инверсия вывода);
- -l – вывод только имен файлов, содержащих шаблон.
- wc – подсчет количества строк, слов и символов в файлах:
$ wc [-lwc] [список_файлов]
Подсчет строк – ключ -l, слов – ключ -w и символов – ключ -c (по умолчанию -lwc). Если список файлов пуст, то подсчет ведется в стандартном потоке ввода.
- sort – сортировка файлов:
$ sort [-ключи] список_файлов
Эта команда сортирует входные файлы по строкам в соответствии с увеличением кодов символов. Ключи:
- -r – обратный порядок сортировки;
- -f – не учитывать различие строчных и прописных латинских букв
- -n – числовой порядок сортировки и т.д.
- cmp – вывод места первого расхождения:
$ cmp файл_1 файл_2
|
|
Выводит номер символа и номер строки (в текстовых файлах), в которой впервые встречается расхождение во входных файлах. Работает с любыми файлами.
- diff – вывод всех расхождений в файлах:
$ diff файл_1 файл_2
Выводит все строки, в которых встречаются расхождения между входными файлами. Работает только с текстовыми файлами.
- find -поиск файлов в поддереве каталогов:
find список_каталогов условия_поиска
Команда последовательно просматривает все поддеревья, начинающиеся с одного из каталогов, указанных в списке каталогов, анализирует их атрибуты, и если они удовлетворяют условиям поиска: выполняет действия, заданные в условиях _ поиска.
В команде может быть задано множество условий поиска, необходимые комбинации которых объединяются в булевское выражение с помощью логических операций:
! условие отрицание условия;
пробел соответствует операции “И”;
-o операция “ИЛИ”;
\(выражение \) булевское выражение в скобках
Перечислим некоторые опции, задающие условия (при этом условимся обозначать через n положительное десятичное число, +n - любое положительное число, строго большее n, -n - любое положительное число, строго меньшее n):
-name имя_файла истинно для файлов с именем имя_файла; в задаваемом имени допускается использование метасимволов;
-perm 8-ричный_код истинно для файлов с указанным кодом прав доступа;
-type {f|d|b|c|p} истинно для файлов указанного типа (f - обычный файл, d - каталог, b - блок-ориентированный специальный файл, c - байт-ориентированный специальный файл, p - именованный канал);
|
|
-print всегда истинно; вызывает печать маршрутного имени файла;
-size n[c] истинно для файлов с длиной n. По умолчанию длина задается в блоках по 512 байт, а если после длины ставится символ c, то в байтах;
-exec команда истинно, если команда, выполняющаяся при наличии данного условия, возвращает нулевой код завершения. Если в тексте команды должно быть указано имя текущего проверяемого файла, то вместо него пишут {}. В конце команды должна стоять экранированная точка с запятой: ‘\;’;
-links n истинно для файлов с числом ссылок n.
Примеры: $find / -type f -links +1 -print
Выводятся полные маршрутные имена файлов корневого каталога, на которые имеется более одной ссылки.
$find / -type f -size +2 -exec ls -l {}\;
Выводятся листинги с указанием длины в блоках (по 1024 байта) для файлов корневого каталога, длина которых в блоках по 512 байт превышает 2.
$find /dev \(-type d -o -type b \) -print
Выводятся имена каталогов или специальных файлов устройств блок-ориентированного типа из каталога /dev и его подкаталогов
find / -name ‘*.a’ -exec ar -t {} \; |grep console
В этой сложной команде ищутся файлы с расширением ‘.a’ (архивы или библиотеки), происходит просмотр их содержимого (-exec ar -t {}) и выводятся строки, содержащие подстроку ‘console’ (grep console)
- Vi. Текстовый редактор
Запуск редактора: vi [+[n]] имя_файла
+ вывести на экран конец файла;
n вывести на экран текст файла, начиная со строки n.
Текстовый полноэкранный редактор vi работает в двух основных режимах: в режиме “ввод текста” и в режиме “команда”.
Режим “ввод текста”. В этот режим редактор переводится с помощью клавиш <a> и <i>:
<a> набор текста в текущую строку;
< i > вставка текста в текущую строку перед курсором;
<ESC> выход из режима “ввод текста” в режим “команда”.
Режим “команда”. Это - основной режим редактирования текста:
<x> уничтожение текущего символа, выделенного курсором;
<r> замена текущего символа на символ, набранный вслед за командой <r>;
<s> замена одного или нескольких символов текстом. Например: 2sTEXT - замена двух текущих символов на слово TEXT;
<o> вставить пустую строку после текущей;
[n]<dw> уничтожить текущее слово или n слов;
[n]<dd> уничтожить текущую строку или n строк.
Выход из редактора
<ESC>:wq! Выход с сохранением;
<ESC>:q! Выход без сохранения.