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

Нажмите на пункт Настройки (⚙️) и снимите галочку с пункта "Отображать навигационную панель плагина":

1
Задача
Docker SELF, 1 уровень, 4 лекция
Недоступна
Определение текущего пользователя
Определение текущего пользователя
1
Задача
Docker SELF, 1 уровень, 4 лекция
Недоступна
Определение текущей директории
Определение текущей директории
1
Задача
Docker SELF, 1 уровень, 4 лекция
Недоступна
Создание и перемещение
Создание и перемещение
1
Задача
Docker SELF, 1 уровень, 4 лекция
Недоступна
Создание и перемещение
Создание и перемещение
3
Задача
Docker SELF, 1 уровень, 4 лекция
Недоступна
Знакомство с Linux
В этом видео мы рассмотрим историю Linux и его преимущества, изучим популярные дистрибутивы, а также научимся работать с Linux под Windows с помощью WSL. Освойте командную строку (CLI): изучите навигацию ($$ls, cd, pwd$), установку дистрибутивов и главные команды для создания, копирования, перемещения и удаления файлов.
Комментарии (9)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Dack2 Уровень 2
13 января 2026
для vsCode плагин не планируется?
Gans Electro Уровень 4
21 декабря 2025
Как настроить Run Config?
Gans Electro Уровень 4
7 января 2026
Никак, оказывается просто будем работать параллельно отдельно в терминале, отдельно в IDEA. Можно сделать так. Setting -> Tools -> Terminal и в Application Setting в строке "Shell path" ставить "wsl.exe -d Ubuntu" или лучше "wsl.exe". Тогда внизу когда открывается терминал он сразу открывается в внутри Linux
Mr. Shmel Уровень 1
24 февраля 2025
Не сильно понимаю ребята в чем проблема. Все же супер легко, обновляете плагин от Javarush, включаете в InteliJ плагин -> Shell script и будет вам счастье :) Можно проверять и сдавать задачи без каких либо проблем. Чтобы стать гуру, нужно же самому иногда думать :)
Дмитрий Уровень 2
22 августа 2025
Жаль только, что всё равно ничего не работает.
Vitalii Уровень 12
24 февраля 2025
в pycharme можно задачи делать? открыл первую задачу, ввел в терминале команду, нажимаю validate пишет задача не прошла валидацию.как делать-непонятно..
Дмитрий Уровень 2 Expert
24 февраля 2025
В чём смысл этих "задач", если в среде выполнения нельзя даже команду выполнить? Какое ещё "Дерево классов"? Я понимаю, что среду делали по принципу CTRL+C - CTRL+V из курса по Java, но хоть какое-то тестирование же должно было быть перед тем, как курсы продавать?
Mr. Shmel Уровень 1
24 февраля 2025
Установи плагин в InteliJ "Shell script" и все можно будет запустить и проверить :)
YuriSt Уровень 2
22 февраля 2025
Пока эти задачи простые и есть явные подсказки в условии.