Командная строка: 50 команд

Многие новички в IT воспринимают командную строку (CLI — Command Line Interface) как какой-то пережиток эпохи дискет и громоздких мониторов. Кажется, что в эпоху IDE с автодополнением и графических интерфейсов (GUI) вбивать команды вручную — это мазохизм. Но правда в том, что GUI — это всего лишь надстройка. Когда сервер «лежит», когда нужно автоматизировать рутину или когда нужно вытащить конкретную строку из лога в 2 гигабайта, никакой курсор мыши вам не поможет.
В этой статье я собрал «золотой фонд» команд для двух самых популярных сред: Linux/macOS (Bash/Zsh) и Windows (CMD/PowerShell). Я разбил их по категориям, чтобы вы могли использовать этот текст как справочник.
Почему CLI до сих пор актуален?
Прежде чем переходить к спискам, коротко о главном. Командная строка дает три преимущества:
- Скорость. Опытный пользователь выполняет задачу за 5 секунд, пока другой ищет нужную вкладку в настройках.
- Автоматизация. Скрипты (Bash или PowerShell) позволяют повторять однотипные действия тысячи раз без ошибок.
- Удаленный доступ. 99% серверов в мире управляются через SSH. Там просто нет графического интерфейса.
Часть 1: Навигация и работа с файловой системой (Linux/macOS)
Это база. Если вы не умеете перемещаться по папкам, дальше идти смысла нет.
pwd— (Print Working Directory) показывает, где вы находитесь в данный момент.ls— список файлов и папок. Добавьте-la, чтобы увидеть скрытые файлы и права доступа.cd— переход в директорию.cd ..вернет вас на уровень выше.mkdir— создание новой папки.touch— создание пустого файла.cp— копирование. Для папок используйтеcp -r.mv— перемещение или переименование файла.rm— удаление. Будьте осторожны сrm -rf, эта команда стирает всё без возможности восстановления из корзины.find— поиск файлов по всей системе.locate— быстрый поиск файла по индексированной базе (работает быстрее, чем find).
Часть 2: Работа с текстом и анализ логов
В IT работа с текстом — это 70% времени. Логи, конфиги, JSON-файлы — всё это текстовые данные.
cat— выводит всё содержимое файла на экран.less— открывает файл для чтения с возможностью прокрутки (удобно для больших файлов).head— показывает первые 10 строк файла.tail— показывает последние 10 строк. Командаtail -fнезаменима для мониторинга логов в реальном времени.grep— поиск строки по шаблону. Самый мощный инструмент фильтрации.sed— потоковый редактор. Позволяет заменять текст в файлах прямо из консоли.awk— мощный инструмент для обработки столбцовых данных.sort— сортировка строк.uniq— удаление дубликатов из списка.diff— сравнение двух файлов. Показывает, что именно изменилось.
Часть 3: Системное администрирование и мониторинг
Когда нужно понять, почему компьютер тормозит или какой процесс «съел» всю оперативную память.
top— классический диспетчер задач.htop— улучшенная версияtopс цветами и возможностью управления мышью (нужно устанавливать отдельно).ps aux— выводит список всех запущенных процессов в системе.kill— принудительное завершение процесса по его ID (PID).killall— завершение всех процессов с определенным именем.df -h— проверка свободного места на дисках в человекочитаемом виде.du -sh— узнать размер конкретной папки.chmod— изменение прав доступа к файлу (например,chmod +xделает файл исполняемым).chown— смена владельца файла или группы.sudo— выполнение команды от имени суперпользователя (администратора).
Часть 4: Сеть и диагностика
Если «интернет не работает», начинать нужно именно отсюда.
ping— проверка доступности узла по сети.ifconfig(илиip a) — просмотр IP-адреса и настроек сетевых интерфейсов.netstat(илиss) — просмотр всех открытых портов и активных соединений.curl— отправка HTTP-запросов. Основной инструмент для тестирования API.wget— скачивание файлов из сети.ssh— безопасное удаленное подключение к другому серверу.scp— копирование файлов между серверами по протоколу SSH.nslookup(илиdig) — проверка DNS-записей домена.traceroute— отслеживание маршрута пакета до цели (показывает, на каком узле происходит задержка).telnet— проверка доступности конкретного порта на сервере.
Часть 5: Инструменты Windows (CMD и PowerShell)
В Windows свои особенности. Хотя современный PowerShell поддерживает многие алиасы из Linux, базовые команды всё еще актуальны.
dir— аналогls, список файлов в папке.cd— навигация (работает так же, как в Linux).ipconfig— аналогifconfig, просмотр сетевых настроек.ping— проверка связи (аналогично Linux).tracert— аналогtraceroute.netstat -an— список всех соединений и портов.tasklist— список всех запущенных процессов.taskkill /F /PID [номер]— принудительное завершение процесса.cls— очистка экрана консоли (аналогclearв Linux).systeminfo— вывод детальной информации о системе и железе.
Лайфхаки для профи: как работать быстрее
Знать команды — это хорошо, но использовать их эффективно — еще лучше. Вот несколько советов, которые сэкономят вам часы работы:
1. Конвейер (Piping)
Самая крутая фишка Unix-систем — это символ |. Он позволяет передавать вывод одной команды на вход другой.
Пример: ps aux | grep nginx — мы берем список всех процессов и фильтруем его, оставляя только те, где упоминается «nginx».
2. Перенаправление вывода
-
>— записывает результат команды в файл, затирая старое содержимое.
-
>>— добавляет результат в конец файла (полезно для логов).
-
- Пример:
ls > files.txt— список всех файлов сохранится в текстовый документ.
- Пример:
3. Горячие клавиши
-
Tab— автодополнение. Никогда не пишите длинные пути или имена файлов вручную. Нажали Tab — консоль дописала за вас.
-
Ctrl + C— мгновенная остановка любой выполняемой команды.
-
Ctrl + R— поиск по истории команд. Начните писать часть команды, и терминал найдет ее в истории.
Заключение
Командная строка — это не про «хакерство» из фильмов, а про эффективность. Начать будет сложно: кажется, что проще кликнуть мышкой. Но как только вы освоите комбинацию из grep, awk и ssh, возврата к чистому GUI уже не будет.
Рекомендую не пытаться выучить все 50 команд за один вечер. Выберите одну категорию, откройте терминал и попробуйте применить эти команды на практике. Лучший способ запомнить — это когда команда решает вашу реальную проблему прямо сейчас.

