При работе с командами ОС Linux необходимо придерживаться следующих общих требований:
Каждая команда имеет следующий синтаксис: команда [опции] опции [аргументы] аргументы. В квадратных скобках обозначаются необязательные опции и аргументы, без которых команда будет выполнена. Обязательные опции и аргументы обозначаются без квадратных скобок. Некоторые команды могут вообще не содержать обязательных опций или аргументов.
Каждое слово в строке отделяется от предыдущего пробелом.
Опции, состоящие из одного символа, начинаются, как правило, со знака «-» .
Опции, состоящие из целого слова, начинаются, как правило, со знака «--».
Как правило, каждой опции, состоящей из целого слова, соответствует аналогичная опция, состоящая из единичного символа, например команда df -к равнозначна команде df --kilobytes. Для экономии времени рекомендуется использовать сокращенный вариант опций.
Единичные опции можно группировать вместе, например, набор опций «-а -Ь -с» соответствует следующей комбинации опций «-abc».
При написании нескольких команд на одной строке их необходимо разделять знаком «;».
Для переноса ввода команды на следующую строку, например при написании достаточно длинных команд, используется символ «\». После ввода символа «\» и нажатия клавиши ввода , отображается вторичное приглашение командного интерпретатора, после которого можно продолжать ввод команды.
Существуют специальные метасимволы, которые имеют особое значение в процессе интерпретации:
Перенаправление ввода и вывода (). Вывод любой команды может быть перенаправлен в файл. Каждая команда считывает данные из стандартного канала ввода или из файла. [root@main ~]# echo Sshell > /tmp/shell.name [root@main ~]# cat < /tmp/shell.name /bin/bash Листинг 2.1. Перенаправление ввода и вывода. В первой строке листинга 2.1 осуществляется перенаправление вывода команды echo в файл /tmp/shell.name. Встроенная команда echo используется для вывода всех своих аргументов на экран терминала. В качестве аргумента команды echo используется подстановка значения переменной SHELL. В данной переменной содержится путь к программе текущего командного интерпретатора. Во второй строке листинга 2.1 на вход команде cat подается содержимое файла /tmp/shell.name. Команда cat получив данные на вход из файла /tmp/shell.name, выводит их на экран терминала.
Перенаправление стандартного вывода одной команды на стандартный ввод другой команды (|). Основная идеология работы с командами ОС Linux заключается в том, что для решения сложной задачи используются более простые команды, объединенные между собой каналами перенаправления | . Рассмотрим листинг 2.2. [root@main ~]# echo $SHELL | tr [a-z] [A-Z] /BIN/BASH Листинг 2.2. Неименованный канал. В первой строке листинга 2.2 вывод команды echo перенаправляется на вход команды tr, которая осуществляет преобразование всех строчных букв в прописные.
Для удобства и быстроты работы с командами существуют специальные сочетания клавиш («горячие» клавиши), которые позволяют вводить команды и перемещаться строке намного быстрее, чем при использовании стандартных методов ввода данных. В приложении 2.1 представлены основные сочетания клавиш, используемые в командном интерпретаторе bash. Основные команды ОС Linux, как встроенные в командный интерпретатор bash, так и выполненные в виде отдельных бинарных файлов, условно можно разделить на группы, представленные в приложении 2.2.