JavaRush /Курси /Docker SELF /Основи командного рядка (CLI): структура команд, робота з...

Основи командного рядка (CLI): структура команд, робота з терміналом

Docker SELF
Рівень 1 , Лекція 4
Відкрита

1. Знайомство з командним рядком Linux

Чому командний рядок?

Перш ніж ми зануримося глибше, давай відповімо на головне питання: навіщо взагалі потрібен командний рядок, якщо в Linux можна знайти гарні графічні оболонки? Командний рядок (Command Line Interface, CLI) — це інструмент професіоналів, системних адміністраторів та програмістів. За допомогою CLI ти можеш виконувати завдання швидше, автоматизувати рутинні дії та навіть творити закулісну магію, не відриваючи рук від клавіатури. CLI — це, по суті, суперсила у світі Linux, яка дозволить тобі бути ефективним.

Термінали, оболонки та CLI

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

1. Термінал

Термінал — це програма, що надає доступ до командного рядка. Вона дозволяє взаємодіяти з операційною системою за допомогою тексту. У Linux доступні такі популярні термінали:

  • GNOME Terminal (на GNOME).
  • Konsole (на KDE).
  • xterm (легендарний, але старенький).
  • Windows Terminal для WSL

2. Оболонка (Shell)

Оболонка — це програмне забезпечення, яке інтерпретує команди та передає їх операційній системі. У Linux найпопулярнішою оболонкою є Bash (Bourne Again Shell). Альтернативи:

  • Zsh: розширена командна оболонка для ентузіастів кастомізації.
  • Sh: класична Unix-оболонка (мінімалізм).

Для початку ми працюватимемо в Bash, адже це стандарт.


2. Структура команди

Команда в CLI має строгий формат, і його розуміння — це ключ до успіху.

Базовий формат команди

Кожна команда складається з трьох частин:

[Команда] [Опції] [Аргументи]
  • Команда: власне те, що ви просите систему зробити. Наприклад, ls (показати список файлів).
  • Опції (або флаги): модифікують поведінку команди. Наприклад, -l (детальний список для команди ls).
  • Аргументи: додаткові дані, які ви передаєте команді, наприклад, шлях до файлу або папки.

Приклад:

ls -l /home

Тут:

  • ls — команда;
  • -l — опція для відображення детального списку;
  • /home — аргумент (папка, вміст якої ми хочемо побачити).

3. Навігація і базові команди CLI

Почнемо з найпростіших команд, які демонструють взаємодію з системою.

1. Хто я? Де я?

  • whoami: показує поточного користувача.

    $ whoami
    student
    
  • pwd (print working directory): відображає поточну директорію.

    $ pwd
    /home/student
    
Важливо!

У більшості оболонок Unix/Linux символ $ використовується як запрошення (prompt) у терміналі. Він вказує, що система готова прийняти команду. Символ $ використовується для розділення команд, які користувач має ввести, від результату цих команд.

2. Дивимося навкруги

  • ls (list): показує вміст поточної директорії.

      $ ls
      Documents  Downloads  Music
    

    Корисні опції:

    • -l: детальна інформація про файли та папки.
    • -a: відображення прихованих файлів.

Приклад:

ls -la

3. Переміщення по папках

  • cd (change directory): дозволяє переходити між директоріями.
    $ cd /home
    $ pwd
    /home
    

4. Гарячі клавіші терміналу

Командний рядок пропонує ряд зручних комбінацій клавіш:

  • Ctrl+C: перериває виконання поточної команди.
  • Ctrl+D: завершує поточну сесію.
  • Tab: автозаповнення файлу або папки. Дуже корисна функція — користуйся частіше.
  • Arrow Up/Down: перемикання між останніми командами.

Практична примітка: якщо ти хочеш відчути себе хакером, то натисканняCtrl+C із відведенням погляду вбік — це ідеальний стиль.


5. Приклади простих команд: почнемо творити!

Давайте створимо просту практичну задачу і вирішимо її за допомогою CLI.

Завдання:

  1. Дізнатися поточного користувача.
  2. Переміститися в домашню директорію.
  3. Подивитися, що там є.
  4. Створити папку test_folder.
  5. Перевірити, чи з'явилася папка.

Рішення:


# Дізнаємося поточного користувача
whoami

# Переходимо в домашню директорію
cd ~

# Дивимося, що міститься в директорії
ls

# Створюємо папку
mkdir test_folder

# Перевіряємо її наявність
ls -l

Пояснення кроків:

  1. Командою whoami ми перевірили, під яким користувачем працюємо.
  2. За допомогою cd ~ перемістилися в домашню директорію. Символ ~ завжди вказує на домашню папку поточного користувача.
  3. Команда ls показала вміст директорії перед створенням папки, а потім і після.

6. Типові помилки та як їх уникати

