Командная строка Linux. Полное руководство (Шоттс) - страница 29

5. Работа с командами


До настоящего момента мы видели группы мистических команд, каждая из которых имеет свои таинственные параметры и аргументы. Теперь мы удалим часть этой таинственности и даже создадим несколько собственных команд. В этой главе будут представлены следующие команды:

• type — сообщает, как интерпретируется имя указанной команды.

• which — сообщает, какая программа будет выполнена.

• man — выводит страницу справочного руководства с описанием команды.

• apropos — выводит список подходящих команд.

• info — выводит запись из справочного руководства Info с описанием команды.

• whatis — выводит краткое описание команды.

• alias — создает псевдоним для команды.

Что такое команды?


Команда может быть:

• Выполняемой программой, как те файлы, что мы видели в каталоге /usr/bin. К этой категории относятся: скомпилированные двоичные программы, например, написанные на C и C++; программы, написанные на языках сценариев, таких как shell, Perl, Python, Ruby и др.

• Встроенной командой, реализованной внутри самой командной оболочки. Командная оболочка bash поддерживает множество внутренних команд, которые так и называют — встроенными (shell builtins). Команда cd, например, — это встроенная команда.

• Функцией командной оболочки. Функции командной оболочки (shell functions) — это миниатюрные сценарии на языке командной оболочки, встроенные в окружение. Мы еще вернемся к вопросам настройки окружения и создания функций командной оболочки в последующих главах, а пока просто помните об их существовании.

• Псевдонимом. Псевдоним (alias) — это команда, которую мы можем определить сами, сконструировав ее из других команд.

Идентификация команд


Часто бывает полезно точно знать, какому из четырех типов принадлежит команда, и Linux предлагает пару способов узнать это.

type — получение типа команды


Команда type — это встроенная команда, которая сообщает тип указанной ей коман­ды. Вызывается она следующим образом:

>type команда

где команда — это имя исследуемой команды. Например:

>[me@linuxbox ~]$ type type

type встроена в оболочку

>[me@linuxbox ~]$ type ls

ls является алиасом для `ls --color=tty'

>[me@linuxbox ~]$ type cp

cp хэширована (/bin/cp)

Здесь мы видим результаты определения типов трех разных команд. Обратите внимание, что команда ls (в дистрибутиве Fedora) фактически является псевдонимом (alias) команды ls с параметром --color=tty. Теперь-то мы знаем, почему результаты команды ls отображаются в цвете!

which — определение местоположения выполняемого файла


Иногда в системе имеется более одной версии исполняемой программы. Это довольно редкое явление для настольных систем, но вполне обычное для больших серверов. Точно определить местоположение данного исполняемого файла позволяет команда which: