Команды Linux: что нужно знать в первую очередь

Команды Linux: что нужно знать в первую очередь

Терминал — это не «чёрное окно для хакеров» , а обычный инструмент, который позволяет обращаться к системе напрямую. Здесь нет скрытых приёмов: вводите команду — получаете результат. Файлы копируются одной строкой, каталоги создаются за долю секунды, а повторяющиеся задачи легко сворачиваются в скрипт. В этом материале мы подробно разберём семь базовых команд — cd, ls, cp, mv, rm, mkdir и man — и покажем, как с их помощью навести порядок в системе и сэкономить время.

Зачем в 2025 году учиться командной строке

Графические оболочки стали удобнее, но занимают ресурсы и часто прячут нюансы. Скрипты развертывания, контейнеры, управление облачными серверами — всё это строится на командах оболочки. Разобравшись в «сердце» Linux, вы сможете:

  • быстро администрировать серверы без лишнего трафика;
  • писать скрипты автоматизации для резервного копирования;
  • понимать примеры из документации разработчиков;
  • с уверенностью проходить интервью, где проверяют знание базовых команд Linux.

Как устроены оболочка и файловая система

Перед тем, как запускать команды, полезно понять две фундаментальные идеи:

  1. Shell — это программа-посредник (чаще всего bash), которая читает ввод, интерпретирует сочетания символов и передаёт ядру инструкции.
  2. Файловая система в Linux выглядит как единое древо, корнем которого является символ /. Все устройства, каталоги и файлы монтируются в это дерево.

Запомните эти два принципа: когда вы используете cd, вы просто меняете рабочую ветку дерева, а команда ls лишь показывает листья на текущем уровне.

Навигация по каталогам с cd

Команда cd («change directory») служит для перехода между каталогами. Ключевые приёмы:

  • cd /etc — абсолютный путь, начинающийся с корня.
  • cd .. — переход на уровень выше.
  • cd ~ — мгновенный возврат в домашний каталог пользователя.
  • cd - — переключение между последними двумя директориями.

Если вы часто работаете в длинных путях, создайте алиас в файле ~/.bashrc, чтобы одна короткая команда переносила вас в нужную директорию.

Просмотр содержимого с ls

ls — базовый «сканер» каталога. Некоторые популярные параметры:

  • ls -l — вывод в длинном формате: права, владелец, размер, дата изменения.
  • ls -a — показывает скрытые файлы (те, что начинаются с точкой).
  • ls -h — «читаемые» размеры (K, M, G) вместо байтов.
  • ls /var/log — просмотр любого каталога без смены текущего.

Комбинируйте параметры: ls -lah позволит быстро оценить место, занятое файлами. Подробная справка доступна в man ls или на онлайн-странице man-pages .

Копирование файлов с cp

Команда cp создаёт копию файла или каталога. Удобные варианты использования:

  • cp file.txt /backup/ — копирование файла в другой каталог.
  • cp -i — интерактивный режим, спрашивает подтверждение при перезаписи.
  • cp -r — рекурсивная копия каталогов.
  • cp -u — копирует только если источник новее цели.

Для резервирования настроек создайте задание cron, которое ежедневно выполняет cp -ru ~/.config /backup/config. Простой скрипт позволит автоматизировать сохранение данных, не полагаясь на графические утилиты.

Перемещение и переименование с mv

mv — универсальный «переезд» файлов. Всегда помните:

  • Если путь назначения — существующий каталог, объект будет перенесён внутрь каталога.
  • Если путь назначения не существует, объект будет переименован.
  • Ключ -i помогает избежать потерь, спрашивая подтверждение перезаписи.

Пример: mv report{_v1,.bak} — краткая запись bash, которая переименует report_v1 в report.bak. Так можно быстро создавать резервные копии документов перед редактированием.

Удаление с rm и безопасность данных

Команда rm мгновенно удаляет файлы, минуя корзину. Чтобы минимизировать риск:

  1. Работайте без sudo, пока не убедились, что удаляете нужный файл.
  2. Используйте rm -i для подтверждения каждого действия.
  3. Создайте алиас rm='rm -i' в ~/.bashrc, чтобы интерактивный режим был по умолчанию.
  4. Для каталогов применяйте rm -r только после проверки содержимого через ls.

Если удаление должно быть безвозвратным, рассмотрите утилиту shred , которая затирает данные.

Создание каталогов с mkdir

mkdir формирует новый каталог.

  • mkdir projects — создаёт папку в текущей директории.
  • mkdir -p projects/2025/april — делает цепочку вложенных папок одним действием.
  • mkdir -m 700 secret — устанавливает права доступа при создании.

Сочетая mkdir -p с переменными оболочки, легко автоматически заводить каталоги под ежедневные отчёты: mkdir -p "$(date +%Y)/$(date +%m)/$(date +%d)".

Получение справки с man

man — встроенный «офлайн-учебник». Формат страниц единообразен: раздел SYNOPSIS показывает способ вызова, DESCRIPTION — детали, OPTIONS — список параметров. Быстрые приёмы:

  • man -k copy — поиск по ключевому слову в заголовках страниц.
  • man 5 passwd — открывает раздел 5 (форматы и конфигурационные файлы) для темы passwd.
  • /pattern — поиск внутри страницы.

Если локальных страниц нет, обратитесь к tldr-pages — это сжатые примеры команд, пригодные для ежедневной работы.

