Skip to content

Instantly share code, notes, and snippets.

@ap-Codkelden
Last active January 30, 2021 14:43
Show Gist options
  • Save ap-Codkelden/9e063e52719d1f03c7a99800f8f83791 to your computer and use it in GitHub Desktop.
Save ap-Codkelden/9e063e52719d1f03c7a99800f8f83791 to your computer and use it in GitHub Desktop.
working with commads (uk-ua)

Команди, аргументи, опції, параметри

Коли ти запускаєш термінал, у ньому починає виконуватись оболонка (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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment