Выбрать главу

ПРИЛОЖЕНИЕ Б

Полезные команды интерпретатора shell

В этом приложении перечисляются и описываются некоторые полезные команды интерпретатора shell. Здесь не приводится исчерпывающий список параметров для каждой команды. Однако имеющихся параметров вполне достаточно для понимания работы команд.

Дополнительные примеры использования можно найти в других главах книги.

basename

Формат:

basename путь

Команда basename выделяет путь из имеющегося имени пути и просто возвращает имя файла. Эта команда обычно применяется в конструкциях usage в сценариях. В этом случае подстановка используется при отображении на экране имен файлов.

$ basename /home/dave/myscript

myscript

echo "Usage: `basename $0` give me a file" exit 1

Если приведенный выше код именуется myscript, вывод может быть следующим:

myscript: give me a file

Здесь $0 является специальной переменной, которой присвоено текущее полное имя пути для сценария.

cat

Формат:

cat параметры файлы

Параметры:

-v Задается отображение управляющих символов

Команда cat является одной из наиболее часто применяемых команд постраничной разбивки текстовых файлов.

$ cat myfile

Отображение содержимого файла myfile.

$ cat myfile myfile2 >> hold_file

Приведенная выше команда осуществляет объединение двух файлов (myfile и myfile2) в один файл, именуемый hold_file.

cat dtl | while read line do

echo $LINE done

Команда cat также используется для считывания файлов, осуществляемого с помощью сценариев.

compress

Формат:

compress параметры файлы

Параметры:

-v Вывод на экран результатов сжатия

Команда compress используется для уменьшения размера файлов. После завершения сжатия файл получает расширение .Z Для возврата файла в исходное состояние используется команда uncompress.

$ compress myfile

$ ls myfile*

myfile. Z

cp

Формат:

cp параметры файл1 файл2

Параметры:

-i Запрос на подтверждение перезаписи файлов

-p Сохранение набора прав доступа и времени изменения

-r Рекурсивное копирование каталога

Для копирования файла myfile в myfilel.bak применяется команда:

$ cp myfile1 myfile1.bak

Копирование файла get.prd из каталога /usr/local/sybin в каталог /usr/local/bin осуществляется командой

$ pwd

/usr/local/sybin

$ cp get.prd ../bin

Для рекурсивного копирования всех файлов и подкаталогов из каталога /logs (вниз) в каталог /hold/logs применяется команда:

$ cp -r /logs/ /hold/logs

diff

Формат:

diff параметры файл1 файл2

Параметры:

-c Генерирует различный вывод на основе стандартного формата (см. ниже) — i Игнорирование регистров символов

При использовании файлов файлы файл2 из нашего примера comm команда diff будет выводить строки, которые не совпадают в заданных файлах.

$ diff файл1 файл2

2,3с2,3

<The game

<Boys in company С

>The games

>The boys in company С

Команда diff сообщает о том, что строки 2 и 3 различны, но второй столбец в строке 3 не совпадает.

dircmp

Формат:

dircmp параметры каталог1 каталог2

Параметры:

-s Не отображать различные файлы

Действие команды dircmp напоминает действие команды diff: она также производит сравнение с последующим выводом на экран найденных различий.