Команды Linux для начинающих: базовые команды терминала | AdminWiki

Команды Linux для новичков: Полное руководство с примерами

18 декабря 2025 11 мин. чтения #bash #linux #администрирование linux #команды linux #основы linux #терминал linux
Содержание статьи

Если вы только начинаете свой путь в мире Linux, терминал может показаться пугающим местом. Но представьте, что это ваш главный инструмент — мощный, точный и невероятно эффективный. Давайте разберем основные команды Linux, которые станут фундаментом вашей работы с операционной системой.

Это руководство построено по принципу «от простого к сложному»: мы начнем с навигации по файловой системе и закончим управлением процессами и пользователями.

Основы навигации в файловой системе

Первое, что нужно освоить — как перемещаться между каталогами и просматривать их содержимое. Эти команды станут вашими ежедневными спутниками.

pwd — где я нахожусь?

Команда pwd (print working directory) показывает текущую рабочую директорию. Это аналог того, как вы смотрите на адресную строку в файловом менеджере.

bash
pwd
# Вывод: /home/username/documents

ls — что здесь находится?

Команда ls (list) выводит содержимое каталога. Но ее настоящая сила — в дополнительных флагах:

  • ls -l — подробный список с правами, владельцем и размером
  • ls -a — показать все файлы, включая скрытые (начинаются с точки)
  • ls -lh — человекочитаемый размер файлов (KB, MB вместо байтов)
  • ls -la — комбинация: все файлы в подробном формате
bash
ls -la
# Вывод:
# drwxr-xr-x  5 user user 4096 Dec 10 10:30 .
# drwxr-xr-x 18 user user 4096 Dec  9 14:15 ..
# -rw-r--r--  1 user user  220 Dec 10 09:45 .bashrc
# drwxr-xr-x  2 user user 4096 Dec 10 10:30 documents

cd — переход между каталогами

Команда cd (change directory) меняет текущую директорию. Запомните несколько полезных сокращений:

bash
cd /home/user/documents  # Абсолютный путь
cd documents             # Относительный путь
cd ..                    # На уровень выше
cd ~                     # В домашний каталог
cd -                     # В предыдущую директорию
Совет: Используйте клавишу Tab для автодополнения путей и имен файлов. Нажмите Tab дважды, чтобы увидеть возможные варианты, если их несколько.

Работа с файлами и каталогами

Теперь, когда вы умеете перемещаться, давайте научимся создавать, копировать, перемещать и удалять файлы.

Создание файлов и каталогов

bash
mkdir project          # Создать каталог 'project'
mkdir -p dir1/dir2     # Создать вложенные каталоги

touch file.txt         # Создать пустой файл
touch file1.txt file2.txt file3.txt  # Создать несколько файлов

Копирование и перемещение

Команды cp (copy) и mv (move) имеют схожий синтаксис:

bash
# Копирование
cp file.txt file_backup.txt          # Копировать файл
cp -r dir1 dir2                      # Рекурсивное копирование каталога
cp *.txt backup/                     # Копировать все txt файлы

# Перемещение/переименование
mv file.txt documents/               # Переместить файл
mv oldname.txt newname.txt           # Переименовать файл
mv *.png images/                     # Переместить все PNG файлы

Удаление файлов и каталогов

Внимание! Команда rm удаляет файлы безвозвратно (не попадают в корзину). Будьте осторожны, особенно с флагом -r.
bash
rm file.txt               # Удалить файл
rm -i file.txt            # Удалить с подтверждением
rm -r directory/          # Рекурсивно удалить каталог
rm -rf directory/         # Принудительное удаление без подтверждения

# Безопасная альтернатива — перемещение в корзину (если установлена)
trash file.txt            # Используйте trash-cli вместо rm

Просмотр и редактирование файлов

Работа с содержимым файлов — одна из самых частых задач. Рассмотрим несколько подходов.

cat, less, head, tail — просмотр файлов

Команда Назначение Пример
cat Вывести весь файл cat config.txt
less Постраничный просмотр less large_file.log
head Первые N строк head -20 file.txt
tail Последние N строк tail -f app.log
bash
# Полезные комбинации
cat file1.txt file2.txt > combined.txt  # Объединить файлы
tail -f /var/log/syslog                 # Следить за логом в реальном времени
grep "error" app.log | head -5          # Первые 5 ошибок из лога

nano и vim — текстовые редакторы

Для новичков я рекомендую начать с nano — он простой и интуитивный. vim мощнее, но имеет крутую кривую обучения.

bash
nano file.txt          # Открыть файл в nano
# В nano: Ctrl+O сохранить, Ctrl+X выйти

vim file.txt           # Открыть файл в vim
# В vim: i - режим вставки, Esc - нормальный режим, :wq - сохранить и выйти

Поиск файлов и текста

Умение быстро находить нужную информацию — ключевой навык системного администратора.

find — поиск файлов

bash
# Базовые примеры
find . -name "*.txt"                  # Найти txt файлы в текущей директории
find /home -type f -name "config.*"   # Найти файлы config.* в /home
find . -type d -name "node_modules"   # Найти каталоги node_modules
find . -size +100M                    # Найти файлы больше 100MB
find . -mtime -7                      # Файлы, измененные за последние 7 дней

# Комбинированные условия
find . -name "*.log" -size +10M -mtime +30  # Большие старые логи

grep — поиск текста в файлах

grep — один из самых полезных инструментов для анализа текста.

bash
grep "error" app.log                 # Найти строки с "error"
grep -i "warning" system.log         # Без учета регистра
grep -r "TODO" /home/user/project/   # Рекурсивный поиск
grep -v "success" results.txt        # Исключить строки с "success"
grep -A 2 -B 2 "exception" trace.log # Показать 2 строки до и после

grep -E "error|warning|critical" log.txt  # Регулярное выражение (или)

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

Linux — многозадачная система. Давайте научимся управлять запущенными программами.

ps и top — мониторинг процессов

bash
ps aux                    # Все процессы системы
ps aux | grep nginx       # Найти процессы nginx
ps -ef --forest           # Дерево процессов

top                       # Интерактивный монитор процессов
htop                      # Более продвинутая версия (установить отдельно)

Управление процессами: запуск, остановка, фон

bash
# Запуск и управление
python script.py &        # Запустить в фоне
jobs                      # Показать фоновые задачи
fg %1                     # Вернуть задачу 1 на передний план

# Сигналы процессам
kill 1234                 # Отправить SIGTERM (корректное завершение)
kill -9 1234              # SIGKILL (принудительное завершение)
killall nginx             # Завершить все процессы nginx

pkill -f "python script"  # Завершить по имени процесса

Работа с правами доступа

Система прав Linux может сбивать с толку, но она фундаментальна для безопасности.

chmod — изменение прав

Права представлены тремя группами: владелец (u), группа (g), остальные (o). Цифровая нотация:

  • 4 = чтение (r)
  • 2 = запись (w)
  • 1 = выполнение (x)
  • 0 = нет прав
bash
# Символьная нотация
chmod u+x script.sh       # Дать владельцу право на выполнение
chmod g-w file.txt        # Забрать право записи у группы
chmod o=r config.conf     # Остальным только чтение
chmod a+r file.txt        # Всем пользователям дать чтение (a = all)

# Цифровая нотация (чаще используется)
chmod 755 script.sh       # rwxr-xr-x (владелец: все, остальные: чтение+выполнение)
chmod 644 config.txt      # rw-r--r-- (владелец: чтение+запись, остальные: чтение)
chmod 700 private.key     # rwx------ (только владелец)

chown — изменение владельца

bash
chown user file.txt              # Изменить владельца
chown user:group file.txt        # Изменить владельца и группу
chown -R user:group directory/   # Рекурсивно для каталога

