Структура команд.
Вне зависимости от того какую команду или программу вы пытаетесь вызвать к исполнению в bash: встроенную в ядро операционной системы или например написанную программу вами самим, у всех них будет общая структура вызова в командной строке. И в общем виде эту структуру можно представить следующим образом:
- На первом месте идет имя команды (что делать);
- Далее за именем команды идут ключи (опции), расширяющие и/или модифицирующие поведение команды (как делать);
- За ключами идут аргументы, на которые направлено действие команды (над чем делать).
$ command [options] [arguments]
Стоит понимать, что в большинстве документаций принято квадратными скобками отмечать параметры которые необязательно должны присутствовать. Так и здесь, команда или программа в bash может быть запущена без ключей и аргументов (например команда pwd, возвращает текущий путь).
Команда может быть запущена только с ключами (например команда ls -l, возвращающая содержимое каталога с их метаданными).
Или только с аргументами (например команда cd /etc, для перемещения в каталог /etc ).
Аргументов может быть более одного и в общем случае это имена файлов разделенные пробелами (например команда touch file1 file3 file5, которая в данном случае в текущей директории создаст 3 файла с указанными именами, если таких файлов не существует ).
Все UNIX являются операционными системами, учитывающими регистр букв, поэтому одновременно в одном каталоге могут существовать два файла с именами FiLe1 и file1 , т.к. для операционной системы это разные файлы. Но при работе с системой следует ориентироваться на нижний регистр, так например команду pwd оболочка bash выполнит, а вот команда PWd, уже ей не знакома и попытка вызова такой команды закончится информационным сообщением.
Два вида ключей.
Следует знать, что ключи которые вводятся следом за именем команды в мире Linux бывают двух типов:
- Короткие (один латинский символ)
- Длинные (как правило длинные ключи являются человеко-читаемыми).
Рассмотрим применение коротких опций подробнее на примере команды ls, выводящей на экран содержимое каталогов. Так при вызове команды ls без ключей, на экран будет выведены все файлы, имеющиеся в текущем каталоге в явном виде.
Для того, чтобы изменить поведение команды, можно вызвать ее с коротким ключем -a (от английского all — все). Тогда на экран будут выведены все файлы и каталоги в том числе скрытые. Названия таких скрытых файлов в Linux системах начинается с точки.
Удобство коротких ключей заключается в том, что для модификации поведения команды мы можем указывать все нужные опции в одном вызове, и более того можно группировать их подряд. Команда с тремя ключами ls -l -a -i равносильна записи ls -lai.
Если короткие ключи начинаются с символа одного знака — и их можно группировать подряд, то ключи длинные начинаются с двух знаков — и всегда передаются в вызов команды отдельно друг от друга. Так у команды ls, рассмотренной выше есть длинные ключи — all и —inode , и эти длинные ключи являются синонимами коротких -a и -i, применять можно и те другие по вашему усмотрению.
Команды ниже получаются равносильными друг другу
$ ls -lai
$ ls -l --all --inode
Резюмируем:
Для вызова команды в оболочке bash вначале указывается имя команды и опционально ключи и аргументы. При этом можно использовать как короткие, так и длинные ключи в одном вызове по вашему желанию.