Командний рядок

Інструменти командного рядка

Інструменти командного рядка (англ. command line tools) — це програми, якими користуються через інтерфейс командного рядка (CLI), а не через графічний інтерфейс (GUI). Такі інструменти виконують завдання за текстовими командами, які вводяться в терміналі або консольному вікні. Інструменти командного рядка поширені в різних операційних системах, зокрема Linux, macOS і Windows, і без них не обходяться системне адміністрування, розробка програмного забезпечення та обробка даних.

Ці інструменти дають потужні можливості, які часто можна поєднувати або запускати у скриптах, щоб автоматизувати складні робочі процеси. Приклади інструментів командного рядка: програми для роботи з файлами на кшталт cp і mv, текстові редактори vim і nano, мережеві інструменти ping і ssh. Їх цінують за швидкість, гнучкість і контроль над системою та файлами.

Поради та хитрощі

Зупинити команду

  • Натисни Ctrl + C: перервати поточну команду й повернутися до запрошення термінала.

Це дуже виручає, якщо випадково запустити команду, яка виконується занадто довго або поводиться дивно. Комбінація також працює, коли команда чекає на ввід, а його треба скасувати. Зрештою, це швидкий спосіб почати заново, якщо в набраній команді є помилка.

Автодоповнення

  • Натисни Tab: доповнити, коли збіг лише один.
  • Натисни Tab двічі: показати варіанти, коли збігів кілька.

Це працює для команд, файлів, директорій і багатьох опцій. Наприклад:

  • gigit
  • cd Doccd Documents/
  • git chgit checkout/git cherry-pick

Історія команд

  • Натисни Up / Down: гортати команди, які запускалися раніше.
  • Натисни Ctrl + R: зворотний пошук по історії команд (набирай текст для фільтрації, Enter — щоб запустити).
  • history: вивести список історії.
  • !!: повторити останню команду.

Аргументи, лапки та спеціальні символи

Передаючи аргументи командам, зважай на пробіли та спеціальні символи. Якщо шлях або назва файла містить пробіли, візьми шлях у лапки (" або '), щоб він сприймався як один аргумент. Як варіант, можна екранувати пробіл зворотною скісною рискою (\). Наприклад:

  • Неправильно: rm My Project (буде сприйнято як видалення двох різних шляхів: My і Project)
  • Правильно:
    • rm "My Project"
    • git add 'My Project'
    • git add My\ Project

Якщо не закрити лапки як слід, термінал вважатиме, що набір аргументу ще триває, і чекатиме на завершення (показуючи dquote> на новому рядку). Або закрий лапку на новому рядку, або скасуй усе через Ctrl + C.

Багаторядкові аргументи

Натискання Enter у терміналі зазвичай одразу виконує набрану команду.

Проте іноді довгу команду чи аргумент хочеться розбити на кілька рядків для кращої читабельності. У такому разі постав зворотну скісну риску (\) в кінці рядка — вона позначає, що команда продовжується на наступному рядку. Наприклад:

Виконай у терміналі:
git rebase -i HEAD~5 \
--autosquash \
--keep-empty

Але тут є маленька пастка: такі зворотні скісні риски впливають лише на те, як команда відображається в терміналі; справжні переноси рядків у сам аргумент не вставляються. Наприклад:

Виконай у терміналі:
echo "First line\
Second line"

Результат:

Результат:
First lineSecond line

Щоб вставити в рядок справжні переноси, потрібно додати символ нового рядка (позначається як \n) всередині лапок, ось так:

Виконай у терміналі:
echo "First line\nSecond line"

Або, якщо хочеться відформатувати текст на кілька рядків:

Виконай у терміналі:
echo "First line\n\
Second line"

Це виведе:

Результат:
First line
Second line