ПРИЛОЖЕНИЕ Б
Полезные команды интерпретатора 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: она также производит сравнение с последующим выводом на экран найденных различий.