Linux и UNIX: программирование в shell. Руководство разработчика - Страница 112
$ cp -r /logs/ /hold/logs
diff
Формат:
diff параметры файл1 файл2
Параметры:
-c Генерирует различный вывод на основе стандартного формата (см. ниже) — i Игнорирование регистров символов
При использовании файлов файлы файл2 из нашего примера comm команда diff будет выводить строки, которые не совпадают в заданных файлах.
$ diff файл1 файл2
2,3с2,3
>The games >The boys in company С Команда diff сообщает о том, что строки 2 и 3 различны, но второй столбец в строке 3 не совпадает. dircmp Формат: dircmp параметры каталог1 каталог2 Параметры: -s Не отображать различные файлы Действие команды dircmp напоминает действие команды diff: она также производит сравнение с последующим выводом на экран найденных различий. dirname Формат: dirname имя_пути В противоположность команде basename, команда dirname выводит на экран только имя пути: $ dirname /home/dave/myfile/home/dave du Формат: du параметры каталог Параметры: -a Отображается размер каждого файла, а не только размер каталогов -s Отображается только итоговая сумма Команда du выводит информацию об использовании диска в виде блоков размером по 512 байтов. Эта команда применяется, главным образом, для вывода размеров каталогов. $ pwd /var $ du -s 14929 Размер структуры каталога /var составляет 14929 блоков. file Формат: file имя_файла Благодаря этой команде интерпретатор shell определяет тип файла. $ file core core: ELF 32–bit LSB core file of 'awk' (signal 6), Intel 80386, version 1 $ file data.f data.f: ASCII text $ file month_end.sh month_end.sh: Bourne shell script text fuser Формат: fuser параметры файл Параметры: -k Уничтожает все процессы для файла или файловой системы -u Отображает все процессы для файла или файловой системы Команда fuser применяется для отображения процессов, выполняющихся в файловой системе или для файлов, к которым осуществляется доступ. В некоторых системах возможен выбор при использовании параметров -u и — т. Совместно с командой fuser возможно применение конструкции if. Для отображения списка активных процессов, соответствующих устройству /dev/hda5, применяется команда: $ fuser -m /dev/hda5 /dev/hda5: 1 1r 1c 1e 37 37r 37c 37e 144 144r 144c 144e 158 158r 158c 158e 167r 167c 167e 178 17 8r 178c 178e 189 189r 189c Уничтожение всех процессов, связанных с устройством /dev/hda5, можно осуществить посредством команды: $ fuser -k /dev/hda5 Для проверки, что файл doc_part открыт, и для определения выполняющихся процессов используется следующая команда: $ fuser -m /root/doc_part /root/dt: 1 1r 1c le 37 37r 37c 37e 144 144r 144c 144e 158 158r 158c 158e 167r 167c 167e 178 178r 178c 178e 189 189r 189c*l89e 201 201r 201c 201e 212 212r 212c 212e 223 223r Некоторые варианты команды fuser отображают идентификаторы регистрации в качестве части вывода. Если же в вашем случае этого не происходит, используйте номера, оканчивающиеся на 'е', а затем примените команду grep посредством ps ха или ps -ef. head Формат: head -number файлы Команда head используется для отображения первых десяти строк файла. Для отображения меньшего или большего количества строк используется параметр -number. Например, команда $ head -1 myfile задает отображение первой строки файла, а команда $ head -30 logfile | more приводит к отображению первых 30 строк файла logfile. logname Формат: logname При этом отображается регистрационное имя текущего пользователя: $ logname dave mkdir Формат: mkdir параметры каталог Параметры: -m Устанавливает уровень доступа при создании каталога Команда $ mkdir HOLD_AREA $ ls -1 HOLD* -rw‑rw‑r-- 1 dave admin 3463 Dec 3 1998 HOLD_AREA приведет к созданию каталога HOLD_AREA. more Формат: more параметры файлы Эта команда эквивалентна командам page и pg, т. е. поочередно отображает на экране содержимое страниц. Параметры: -c Не прокручивать текст, но отображать полностью страницу -d Отображение запроса на ввод при постраничной разбивке файла -n Отображение n строк вместо отображения полного экрана Команда $ more /etc/passwd отображает содержимое файла passwd. Команда $ cat logfile |more отображает файл logfile. nl Формат: nl параметры файл Параметры: -i Задает приращение каждой строки на n; по умолчанию задается 1 -р Не восстанавливать нумерацию при появлении новой страницы Команда nl используется для добавления нумерации в файл. Она является полезной при печати исходного кода или листингов журнальных файлов. Команда $ nl myscript добавляет нумерацию в файл myscript. Команда $ nl myscript >hold_file направляет вывод команды nl в файл hold_file, а команда $ nl myscript | lpr направляет вывод команды nl на принтер. printf Формат: printf формат аргументы Эта команда выводит форматированный текст в стандартный поток вывода, а ее действие подобно действию функции printf утилиты awk. Параметр формат может включать три различных типа элементов; здесь будут рассмотрены элементы форматирования. Форматирующая последовательность выглядит следующим образом: %[- +]m.nx Знак дефиса задает выравнивание текста в поле по левому краю. Вообще говоря, параметр m используется для представления длины поля, а n задает максимальную длину поля. Символ % предшествует любому из следующих символов форматирования: S строка с символ d десятичное число X шестнадцатеричное число о восьмеричное число Команда printf не может создавать новые строки; с этой целью применяются управляющие последовательности. Ниже приводится перечень наиболее часто применяемых управляющих последовательностей: а звуковой сигнал b удаление предшествующего символа r возврат каретки f прокрутка страницы n создание новой строки t символ табуляции Команда $ printf "Howzat!n" Howzat! выводит строку в поток стандартного вывода; используйте символ n' для создания новой строки. Команда $ printf "x2Bn" + преобразует шестнадцатеричное число 2В в соответствующее десятичное значение ASCII,'+'. Команда $ printf "%-10sStand‑byn"