# Часто нужно sudo
sudo chown www-data:www-data /var/www/  # Для веб-сервера

Сетевые команды

Базовые команды для диагностики сетевых проблем.

bash
ip addr show                   # Показать сетевые интерфейсы и IP
ip route show                  # Таблица маршрутизации

ping google.com                # Проверить доступность хоста
ping -c 4 8.8.8.8              # Отправить 4 пакета

traceroute google.com          # Трассировка маршрута

netstat -tulpn                 # Показать открытые порты и процессы
ss -tulpn                      # Современная альтернатива netstat

curl https://api.example.com   # HTTP-запрос
wget https://example.com/file.zip  # Скачать файл

Полезные комбинации и советы

Настоящая сила Linux — в комбинировании простых команд через конвейеры (pipes).

bash
# Поиск больших файлов и сортировка
find . -type f -size +100M | xargs ls -lh | sort -k5 -hr

# Подсчет строк кода в проекте
find . -name "*.py" -o -name "*.js" -o -name "*.html" | xargs wc -l

# Мониторинг логов в реальном времени с фильтрацией
tail -f /var/log/nginx/access.log | grep "404"

# Архивирование и сжатие
tar -czf archive.tar.gz directory/   # Создать архив
tar -xzf archive.tar.gz              # Распаковать

# Проверка использования диска
df -h                                 # Свободное место на дисках
du -sh *                              # Размер каталогов

# История команд с поиском
history | grep "ssh"                 # Найти команды ssh в истории
!!                                    # Повторить последнюю команду
!ssh                                  # Выполнить последнюю команду, начинающуюся с ssh
Профессиональный совет: Создайте файл ~/.bash_aliases для своих сокращений. Например:
alias ll='ls -la'
alias update='sudo apt update && sudo apt upgrade'
alias ports='netstat -tulpn'

Часто задаваемые вопросы (FAQ)

Как отменить команду в терминале?

Нажмите Ctrl+C чтобы прервать выполняющуюся команду. Для очистки текущей строки — Ctrl+U.

Что делать, если я случайно удалил важный файл?

Если файл был удален недавно, проверьте, не открыт ли он еще в каком-то процессе: lsof | grep deleted. Для восстановления можно попробовать инструменты типа extundelete, но лучше сразу настроить регулярное резервное копирование.

Как узнать, что делает конкретная команда?

Используйте man команда (руководство) или команда --help для краткой справки. Например: man ls или ls --help.

Почему некоторые команды требуют sudo?

sudo дает временные права суперпользователя (root). Это нужно для операций, затрагивающих системные файлы, настройки или других пользователей. Будьте осторожны с sudo — вы можете повредить систему.

Как скопировать вывод команды в файл?

Используйте перенаправление:
команда > файл.txt — перезаписать файл
команда >> файл.txt — добавить в конец файла
Например: ls -la > listing.txt

Что такое конвейер (pipe) | и как он работает?

Конвейер передает вывод одной команды на вход другой. Например: ps aux | grep python берет список всех процессов и передает его grep, который фильтрует только строки с «python».

Заключение

Вы освоили основные команды Linux для начинающих. Помните: практика — ключ к мастерству. Не пытайтесь запомнить все сразу. Начните с базовых команд для навигации (ls, cd, pwd), затем добавьте работу с файлами, и постепенно расширяйте свой арсенал.

Самый эффективный способ обучения — решать реальные задачи. Создайте тестовый каталог, поэкспериментируйте с командами, сделайте ошибки (в безопасной среде) и учитесь на них. Linux терминал — это не враг, а мощный союзник в вашей работе.

Дальнейшие шаги: изучите bash-скриптинг, настройку cron-заданий, управление пакетами (apt/yum/dnf) и мониторинг системы. Удачи в освоении Linux!

Поделиться:
Сохранить гайд? В закладки браузера