
Когда я впервые перешел с Windows на Linux, меня напугал терминал. Черный экран с мигающим курсором казался архаичным по сравнению с отточенным графическим интерфейсом Windows. Зачем кому-то вводить команды, когда можно просто нажимать кнопки? О, как я ошибался.
Терминал — это не просто альтернативный интерфейс, это суперспособность, которая облегчает вам жизнь. Хотя сначала вам нужно будет изучить что-то новое, но, как только вы поймете основы, вы сможете легко выполнять множество сложных задач, используя всего несколько команд.
После нескольких лет использования Linux я наткнулся на несколько команд, которые полностью изменили мой рабочий процесс и показали мне, почему жизнь лучше без Windows. Это не просто команды; это возможности, которых Windows либо совсем не хватает, либо они плохо реализованы через неуклюжие интерфейсы и сторонние решения. Вот некоторые из них!
10 grep – Мгновенный поиск всего
В отличие от поиска содержимого файлов Windows, который может быть медленным и ограниченным графическим интерфейсом, инструмент Linux grep передает результаты на ваш терминал по мере их нахождения. Вы можете использовать grep для простого поиска в файлах, рекурсивного поиска, сопоставления с шаблоном или даже передавать его вывод другим командам.

Вам просто нужно задать шаблон (например, слово или фразу) и указать, где искать (файл, несколько файлов или даже вывод другой команды), например:
grep «важное примечание» ~/Documents/*.txt

С помощью этой простой команды я могу выполнить поиск по фразе «важная заметка» в каждом текстовом файле в папке «Документы». Результаты появятся через миллисекунды, показывая имя файла и строку, содержащую мой поисковый запрос.
grep не только для файлов — вы также можете передавать его в другие команды для фильтрации вывода. Например, если вы хотите вывести список всех процессов Chrome, вы можете запустить:
ps aux | grep «хром»
С grep вам не придется открывать каждый документ по отдельности или использовать медленную функцию поиска, которая, кажется, индексирует все, кроме того, что вы на самом деле ищете.
9 find – Точное обнаружение файлов
Не путайте find с grep, который отлично подходит для поиска текста в файлах. Хотя вы можете объединить grep и ls для поиска определенных файлов, команда find специально разработана для поиска самих файлов и каталогов. В отличие от Windows Search, который иногда пропускает скрытые или системные файлы, find позволяет вам указать именно то, что вам нужно — по имени, размеру, дате изменения или даже содержимому.

Давайте найдем все файлы журналов старше 30 дней с помощью этого:
найти /var/log -name «*.log» -type f -mtime +30

В Windows для этого потребуется сортировка по дате в File Explorer и ручная проверка каждой папки. С find это одна команда. Но find не просто находит файлы — он также может выполнять команды для них. Чтобы удалить все эти старые файлы журналов, выполните это:
найти /var/log -name «*.log» -type f -mtime +30 -delete
Такой уровень детального контроля над операциями файловой системы просто не встроен в стандартный интерфейс Windows.
8 APT, YUM/DNF, Pacman – Простая установка программного обеспечения
Чтобы установить любое программное обеспечение Windows, вам обычно нужно выполнить поиск в Интернете, загрузить установщик, щелкнуть по мастеру, отказаться от встроенной панели инструментов, дождаться установки, создать ярлык на рабочем столе и, наконец, запустить свою программу. В Linux вы можете сделать все это с помощью менеджеров пакетов с помощью одной команды.

Менеджеры пакетов Linux, такие как APT (Debian или Ubuntu), DNF (Fedora) или Pacman (Arch), делают этот процесс невероятно простым. Например, чтобы установить GIMP (редактор изображений) в системе на базе Debian, например Ubuntu, вы просто запускаете:
sudo apt установить gimp
Вот и все. Одна команда для установки GIMP вместе со всеми его зависимостями — никаких мастеров, никакого нежелательного ПО, никаких перезагрузок. Более того, вы также можете обновить все установленное ПО одновременно с помощью этого:
sudo apt update && sudo apt upgrade
Эта простая команда проверяет наличие обновлений для каждой установленной программы и применяет их за один раз.
7 Трубопровод – Сила комбинации
Оператор конвейера (|) позволяет вам брать вывод одной команды и напрямую передавать его в качестве ввода другой. Эта простая концепция открывает огромные возможности, позволяя вам объединять небольшие одноцелевые утилиты в сложные рабочие процессы.

Например, вспомните команду ls -l, которая выводит список файлов с подробностями.
ls -l

Что делать, если приведенный выше список огромен или вы хотите вернуть только общее количество файлов? Вы можете сделать это, используя оператор конвейера «|» с командой wc.
ls -l | wc -l

Это вычисляет и печатает только количество строк. Кроме этого, вы также можете найти все процессы, запущенные в вашей системе (ps aux), а затем отфильтровать только те, которые связаны с вашим веб-сервером (apache).
ps aux | grep apache
Эта способность объединять команды в цепочку, как строительные блоки, невероятно мощна и составляет основу многих эффективных задач сценариев и автоматизации. Windows PowerShell принял конвейеризацию, но она не так универсальна или бесшовно интегрирована, как в Linux, где эта философия является основополагающей для дизайна системы.
6 htop или top – Мониторинг процессов в реальном времени
Диспетчер задач Windows дает вам снимок запущенных процессов, использования ЦП, использования памяти и т. д. Он функционален, но часто кажется немного статичным, и получение подробной информации в реальном времени о том, что делает ваша система, может быть сложной задачей.

Linux предлагает инструменты командной строки для мониторинга процессов — наиболее заметными из них являются top и его более удобная версия htop. Когда вы запускаете HTOP, вы получаете динамическое представление активности вашей системы в реальном времени прямо на своем терминале.

Вы можете просматривать использование ЦП и памяти для каждого процесса, сортировать по различным критериям (использование ЦП, использование памяти, идентификатор процесса), завершать несанкционированные процессы и даже просматривать древовидную структуру, показывающую родительско-дочерние связи между процессами.

5 Cron – запланированное автоматическое резервное копирование
Настройка автоматизированных задач в Windows обычно подразумевает использование Планировщика задач. Это графический инструмент, который может быть эффективным и широко используется, но иногда может показаться менее удобным для автоматизации с большим количеством скриптов или расширенной автоматизации. Если вы хотите запускать определенную команду или скрипт в определенное время ежедневно или ежечасно, Linux предлагает другой подход с Cron.

Cron — это планировщик заданий на основе времени в Linux и Unix-подобных системах. Редактируя файл crontab, вы можете указать команды для запуска и время их запуска, используя простой синтаксис из пяти полей: минута, час, день месяца, месяц и день недели.
Хотите запускать скрипт резервного копирования, расположенный в «/home/user/backup.sh» каждую ночь в 2:00 утра? После запуска этой команды:
кронтаб -e
Добавьте следующую строку в ваш crontab:
0 2 * * * /home/user/backup.sh
Не поймите меня неправильно — хотя оба инструмента мощные, ни один из них не лучше во всем. Я предпочитаю Cron, потому что он легкий, текстовый и легко интегрируется с командной строкой и системами контроля версий. Напротив, Windows Task Scheduler полагается на конфигурацию GUI/XML, имеет больше накладных расходов и может страдать от причуд, связанных с сеансами и разрешениями.
4 переименования или циклы – Массовое переименование
Переименование нескольких файлов в Windows может показаться утомительным и ограниченным занятием — даже в современном проводнике файлов вы ограничены простыми последовательными переименованиями (выбор файлов, F2) или вынуждены прибегать к PowerShell или сторонним инструментам для более сложных действий.
В отличие от этого, Linux предоставляет мощные встроенные параметры командной строки, которые позволяют мгновенно переименовывать сотни файлов, используя либо утилиту переименования, либо простые циклы оболочки.
Например, чтобы добавить префикс ко всем файлам JPG, используйте этот цикл в bash или zsh:
для файла в формате *.JPG; сделать mv «$file» «TripToItaly_$file»; сделано

Или вы можете использовать команду rename, чтобы изменить расширения всех TXT-файлов на MD, используя переименование на основе Perl (синтаксис Debian/Ubuntu):
переименовать ‘s/.txt$/.md/’ *.txt
В дистрибутивах с переименованием util‑linux (распространено в CentOS, Fedora, Arch) используйте:
переименовать .txt .md *.txt
Эти команды выполняются в цикле O(n) над вашими файлами — без щелчков, без дополнительного программного обеспечения, просто быстрое, гибкое, масштабируемое переименование с помощью скриптов.
3 curl или wget – Загрузки из командной строки
Команды curl и wget бесценны для написания скриптов, автоматизации загрузок, извлечения данных для обработки и работы на серверах, где графический браузер недоступен. Что делать, если вам нужно загрузить файл программно, как часть скрипта или с сервера, требующего аутентификации, или даже загрузить сотни файлов из списка? С wget и curl вы получаете детальный контроль над процессом загрузки — то, чего веб-браузер просто не может дать.

Например, чтобы загрузить файл с определенного веб-сайта, используйте это:
wget https://example.com/path/to/file.zip
curl еще более универсален, поддерживая более широкий спектр протоколов и опций. Он отлично подходит для взаимодействия с веб-API, отправки данных и выполнения сложных передач:
curl -O https://example.com/another/file.tar.gz
-O сохраняет файл под исходным именем.

2 Псевдоним – Создание собственных сочетаний клавиш
У всех нас есть задачи, которые мы выполняем многократно. Вводить одну и ту же длинную команду снова и снова утомительно и чревато опечатками. В Windows создание общесистемных сочетаний клавиш командной строки не является простой задачей для обычного пользователя.

Оболочки Linux (например, Bash или Zsh) позволяют создавать пользовательские сочетания клавиш, называемые псевдонимами. Псевдоним — это короткая, запоминающаяся команда, которую оболочка заменяет на более длинную, когда вы ее вводите.
Например, вместо того, чтобы вводить ls -lha каждый раз вы можете создать:
псевдоним ll=’ls -lha’
Теперь, набрав ll запускает полную команду. Вы можете добавить псевдонимы в файл конфигурации вашей оболочки (например, .bashrc или .zshrc), чтобы они были доступны каждый раз, когда вы открываете терминал.
Вы можете создавать псевдонимы для чего угодно — подключения к серверам, запуска скриптов или запуска любимых приложений. Например:
alias update=»sudo apt update && sudo apt upgrade -y»
Добавьте это в ваш файл .bashrc и запустите обновление в терминале, чтобы обновить все ваше программное обеспечение.
1 tmux – Несколько экранов
tmux — это терминальный инструмент, позволяющий разделить одно окно на несколько панелей. Вы можете запускать разные команды в каждой панели — редактировать код, просматривать логи или запускать тесты — и все будет работать, даже если вы отключитесь.

Вы можете установить tmux с помощью менеджера пакетов, как в системах на базе Debian, для этого используйте:
sudo apt установить tmux

Windows также поддерживает вкладки и несколько окон, но вы не можете отсоединить сеанс, выйти из системы, а затем снова подключиться позже. Однако, если вы запустите tmux внутри WSL в Windows, вы получите ту же возможность отсоединения и повторного подключения, которая была бы у вас в родной системе Linux.
Эти команды — необходимые инструменты, которые значительно улучшили мой опыт работы с Linux. Изучение хотя бы нескольких из них — фантастическое начало. Вы также можете ознакомиться с этими упущенными командами, которые могут разблокировать еще большую мощь и гибкость.