Робота з командним рядком завжди супроводжується помилками, особливо спочатку. Ось декілька поширених ситуацій:

  • Пробіли в іменах файлів/папок. Якщо ви працюєте з іменами, що містять пробіли, обов’язково укладайте їх у лапки. Наприклад:

    mkdir "My Folder"
    
  • Неправильні шляхи. Якщо ви бачите повідомлення No such file or directory, значить ви вказали шлях, який не існує.

    cd /unknown/path
    
  • Друкарські помилки у командах. Термінал не пробачає помилок: lss замість ls — це інша команда (або її взагалі може не бути).


7. Навіщо це все потрібно?

CLI — це потужний інструмент для керування будь-якою системою. Його використовують скрізь: від налаштування серверів до написання автоматизованих скриптів. На співбесідах часто запитують команди для виконання задач через термінал, тож знання, які ви зараз отримуєте, обов'язково стануть у пригоді.

Додатково CLI допоможе вам освоїти роботу з системами контролю версій, як-то git, розробляти серверні додатки та писати скрипти для автоматизації. Все починається з розуміння таких основ, як структура команд, перехід між папками та базові сполучення клавіш.

Трохи практики

Спробуйте наступну задачу:

  1. Дізнатися поточну дату.
  2. Створити папку logs.
  3. Всередині неї створити файл log.txt із записом про поточну дату.
Приклад розв'язку

# Дізнаємося поточну дату
date

# Створюємо папку logs
mkdir logs

# Записуємо дату у файл log.txt
date > logs/log.txt

# Перевіряємо вміст файлу
cat logs/log.txt

Тепер ви готові до наступного рівня — роботи з файловою системою та її вмістом!

8. Що таке плагін JavaRush і для чого він потрібен?

Завдання можна вирішувати на сайті та в IDE JetBrains зі встановленим плагіном JavaRush і Shell Script (зазвичай Shell Script вже встановлений).

Якщо немає встановленої IDE, рекомендуємо встановити IntelliJ IDEA Community Edition.

  1. Інструкція, як встановити IntelliJ IDEA.
  2. Як створити перший проєкт.

Завантажити плагін JavaRush ви можете з маркетплейсу Jetbrains, прямо у своєму середовищі розробки.

  1. Зайдіть в розділ "Налаштування", Windows/Linux File - Settings, MacOS IntelliJ IDEA - Preferences. Якщо немає розділу налаштувань, відкрийте будь-який проєкт або створіть новий.

  2. У вікні, що з'явилося, в бічному меню виберіть розділ Plugins і відкрийте вкладку Marketplace. У рядку пошуку надрукуйте javarush

  3. Виберіть плагін і натисніть на кнопку Install.
  4. Перезавантажте (Restart IDE) IntelliJ IDEA, щоб почати роботу з плагіном.
  5. Ви побачите трохи змінений інтерфейс і кнопку Увійти в акаунт на верхній горизонтальній панелі.
  6. При натисканні відкриється вікно для входу у ваш акаунт, в якому потрібно ввести свій секретний ключ. Нагадаємо, що секретний ключ ви можете знайти в розділі “Налаштування” → “Безпека і вхід”.

  7. Щоб відкрити нове завдання, натисніть на Tasks в лівій вертикальній панелі, а потім на картку завдання в бічній панелі зліва, і у спливаючому вікні натисніть Відкрити:

  8. Перед вами відкрилося вікно з двома вкладками. Одна — з умовою, друга — для введення коду. І повідомлення від shellcheck для перевірки ваших shell-скриптів - погоджуємося
  9. Тепер друкуйте рішення завдання і тисніть на кнопку Validate для відправки завдання на перевірку або запустіть локально.

Ручна установка плагіна

  1. Завантажити плагін JavaRush
  2. Завантажити плагін Shell Script
  3. Зайдіть в розділ "Налаштування", Windows/Linux File - Settings, MacOS IntelliJ IDEA - Preferences.
  4. У вікні, що з'явилося, в бічному меню виберіть розділ Plugins і натисніть на шестірню (⚙️) і вибирай «Install Plugins from disk»
  5. Відкрийте папку, в якій лежить плагін. Виберіть його (архів) і натисніть OK Restart IDE.

Плагін встановлено! Тепер можна вирішувати завдання.

Синхронізація завдань сайт — плагін

Список завдань і їх статусів оновлюється автоматично, кожні п'ять хвилин або після відправки будь-якого завдання на перевірку (сервер javarush).

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

Режим новачка в плагіні

Це спрощена версія для тих користувачів, у яких немає (або мало) досвіду роботи з IntelliJ IDEA та іншими середовищами розробки. У ній приховані деякі функції IntelliJ IDEA. Щоб відключити цей режим натисніть на свій аватар (праворуч зверху), і в випадаючому меню виберіть пункт Налаштування:

Як приховати навігаційну панель плагіна в режимі PRO

Натисніть на пункт Налаштування (⚙️) і зніміть галочку з пункту "Відображати навігаційну панель плагіна":

Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