Большинство команд, которые дают в оболочке Linux, состоят не из одного слова (сокращения слова). Чаще команды дополняются специальными параметрами (аргументами и ключами). Таким образом происходит конкретизация и модификация команды. Если провести аналогию между поведением командной оболочки и поведением человека, то можно сказать, что для человека слово "иди" - это команда, а слова "на остановку" - это параметр. Параметры позволяют более точно сформулировать то, что мы хотим.
Например, команда cal без параметров выдает календарь на текущий месяц.

Однако может потребоваться получить календарь на весь год. Тогда следует дать команду cal 2009. В данном случае "2009" - это аргумент (операнд). Кроме того, можно получить календарь абсолютно любого месяца; в этом случае команде передаются два аргумента: номер месяца и год.

Обратите внимание, что в ответе командной оболочки неделя начинается с воскресенья. Это как-то не по русски. Для того, чтобы неделя начиналась с понедельника необходимо использовать ключ (опцию) -m (от англ. Monday – понедельник). Ключи предназначены для изменения поведения команды.

Команда echo (эхо) выводит строку, переданную ей в качестве аргумента. Если написать команду без параметра, то она выдаст пустую строку.

В последнем вызове команды используется ключ -n, который запрещает переход на новую строку, поэтому приглашение командной оболочки выводится в той же строке, что и вывод команды echo.
Рассмотрим некоторые ключи и параметры уже знакомой нам команды ls, которая выдает список файлов и папок текущего каталога (однако, как мы узнаем далее, не обязательно текущего).

Если команду ls использовать с ключом -l, то вывод будет более информативным.

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

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

До сих пор мы рассматривали команды, которые можно использовать без параметров. Однако существует ряд команд, которые без переданных им аргументов теряют всякий смысл и поэтому требуют обязательного наличия аргумента. Одной из таких команд является sleep (сон). Эта команда заставляет оболочку bash выполнить задержку перед следующей командой. А параметр, передающийся sleep, указывает какую именно задержку (сколько секунд, минут и т. д.). При интерактивной работе с bash данная команда особого смысла не имеет; однако часто для командной оболочки пишут сценарии (файлы с командами), и вот там иногда требуется выполнить задержку.

В приведенном примере сначала команда записана без аргумента, поэтому получено соответствующее сообщение. Далее два вызова делают одно и тоже (задерживают на 3 секунды). Если вместо суффикса s использовать m, то задержка будет измеряться в минутах.