Комбинирование команд: труба и перенаправление

До этого мы рассматривали команды отдельно, но сила Linux командной строки раскрывается, когда вы объединяете их с помощью | (пайп) и > (перенаправление). Пример резервного списка конфигурационных файлов:

  • ls -1 ~/.config | tee config_list.txt — выводит перечень файлов на экран и одновременно сохраняет его в файл.
  • cat config_list.txt | xargs -I{} cp -u ~/.config/{} /backup/config/{} — копирует только изменённые файлы.

Такие цепочки создают гибкие «мишени» для администрирования, сокращая время на рутинные операции.

Файловые шаблоны и подстановки

Часто в инструкциях встречаются символы «звёздочка» и «вопросительный знак». Это не магия, а «глобbing» — механизм оболочки, который расширяет шаблоны до списка файлов:

  • * соответствует любой последовательности символов: ls *.txt покажет все текстовые файлы.
  • ? заменяет ровно один символ: mv img_?.png images/ перенесёт файлы img_1.png, img_2.png и так далее.
  • Квадратные скобки задают диапазон: rm log_[0-9][0-9].gz удалит архивы с номерами от 00 до 99.

Используя шаблоны вместе с cp и mv, можно за секунду разложить тысячи фотографий по подкаталогам. Главное помнить, что расширение шаблона делает оболочка, а команда получает уже готовый список имён.

Переменные окружения и PATH

Каждый процесс в Linux наследует набор переменных окружения. Если вы набираете имя программы без пути, оболочка ищет её в каталогах, перечисленных в переменной $PATH. Проверьте содержимое командой echo $PATH — вы увидите двоеточием разделённый список директорий.

Чтобы добавить свой каталог с утилитами:

  1. Создайте папку ~/bin и поместите туда скрипты.
  2. Откройте ~/.bashrc и добавьте строку export PATH="$HOME/bin:$PATH".
  3. Перезапустите оболочку командой source ~/.bashrc.

Теперь любые скрипты из ~/bin доступны как обычные команды. Это простой способ расширить инструментарий без установки пакетов в систему.

Частые ошибки и способы их избежать

Ошибаться — естественно, но некоторые промахи могут стоить времени и данных. Ниже список распространённых ситуаций и полезных приёмов, которые помогут:

  • Случайное удаление каталога: всегда смотрите, не находится ли курсор на «/» или «/home». Подтверждение rm -i спасает нервы.
  • Неверный путь в cp или mv: предварительно выполняйте echo перед подстановкой шаблонов, чтобы увидеть, какие файлы будут затронуты.
  • Редактирование системных файлов без резервной копии: делайте «копию-тень» командой cp -a file{,.bak}.
  • Перегрузка терминала бесконечным выводом: добавьте | less в конец длинной команды, чтобы пролистывать информацию.

Практические задачи для тренировки

Попробуйте закрепить приёмы на реальных заданиях:

  1. Быстрый бэкап: создайте скрипт, который каждый вечер архивирует ~/Documents в каталог /backup и удаляет архивы старше недели.
  2. Уборка загрузок: с помощью rm -i и mv сортируйте скачанные файлы по расширениям в подпапки.
  3. Учёт места: напишите одноразовую команду, которая выводит список файлов больше 100 МБ в домашнем каталоге.

Выполняя такие упражнения, вы закрепите навык чтения справки, навигации и управления файлами.

Следующий шаг после базовых команд

  • grep — поиск текста по шаблону в потоке данных;
  • find — сканирование и массовые действия над файлами по критериям имени, даты или размера;
  • rsync — синхронизация каталогов по сети с инкрементальными обновлениями;
  • tar — архивирование с сохранением прав доступа и ссылок.

Каждая из этих команд наследует идеи, описанные выше: навигацию, шаблоны, пайпы и переменные окружения. Поэтому заложенные «фундаментальные команды Linux» служат точкой опоры для изучения всего остального инструментария.

Полезные ресурсы для дальнейшего обучения

  • Open Source Guides — для понимания структуры проектов.
  • Руководство GNU Coreutils — официальная документация основных команд.
  • cheat.sh — быстрые шпаргалки по Linux без установки.
  • ExplainShell — интерактивный разбор сложных команд.

Что дальше

Если после прочтения руки тянутся открыть терминал — цель достигнута. Попрактикуйтесь: напишите мини-скрипт для резервного копирования, наведите порядок в каталоге загрузок, поэкспериментируйте с пайпами. Когда базовые команды станут частью мышечной памяти, переходите к grep, find, rsync и знакомьтесь с миром shell-скриптов. Чем больше вы «разговариваете» с Linux на его родном языке, тем охотнее он выполняет вашу работу.

Linux bash terminal command-line file-management navigation manual
Alt text
Обращаем внимание, что все материалы в этом блоге представляют личное мнение их авторов. Редакция SecurityLab.ru не несет ответственности за точность, полноту и достоверность опубликованных данных. Вся информация предоставлена «как есть» и может не соответствовать официальной позиции компании.

Умеешь в ИБ?

Делись! Ближайший CIRF* уже 20 мая. Мероприятие бесплатное, но надо зарегистрироваться*

Реклама. 18+. ООО «МКО Системы», ИНН 7709458650
*Corporate incident response and forensics - корпоративное реагирование на инциденты и форензика.