Представление о командах оболочки

Как и следует из названия, основное назначение командной оболочки — ввод и исполнения команд. Для ввода служит т.н. командная строка, содержащая приглашение к вводу. По умолчанию в ASPLinux она имеет вид

[username@localhost username]$

при авторизации от имени обычного пользователя, и

[root@localhost root]#

если запущен сеанс администратора. Группа символов в квадратных скобках— сообщение командной строки, — указывает на имя пользователя ( username или root ), имя машины (в данном случае — localhost ), текущий каталог, которым в момент авторизации является домашний каталог пользователя ( username или root ). Символы $ или # — собственно приглашение к вводу, — традиционно различаются для обычного пользователя и администратора. Приведенные формы — $ и #, соответственно, — приняты по умолчанию практически во всех оболочках для всех LINUX-систем. Однако пользователь, как будет показано ниже, может менять вид приглашения командной строки.

Далее в командной строке вводятся собственно команды — некие последовательности символов, которые нажатием клавиши Enter отправляются на исполнение. Например, команда

ls

выведет на экран список файлов, содержащихся в текущем каталоге. Команды могут быть внутренними для данной оболочки и внешними (общесистемными). Последние — это просто любые исполняемые двоичные файлы, расположенные обычно в каталогах /bin , /sbin , /usr/bin и т.п. Собственно к оболочке они не имеют никакого отношения. Примером такой команды является приведенная выше /bin/ls .

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

Display all 2560 possibilities? (y or n)

где конкретное число зависит от установки дистрибутива. Если согласиться с предложением, нажав клавишу y , на экран будут выведены все доступные в системе команды.

Следует подчеркнуть, что абсолютно любая программа для Linux может быть запущена из командной строки, хотя и не обязательно в консоли — для запуска программ графического режима потребуется предварительный запуск X Window System и вызов ихиз командной строки окна терминала. Все прочие способы запуска программ (например, из стартовыхменю или панелей интегрированных сред и оконных менеджеров, иконками на ихрабочихстолах и т.д.) являются дополнительными к этому универсальному способу.

Внутренние команды встроены в саму оболочку, т.е. им не соответствуют никакие исполняемые файлы. Так, бесполезно было бы искать в составе файловой системы файлы, соответствующие командами cd (переход в другой каталог) или pwd (абсолютный путь к текущему каталогу). Полный список вну-треннихкоманд bash (а ихболее 50) можно получить командой help .

Кроме встроенных и внешних команд, в среде командной оболочки могут исполняться т.н. пользовательские сценарии, или скрипты. Подобно внешним командам, это также исполняемые файлы, однако не бинарные, а текстовые. Они составляются в соответствии с синтаксисом языка оболочки и интерпретируются ею при запуске. Подробнее вопрос о сценарияхбудет рассмотрен ниже.

Большинство команд любого рода исполняется при наличии некоторых параметров, или опций, уточняющих условия их выполнения, и аргументов, в отношении которых команды исполняются. Наиболее часто это выглядит следующим образом:

имя_команды --опция1 ...—опция99 аргумент1 ... аргумент99

или, в сокращенной форме,

имя_команды -abed аргумент1 ... аргумент99

Команды, опции и аргументы обязательно отделяются пробелами. Если имена опций даются в полной форме (например, --verbose), при использовании более чем двух опций они также разделяются пробелами, и перед каждой ставится двойной дефис. При сокращенной нотации перед всей группой опций (каждая из которых передается первым символом полного наименования) ставится одинарный дефис. Впрочем, это наиболее типичная, но не обязательная форма. Некоторые команды допускают только полную нотацию опций, например, для получения справки о команде копирования может использоваться только

ср--help но не

ср-h

С другой стороны, существуют команды, не нуждающиеся в знаке дефиса перед опциями, например, команда tar для работы архивами. В любом случае, исчерпывающие сведения о возможныхопцияхи аргументах подавляющего большинства команд Linux можно получить, посмотрев соответствующие страницы руководства.

Еще материалы по теме: