Главная / Основы UNIX / Структура команд UNIX
Структура команд UNIX PDF Печать E-mail
Статьи - Основы UNIX

Структура команд UNIX

Прежде чем выполнить команду, шелл производит определенную последовательность действий:

  • Анализирует синтаксис команды. Если обнаружена синтаксическая ошибка, выводится соответствующее сообщение. При этом шелл анализирует командную строку в соответствии с синтаксисом собственного языка, а не семантику вызова конкретной команды, например, наличие тех или иных аргументов.
  • Производит некоторые подстановки:
    • Заменяет указанные переменные их значениями. Например, если значение переменной var равно /usr/bin то при вызове команды find $var -name firefox -ls фактически будет запущена команда find /usr/bin -name firefox -ls
    • Формирует списки файлов, заменяя шаблоны. При этом производится подстановка следующих шаблонов:
      * – соответствует любому имени файла (или его части), кроме скрытых файлов (это файлы, имя которых начинается с точки)
      [abc] – соответствует одному любому символу из перечисленных в квадратных скобках (здесь: a либо b либо c)
      ? – соответствует любому одиночному символу
  • Делает соответствующие переназначения потоков ввода/вывода, если указаны соответствующие символы перенаправления ( >, <, >>, | )
  • Выполняет команду, передавая ей аргументы с выполненными подстановками. При этом:
    • Если команда является заранее определенной (например, пользователем) функцией, вызывается эта функция
    • Если команда является встроенной командой шелла, выполняется эта встроеннная команда
    • В противном случае производится поиск программы в каталогах, перечисленных в переменной окружения PATH, если имя программы указано без пути. Если команда содержит элементы пути (относительный или абсолютный путь), производится запуск программы по указанному пути. Если программа не найдена, выводится сообщение об ошибке.

Общий способ использования команд выглядит следующим образом:

<команда> <ключи> <аргументы>

  • команда (программа) – определяет необходимое действие (что делать?)
  • ключи (опции) – как делать?
  • аргументы – с чем делать?

Формат ключей

Ключи без параметров:
-a
-a -l
или -al
или -la

Ключи с параметрами:
-i fxp0
-ni fxp0
-nifxp0

Длинные ключи:
--prefix=/usr/local
--exclude /usr/ports

Примеры использования команды ls

ls -a
ls -al
ls -l /bin

Исключения

Некоторые команды имеют формат указания ключей и аргументов, отличающийся от стандартного:

find /usr/share -name '*html'
ps ax
tar xf archive.tgz

 

Добавить комментарий


Защитный код
Обновить