Коли ти запускаєш термінал, у ньому починає виконуватись оболонка (shell), яка чекає від тебе команд, щоб їх виконати.
ВАЖЛИВО: В оболонці ти бачиш запрошення (shell prompt), наприклад:
[rino@arch-desktop ~]$
Останній символ запрошення завичай знак доллара $
. Якщо ж там не знак доллара, а гратки #
, це означає, що ти працюєш від імені адміністратора (root user) та маєш адміністративні привілеї. Ніколи не працюй від імені адміністратора, якщо у цьому немає нагальної потреби.
ВАЖЛИВО: В UNIX-подібних ОС регістр літер розрізняється, тому команда cd
є, а команди CD
немає (зазвичай).
Під командою ми розуміємо:
- файл окремої програми у твоїй ОС, які є двійковими виконуваними файлами (те, що у вінді
*.exe
) - вбудовану команду оболонки, це теж програма, але вона є однією з програм оболонки
- функцію оболонки, це звичайний скрипт, написаний у текстовому редакторі
- Псевдонім для якогось з типів команд вище
Вбудована команда оболонки type
дозволяє зрозуміти, який саме це тип, але це зараз знати непотрібно. :)
Команда зазвичай має аргументи та параметри. Аргументи — це щось, що МОЖЕ бути потрібно команді для роботи. Опції — це також аргументи, які змінюють поведінку команди.
Існують короткий формат запису одних і тих самих опцій (1 літера, наприклад v
або l
) та довгий (те саме, але більш human readable — long
або verbose
).
Усі короткі опції МУСЯТЬ містити перед сорбою дефіс -
:
command -a -s -f filename
Довгі опції МУСЯТЬ містити перед сорбою 2 дефіси підряд --
:
command -a --some-long-option -f filename
Зазвичай, опції так і пішуть у документації з дефісами:
-v, --verbose
always print headers giving file names
Параметр — це аргумент, який дає певну інформацію команді або якійсь із її опцій. Напр., у -o file
, file
— це параметр опції -o
. Опції та аргументи зазвичай є частиною самої команди, тобто задані у її коді, а параметри — ні, тобто користувач може вказати будь-що.
ВАЖЛИВО: Усі аргументи та параметри МУСЯТЬ бути розділені мінімум одним пробілом, за винятком випадку, коли у неас є короткі опції без аргументів, тоді їх МОЖНА групувати після дефісу:
command -as -f filename
тобто -as
це дві опції, скомбіновані в один аргумент. Довгі та короткі опції НЕ МОЖНА змішувати таким чином.
Порядок завжди такий: команда, опції (та їх агрументи), аргументи. Зазвичай після аргументів опцій вже бути не повинно (так склалося історично). Опції та аргументи не завжди обов'язкові. Необов'язкові опції та аргументи в описах команд позначаються у квадратних дужках [ ]
, обов'язкові — без таких дужок. Тобто, коли ти бачиш:
command [опції] файл
це означає, що команда command
має необов'язкові опції
та один обов'язковий агрумент файл
.
Приклад 1:
command -v -o file
Тут у команди command
є дві опції -v
та -o
, причому опція -o
має параметр file
.
Приклад 2:
ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-B bind_interface]
-4
, -6
, -A
, ... -y
— необов'язкові короткі аргументи, -B
— теж необов'язкорвий короткий аргумент з параметром bind_interface
.
Майже усі команди мають опцію -h
, яка дозволяє отримати кортоку довідку. Переважна частина команд МОЖЕ також мати тотожну опцію --help
.
Більшість команд МОЖЕ мати також man page (manual page, довідкову сторінку). Переглянути її можна, виконавши команду man команда
, наприклад man head
або навіть man man
.