Найти в Дзене

Linux cli

CLI (Command Line Interface) — интерфейс взаимодействия с системой через текстовые команды в терминале. Отличается от графического интерфейса (GUI) большей гибкостью, скоростью и возможностями автоматизации. В большинстве дистрибутивов Linux терминал можно открыть: Для повторения действий создавайте bash‑скрипты: #!/bin/bash
for файл in *.log; do
gzip "$файл"
done Сохраните файл с расширением .sh и запустите через $ ./имя.sh (предварительно выдав права: $ chmod +x имя.sh). Важно: CLI чувствителен к регистру! Команды Ls и ls — не одно и то же.
Оглавление

Основы работы с CLI в Linux

CLI (Command Line Interface) — интерфейс взаимодействия с системой через текстовые команды в терминале. Отличается от графического интерфейса (GUI) большей гибкостью, скоростью и возможностями автоматизации.

Запуск терминала

В большинстве дистрибутивов Linux терминал можно открыть:

  • через главное меню (поиск по слову «Терминал»);
  • комбинацией клавиш Ctrl + Alt + T.

Базовые команды работы с файловой системой

  1. Навигация:
    $ cd /путь — переход в указанную директорию;
    $ cd .. — подняться на уровень выше;
    $ cd ~ — перейти в домашнюю директорию;
    $ cd - — вернуться в предыдущую директорию;
    $ pwd — показать текущий путь.
  2. Просмотр содержимого:
    $ ls — список файлов и директорий;
    $ ls -lah — подробный список с правами и размерами.
  3. Работа с файлами и директориями:
    $ mkdir dir — создать директорию dir;
    $ cp файл1 файл2 — скопировать файл1 в файл2;
    $ mv файл1 файл2 — переместить/переименовать файл1 в файл2;
    $ rm файл — удалить файл;
    $ rm -r директория — удалить директорию рекурсивно.
  4. Поиск:
    $ find /путь -name "шаблон" — поиск по имени;
    $ locate шаблон — быстрый поиск по базе;
    $ tree — визуализация структуры директорий.

Управление процессами

  • $ top или $ htop — мониторинг процессов в реальном времени;
  • $ ps aux | grep имя_процесса — поиск процессов по имени;
  • $ kill PID — завершить процесс по идентификатору;
  • $ kill -9 PID — принудительное завершение;
  • $ nice команда — запуск с низким приоритетом;
  • $ renice PID — изменение приоритета запущенного процесса.

Права доступа и безопасность

  • $ chmod права файл — изменение прав доступа (например, $ chmod 755 скрипт.sh);
  • $ chown пользователь:группа файл — смена владельца и группы;
  • $ sudo команда — выполнение от имени администратора.

Работа в сети

  • $ ping адрес — проверка доступности узла;
  • $ traceroute адрес — трассировка маршрута;
  • $ curl URL — загрузка данных по URL;
  • $ ip a — просмотр сетевых интерфейсов и IP-адресов;
  • $ netstat или $ ss — анализ открытых портов и соединений;
  • $ dig домен или $ host домен — проверка DNS-записей.

Современные альтернативные утилиты

  • $ bat — аналог cat с подсветкой синтаксиса;
  • $ exa — улучшенный ls с цветами и иконками;
  • $ fzf — fuzzy-поиск по истории и файлам;
  • $ rg (ripgrep) — быстрый поиск по содержимому файлов;
  • $ btop — визуальный монитор ресурсов.

Работа с удалёнными системами

  • $ ssh пользователь@хост — подключение по SSH;
  • $ scp файл пользователь@хост:путь — копирование файлов по SSH;
  • $ rsync опции источник цель — синхронизация данных;
  • $ tmux или $ screen — управление сессиями (защита от разрывов соединения).

Полезные приёмы

  1. Автодополнение: нажатие Tab дописывает команды и пути.
  2. Поиск по истории: Ctrl + R и ввод части команды.
  3. Справка:
    $ man команда — подробное руководство;
    $ команда --help — краткая справка.
  4. Перенаправление вывода:
    $ команда > файл — запись вывода в файл;
    $ команда >> файл — добавление в файл;
    $ команда | другая_команда — передача вывода через конвейер.

Текстовые редакторы в терминале

  1. nano:
    $ nano файл — открытие файла;
    Ctrl + O — сохранение;
    Ctrl + X — выход.
  2. vim:
    $ vim файл — открытие;
    i — вход в режим ввода;
    Esc — возврат в нормальный режим;
    :wq — сохранение и выход;
    :q! — выход без сохранения.

Автоматизация

Для повторения действий создавайте bash‑скрипты:

#!/bin/bash
for файл in *.log; do
gzip "$файл"
done

Сохраните файл с расширением .sh и запустите через $ ./имя.sh (предварительно выдав права: $ chmod +x имя.sh).

Важно: CLI чувствителен к регистру! Команды Ls и ls — не одно и то же.