Введение
Работа в Linux без знания базовых команд — всё равно что читать книгу, не зная алфавита. Терминал (командная строка) — это основной инструмент администрирования, настройки и повседневных задач в Linux. Освоив несколько десятков ключевых команд, вы сможете быстро перемещаться по файловой системе, управлять файлами, процессами и получать информацию о системе. Этот гайд — ваш старт: мы собрали самые важные команды с пояснениями и примерами, которые пригодятся каждому, кто начинает работать с Linux.
Требования
Перед началом убедитесь, что у вас есть:
- Доступ к терминалу Linux (локально, через виртуальную машину или удалённо по SSH).
- Базовое понимание структуры файловой системы (что такое директории, файлы).
- Права на выполнение операций (для некоторых команд, например
rmилиsudo, могут потребоваться права администратора).
Шаг 1: Навигация по файловой системе
Первое, что нужно научиться — понимать, где вы находитесь, и перемещаться между директориями.
pwd — где я?
Команда pwd (print working directory) показывает текущий полный путь к директории.
pwd
# Пример вывода: /home/username
cd — переход
cd (change directory) переключает вас в указанную директорию.
cd /var/log # перейти в /var/log
cd ~ # перейти в домашнюю директорию
cd .. # подняться на уровень выше
cd - # вернуться в предыдущую директорию
ls — просмотр содержимого
ls (list) выводит список файлов и поддиректорий в текущей директории.
ls # простой список
ls -l # детальный список (права, размер, дата)
ls -a # показать скрытые файлы (начинающиеся с .)
ls -lh # размеры в удобном формате (KB, MB)
Шаг 2: Управление файлами и директориями
Теперь научимся создавать, копировать, перемещать и удалять объекты файловой системы.
Создание
touch filename— создать пустой файл.mkdir dirname— создать новую директорию.mkdir -p path/to/dir— создать вложенные директории (если промежуточные не существуют).
touch newfile.txt
mkdir documents
mkdir -p projects/2024/plan
Копирование и перемещение
cp source destination— копировать файл или директорию.mv source destination— переместить или переименовать файл/директорию.
cp file.txt backup/
cp -r dir1 dir2 # рекурсивное копирование директории
mv old.txt new.txt
mv file.txt /home/user/Documents/
Удаление
rm file— удалить файл.rm -r dir— удалить директорию со всем содержимым.rm -f file— принудительное удаление без запросов.
⚠️ Осторожно! Удалённые файлы через
rmобычно не попадают в корзину. Убедитесь, что указываете правильный путь.
rm oldfile.txt
rm -r old_dir/
::in-article-ad
::
Шаг 3: Просмотр и редактирование файлов
Иногда нужно быстро посмотреть содержимое файла или внести правки.
Вывод содержимого
cat file— вывести весь файл в терминал (подходит для небольших файлов).less file— постраничный просмотр (прокрутка стрелками, выход —q).head file— первые 10 строк файла.tail file— последние 10 строк (полезно для логов).
cat /etc/os-release
less /var/log/syslog
tail -f /var/log/auth.log # отслеживать изменения в реальном времени
Редактирование
nano file— простой текстовый редактор с подсказками (идеален для новичков).vim file— мощный редактор с режимами (требует изучения, но очень эффективен).
nano myconfig.conf
# В nano: Ctrl+O — сохранить, Ctrl+X — выйти
Шаг 4: Управление процессами
Процессы — запущенные программы. Умение управлять ими критично для стабильности системы.
Просмотр процессов
ps— snapshot процессов (обычно текущего пользователя).ps aux— все процессы системы (столбцы: USER, PID, %CPU, %MEM, COMMAND).topилиhtop— интерактивный мониторинг (обновление в реальном времени, сортировка, завершение).
ps aux | grep nginx # найти процессы nginx
top # для выхода — q
Завершение процессов
kill PID— мягко завершить процесс по его идентификатору (PID).kill -9 PID— принудительно завершить (SIGKILL), если процесс не реагирует.
kill 1234 # мягкое завершение
kill -9 1234 # принудительное
pkill firefox # завершить все процессы с именем firefox
Шаг 5: Поиск и фильтрация
Когда файлов много, ищите по имени или содержимому.
Поиск файлов
find /path -name "filename"— искать файлы по имени (поддерживает wildcards*).find /path -type f— только файлы (-type d— директории).find /path -size +1M— файлы больше 1 МБ.
find /home -name "*.txt"
find /var/log -type f -mtime -7 # изменённые за последние 7 дней
Поиск текста внутри файлов
grep "pattern" file— найти строки, содержащие паттерн.grep -r "pattern" /dir— рекурсивный поиск в директории.grep -i "pattern"— без учёта регистра.
grep "error" /var/log/syslog
grep -r "TODO" ~/projects/
Шаг 6: Получение справки
Не запоминайте всё — у Linux отличная встроенная документация.
man — руководства
man command показывает полное руководство (man page) с описанием, опциями и примерами.
man ls
# Навигация: стрелки, PageUp/Down, /text для поиска, q — выход
--help или -h
Краткая справка прямо в терминале.
ls --help
grep -h
whatis — краткое описание
whatis ls
# Вывод: ls (1) - list directory contents
Проверка результата
После прохождения гайда вы должны уверенно выполнять следующие действия:
- Открыть терминал и выполнить
pwd— увидите текущий путь. - Перейти в другую директорию через
cdи проверитьls. - Создать файл
touch test.txtи директориюmkdir test_dir. - Скопировать файл
cp test.txt backup/и переместитьmv test.txt new.txt. - Вывести содержимое файла
cat /etc/os-releaseи найти процессps aux | grep bash. - Получить справку
man cdи найти командуwhatis grep.
Если все команды работают без ошибок — вы освоили базовый набор!
Возможные проблемы
Ошибка «Permission denied»
Причина: недостаточно прав для операции (например, запись в системную директорию).
Решение: используйте sudo перед командой (если у вас есть права администратора) или смените директорию на одну, где у вас есть права (например, ~/).
sudo rm /etc/important.conf # требует пароль администратора
«No such file or directory»
Причина: указан неверный путь или имя файла.
Решение: проверьте текущую директорию (pwd) и список файлов (ls). Используйте абсолютные пути (/home/user/file) вместо относительных.
«Command not found»
Причина: команда не установлена или опечатка в названии.
Решение: проверьте написание. Установите пакет через менеджер пакетов (например, sudo apt install package для Ubuntu/Debian).
Бесконечный вывод в cat для больших файлов
Причина: выводите огромный файл (например, бинарный или лог на несколькосот МБ).
Решение: используйте less или ограничьте вывод (head, tail).
Невозможно завершить процесс
Причина: процесс игнорирует мягкий сигнал SIGTERM.
Решение: используйте kill -9 PID (SIGKILL), но только если другие методы не сработали — это аварийное завершение.