Общая структура команд в консоли linux.

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

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

  1. На первом месте  идет имя команды (что делать);
  2. Далее за именем команды идут ключи (опции), расширяющие и/или модифицирующие поведение команды (как делать);
  3. За ключами идут аргументы, на которые направлено действие команды (над чем делать).

$ command [options] [arguments]

Стоит понимать, что в большинстве документаций принято квадратными скобками отмечать параметры которые необязательно должны присутствовать. Так и здесь, команда или программа в bash может быть запущена без ключей и аргументов (например команда pwd, возвращает текущий путь).

Пример выполнения команды pwd в bash
Вызов команды pwd без передачи ключей.

Команда может быть запущена только с ключами (например команда ls -l, возвращающая содержимое каталога с их метаданными).

Пример вызова команды ls c ключом -l
Пример вызова команды ls -l

Или только с аргументами (например команда cd /etc, для перемещения в каталог /etc ).

Аргументов может быть более одного и в общем случае это имена файлов разделенные пробелами (например команда touch file1 file3 file5, которая в данном случае в текущей директории создаст 3 файла с указанными именами, если таких файлов не существует ).

Пример вызова команды touch с тремя аргументами
Вызов команды touch с тремя аргументами. Проверка, что создались три файла при помощи команды ls.

Все UNIX являются операционными системами, учитывающими регистр букв, поэтому одновременно в одном каталоге могут существовать два файла с именами FiLe1 и file1 , т.к. для операционной системы это разные файлы. Но при работе с системой следует ориентироваться на нижний регистр, так например команду pwd оболочка bash выполнит, а вот команда PWd, уже ей не знакома и попытка вызова такой команды закончится информационным сообщением.

Linux учитывает регистр, на примере pwd и PWd.
Bash корректно интерпретирует команду pwd, но не ей неизвестна команда PWd.

Два вида ключей.

Следует знать, что ключи которые вводятся следом за именем команды в мире Linux бывают двух типов:

  • Короткие (один латинский символ)
  • Длинные (как правило длинные ключи являются человеко-читаемыми).

Рассмотрим применение коротких опций подробнее на примере команды ls, выводящей на экран содержимое каталогов. Так при вызове команды ls без ключей, на экран будет выведены все файлы, имеющиеся в текущем каталоге в явном виде.

Пример вызова команды ls без ключей
Вызов команды ls без передачи ключей возвращает список файлов в текущем каталоге.

Для того, чтобы изменить поведение команды, можно вызвать ее с коротким ключем -a (от английского all — все). Тогда на экран будут выведены все файлы и каталоги в том числе скрытые. Названия таких скрытых файлов в Linux системах начинается с точки.

Пример вызова команды ls с ключом -a
Вызов команды ls -a, выводит на экран как явные так и скрытые файлы.

Удобство коротких ключей заключается в том, что для модификации поведения команды мы можем указывать все нужные опции в одном вызове, и более того можно группировать их подряд. Команда с тремя ключами ls -l -a -i равносильна записи ls -lai.

Если короткие ключи начинаются с символа одного знака — и их можно группировать подряд, то ключи длинные начинаются с двух знаков — и всегда передаются в вызов команды отдельно друг от друга. Так у команды   ls, рассмотренной выше есть длинные ключи — all  и  —inode ,  и эти длинные ключи являются синонимами коротких -a и -i, применять можно и те другие по вашему усмотрению.

Команды ниже получаются равносильными друг другу

$ ls -lai
$ ls -l --all --inode

Пример вызова команды ls с длинными и короткими ключами
Вызов команды ls вначале с короткими ключами, а потом с их длинными аналогами. Результат будет одинаков.

Резюмируем:

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

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *