Чёрный экран с мигающим курсором — именно так многие представляют себе Linux. Но за этой, казалось бы, пугающей оболочкой скрывается невероятная мощь и контроль над системой. Этот справочник — ваш ключ от двери в мир терминала. Мы разберём не просто синтаксис, а логику работы, чтобы вы не просто копировали команды, а понимали, что происходит.
Философия терминала: почему это важно?
В отличие от графического интерфейса, командная строка (терминал, bash, shell) — это прямой диалог с операционной системой. Здесь нет лишних анимаций, всё быстро, точно и автоматизируемо. Освоив базовые команды, вы сможете управлять серверами, администрировать системы, писать скрипты для автоматизации рутины и чувствовать себя уверенно в любой Unix-подобной среде.
Важно: В Linux имена файлов и команд чувствительны к регистру. File.txt и file.txt — это два разных файла. Команды почти всегда пишутся строчными буквами.
Базовый синтаксис и навигация
Большинство команд строятся по схеме: команда [опции] [аргументы]. Опции (часто начинаются с дефиса - или двойного дефиса --) меняют поведение команды, а аргументы — это то, с чем команда работает (например, имя файла).
1. Кто я и где я? (pwd, whoami)
Первое, что нужно сделать — сориентироваться.
pwd(Print Working Directory) — показывает полный путь к текущей директории. Ваша отправная точка.whoami— выводит имя текущего пользователя. Полезно при работе с правами.
2. Осмотреться вокруг (ls)
Команда ls (list) показывает содержимое директории. Её мощь раскрывается с опциями:
ls -l— подробный список с правами, владельцем, размером и датой.ls -a— показывает все файлы, включая скрытые (те, что начинаются с точки, например,.bashrc).ls -lh— человеко-читаемый размер файлов (КБ, МБ вместо байтов).
3. Перемещение (cd)
cd (change directory) — ваше средство передвижения.
cd /home/user— переход по абсолютному пути.cd Documents— переход в папку Documents относительно текущей.cd ..— подняться на уровень вверх (родительская директория).cd ~или простоcd— мгновенный переход в домашнюю директорию.cd -— вернуться в предыдущую директорию.
Работа с файлами и директориями
4. Создание (touch, mkdir)
touch file.txt— создаёт пустой файл или обновляет время его модификации.mkdir NewFolder— создаёт новую директорию.mkdir -p Projects/2024/Linuxсоздаст целую цепочку вложенных папок (-p— parents).
5. Копирование, перемещение, переименование (cp, mv)
cp source.txt destination/— копирует файл.cp -r Folder/ Backup/копирует директорию рекурсивно (-r— recursive).mv old.txt new.txt— переименовывает файл.mv file.txt ~/Documents/— перемещает файл.
6. Удаление (rm)
Команда, требующая осторожности! Удалённое через терминал не попадает в корзину.
rm file.txt— удаляет файл.rm -r Folder/— удаляет директорию и всё её содержимое.rm -i file.txt— удаляет с запросом подтверждения (-i— interactive). Рекомендуется новичкам.
Совет безопасности: Никогда не выполняйте команду sudo rm -rf / (особенно с sudo). Она рекурсивно и принудительно удалит всё в системе. Это классическая «шутка», которая приводит к полной потере данных.
7. Просмотр содержимого (cat, less, head, tail)
cat file.txt— выводит весь файл на экран. Подходит для небольших файлов.less file.txt— открывает файл для постраничного просмотра. Прокрутка стрелками, выход — клавишаq.head -n 10 file.log— показывает первые 10 строк файла.tail -n 20 file.log— показывает последние 20 строк.tail -f service.log(-f— follow) в реальном времени следит за обновлением файла (идеально для логов).
Поиск и анализ
8. Поиск файлов (find)
Мощнейший инструмент. Примеры:
find ~ -name "*.pdf"— ищет все PDF-файлы в домашней директории.find /var/log -type f -size +10M— ищет файлы больше 10 МБ в/var/log.
9. Поиск текста внутри файлов (grep)
«Фильтр» для текста. grep "error" system.log выведет только строки, содержащие слово «error». -i игнорирует регистр, -r ищет рекурсивно по директориям.
10. Просмотр занятого места (df, du)
df -h— показывает свободное место на всех смонтированных дисках.du -sh ~/Downloads— показывает суммарный размер (-s) содержимого папки Downloads в человеко-читаемом формате (-h).
Права и процессы
11. Права доступа (chmod)
Файлы в Linux имеют права для трёх групп: владелец (u), группа (g) и все остальные (o). Права: чтение (r=4), запись (w=2), выполнение (x=1).
chmod +x script.sh— даёт всем право на выполнение файла.chmod 755 script.sh(цифровая запись: 7=rwx для владельца, 5=rx для группы и остальных).
12. Просмотр процессов (ps, top, htop)
ps aux— моментальный снимок всех запущенных процессов.topилиhtop(установить отдельно) — интерактивные мониторы процессов в реальном времени, похожие на диспетчер задач.
13. Завершение процесса (kill, pkill)
kill 1234— отправляет сигнал завершения процессу с PID 1234.kill -9 1234— принудительное завершение (последнее средство).pkill firefox— завершает все процессы с именем firefox.
Сеть и помощь
14. Проверка сети (ping, curl, wget)
ping ya.ru— проверяет доступность хоста.curl ifconfig.me— показывает ваш внешний IP-адрес.wget https://example.com/file.zip— скачивает файл из интернета.
15. Встроенная справка (man, --help)
Ваш главный помощник!
man ls— открывает полное руководство (manual) по команде ls. Навигация стрелками, выход —q.ls --help— показывает краткую справку по опциям команды.
Полезные трюки для старта
- Tab — автодополнение. Начал вводить команду или путь → нажми Tab.
- Стрелки вверх/вниз — листают историю введённых команд.
- Ctrl + C — аварийная остановка любой запущенной команды.
- Ctrl + D — конец ввода (выход из терминала, если введён в пустой строке).
- Ctrl + R — обратный поиск по истории команд. Нажмите и начните вводить часть прошлой команды.
Не пытайтесь выучить всё сразу. Начните с pwd, ls, cd и cat. Практикуйтесь ежедневно по 10-15 минут, создавая, перемещая и просматривая файлы. Со временем терминал станет не страшной консолью, а вашим самым эффективным инструментом.
FAQ: Часто задаваемые вопросы о командах Linux
Как отменить выполненную команду?
В терминале нет классической отмены (Ctrl+Z приостанавливает процесс, но не отменяет действие). Поэтому с командами вроде rm или mv нужно быть осторожным. Всегда проверяйте аргументы перед нажатием Enter.
Что делать, если я забыл команду?
Используйте man -k ключевое_слово для поиска по описаниям в руководствах или apropos ключевое_слово. Например, man -k "copy".
Чем отличается sudo от su?
sudo позволяет выполнить одну команду с правами суперпользователя (root), введя свой пароль. su переключает вас в сессию root (требует пароль root). Для повседневного администрирования безопаснее использовать sudo.
Как создать текстовый файл прямо в терминале?
Есть несколько способов: touch file.txt (пустой файл), nano file.txt (открывает простой текстовый редактор), cat > file.txt (после ввода текста нажмите Ctrl+D для сохранения).
Как узнать, какие команды я уже вводил?
Команда history выведет список последних выполненных команд с номерами. Можно выполнить команду повторно по номеру: !123.