Обучение с нуля

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

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

Когда я впервые открыл терминал, всё выглядело как чёрный ящик с непонятными символами. Но стоило разобраться в логике файловой системы и освоить десяток команд, как страх ушёл. Linux — не магия, а предсказуемая среда, где всё подчиняется простым правилам. Эта статья — не сухой справочник, а маршрут для первого осознанного шага.

Зачем новичку вообще разбираться в Linux

Часто слышу от новичков: «Я хочу в IT, но зачем мне Linux?» Ответ прост: без него вы упрётесь в потолок очень быстро. Серверы, облака, контейнеры, сетевые устройства — под капотом почти всегда Linux. Даже если вы планируете работать с Windows-инфраструктурой, понимание Linux даёт системное мышление, которое переносится на любую платформу. Для начинающего специалиста это не отдельная тема, а основа, без которой сложно двигаться дальше в системное администрирование, сети и безопасность.

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

Как устроена система Linux простыми словами

В Linux почти всё строится вокруг файлов и каталогов. Даже устройства, процессы и настройки часто представлены как объекты, к которым можно обратиться через файловую систему. Представьте, что Linux — это огромный шкаф с папками, где каждая папка имеет своё строгое назначение. Жёсткие диски, клавиатура, даже некоторые процессы выглядят как файлы в определённых каталогах. Такой подход позволяет единообразно управлять почти всем через чтение и запись. Верхняя точка этой структуры — корневой каталог /, от него начинается всё дерево директорий.

Что важно понимать в структуре системы

  • / — корень файловой системы, базовая точка для всех путей. Если вы потерялись, всегда можно вернуться к cd / и начать сначала.
  • /home — личные каталоги пользователей. Когда вы создаёте нового пользователя, его домашняя папка появляется именно тут. Здесь хранятся документы, настройки рабочего стола, личные скрипты.
  • /etc — сердце конфигурации. Здесь лежат текстовые файлы настроек почти всех сервисов: от сети до SSH. Новичку сюда лучше заглядывать с осторожностью и правами обычного пользователя.
  • /var — изменяемые данные: логи, кэш, очереди печати, базы данных. Если сервер ведёт себя подозрительно, первым делом смотрите /var/log.
  • /usr — программы и библиотеки, установленные пакетным менеджером. Своего рода «Program Files» в Linux.
  • /bin и /sbin — базовые системные утилиты, необходимые для загрузки и восстановления системы.
  • /tmp — временные файлы, которые чистятся при перезагрузке. Сюда можно смело писать тестовые данные.
  • /root — домашний каталог администратора root, отделённый от обычных пользователей.

Удобно думать так: Linux — это город, а каталоги — районы. Если понимаешь, где расположен каждый «район», ориентироваться становится намного проще.

Базовые команды Linux, которые нужны в первую очередь

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

Команда Что делает Пример
pwd Показывает полный путь к текущему каталогу pwd
ls Выводит список файлов и папок в каталоге ls -la
cd Меняет текущий каталог cd /var/log
cat Выводит содержимое файла (для коротких файлов) cat /etc/os-release
less Удобный постраничный просмотр длинных файлов less /var/log/syslog
head Показывает первые строки файла head -n 20 file.txt
tail Показывает последние строки файла, с -f следит за изменениями tail -f /var/log/auth.log
mkdir Создаёт новый каталог mkdir projects
touch Создаёт пустой файл или обновляет время изменения touch notes.txt
cp Копирует файлы и каталоги cp file.txt /tmp/
mv Перемещает или переименовывает файлы и каталоги mv old.txt new.txt
rm Удаляет файл или каталог (безвозвратно) rm file.txt
file Определяет тип файла file archive
whoami Показывает имя текущего пользователя whoami
hostname Показывает имя машины hostname
man Открывает встроенную справку по команде man ls

Разбираем команды по смыслу

pwd — где я сейчас?

Первое, что я делаю, заходя на незнакомый сервер — pwd. Это как спросить «где я?» в незнакомом здании. Команда выводит абсолютный путь, начиная с корня, и помогает не запутаться после серии переходов. Особенно полезна, когда вы глубоко в дебрях /etc или /var и потеряли нить.

ls — что лежит в папке?

Просто ls показывает имена, но ls -la — это уже швейцарский нож: видны скрытые файлы (начинающиеся с точки), права доступа, владелец, размер и дата изменения. Я почти всегда использую ls -la по привычке, чтобы сразу видеть полную картину. Обратите внимание на колонку с правами — о ней поговорим позже.

cd — перейти в другой каталог

cd означает change directory. С её помощью вы перемещаетесь по файловой системе, например в /etc, /var/log или в домашний каталог. Запомните три основные формы:

cd /var/log   # абсолютный путь — от корня
cd ..         # на уровень выше
cd ~          # в домашний каталог (или просто cd)

Частая ошибка новичков: набирать cd /etc без пробела, получая ошибку. Всегда разделяйте команду и аргумент пробелом.

cat и less — смотреть содержимое файлов

cat хорош для коротких конфигов, но если открыть им лог на 10 тысяч строк, терминал превратится в мельтешащую простыню. Для длинных файлов используйте less: листайте стрелками, ищите по /, выходите по q. Я часто комбинирую: cat для быстрого просмотра, less для анализа. Пример:

cat /etc/hostname      # короткий файл — ок
less /var/log/syslog    # длинный лог — только так

head и tail — начало и конец файла

Эти команды часто используют для логов и конфигураций. head показывает первые строки, tail — последние. Особенно полезен вариант tail -f, когда нужно наблюдать за изменениями файла в реальном времени — словно следите за пульсом системы. Например, при перезапуске сервиса я держу открытым tail -f /var/log/apache2/error.log, чтобы сразу увидеть ошибки.

cp, mv, rm — работа с файлами

  • cp копирует файл или каталог.
  • mv перемещает или переименовывает.
  • rm удаляет.

Именно здесь новички чаще всего ошибаются. Команда rm удаляет без корзины, поэтому перед запуском нужно дважды проверять путь и имя файла. Хорошая привычка: сначала использовать ls с тем же шаблоном, чтобы увидеть, что попадёт под удаление. Например, перед rm *.log выполните ls *.log и убедитесь, что в списке нет нужных файлов. cp и mv тоже требуют внимания: перепутаете источник и цель — потеряете данные.

mkdir и touch — создавать каталоги и файлы

mkdir создаёт каталог, а с ключом -p — целую цепочку вложенных папок разом. touch создаёт пустой файл или обновляет время изменения существующего. Эти команды нужны для тестов, заметок, структуры проектов и простых упражнений. Например, mkdir -p project/src/utils сразу создаст всю иерархию.

Пошаговый старт: что сделать в терминале новичку

Шаг 1. Посмотреть, где вы находитесь

pwd

Откройте терминал и введите pwd. Вы увидите что-то вроде /home/ваш_пользователь. Это ваша домашняя директория — стартовая площадка.

Шаг 2. Посмотреть содержимое каталога

ls -la

Покажет все файлы, включая скрытые. Обратите внимание на точки в начале имён — это конфигурационные файлы, которые система прячет от обычного просмотра.

Шаг 3. Перейти в домашний каталог

cd ~

Или просто cd. Вы вернётесь домой из любого места.

Шаг 4. Создать учебную папку

mkdir linux_practice

Теперь у вас есть полигон для экспериментов.

Шаг 5. Создать файл и посмотреть его

touch notes.txt
cat notes.txt

Файл будет пустым, но это нормально. Позже вы сможете записать в него текст через редактор или команду echo "Hello" > notes.txt.

Шаг 6. Проверить тип файла

file notes.txt

Система сообщит, что это ASCII text или empty — в зависимости от содержимого.

Шаг 7. Вернуться на уровень выше

cd ..

Вы выйдете из папки linux_practice обратно в домашний каталог.

Как читать путь в Linux

Путь в Linux — это адрес объекта в файловой системе. Представьте, что вы в гостях у друга. Абсолютный путь — это полный адрес с улицей и городом: /home/user/documents/report.txt. Относительный — это «в соседней комнате»: если вы уже в /home/user, то documents/report.txt приведёт туда же. В скриптах и конфигах чаще используют абсолютные пути, чтобы избежать путаницы, особенно когда скрипт запускается из разных мест.

  • Абсолютный путь начинается с /, например /etc/ssh/sshd_config.
  • Относительный путь считается от текущего каталога, например docs/readme.txt.

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

Одна из первых неприятностей новичка: пытаешься прочитать лог в /var/log/syslog, а система говорит «Permission denied». Дело в правах доступа. Каждый файл и каталог имеет три набора разрешений: для владельца, группы и всех остальных. Посмотреть их можно через ls -la — те самые буквы rwx. Если вы не root и не состоите в нужной группе, доступ будет закрыт.

Если команда сообщает об отказе в доступе, проверьте:

  • кто вы сейчас: whoami;
  • где находится файл;
  • какие права у файла (ls -la);
  • нужен ли запуск с повышенными правами (через sudo).

Не спешите сразу использовать sudo. Сначала поймите, зачем вам этот файл и можно ли обойтись без повышенных прав. Часто достаточно прочитать документацию или использовать альтернативный путь.

Типовые ошибки новичков

За годы работы я видел эти ошибки сотни раз. Вот самые частые грабли:

  • Путают текущий каталог и домашний каталог — думают, что находятся в /home, а на самом деле — в /etc, и удаляют важный конфиг.
  • Удаляют не тот файл через rm — особенно опасно с масками вроде rm -rf * не в той папке.
  • Открывают большой лог через cat вместо less — терминал зависает, приходится перезапускать сессию.
  • Не смотрят, где находятся, и вводят команды «вслепую» — результат непредсказуем.
  • Пытаются редактировать системные файлы без нужных прав — ломают загрузку или сеть.
  • Не используют справку man, хотя она часто быстрее поиска в интернете и содержит точную информацию для вашей версии системы.

Мини-чек-лист перед любой опасной командой

Перед тем как нажать Enter для rm, mv или chmod, пройдите мысленно этот список:

  1. Проверить текущий каталог через pwd — убедитесь, что вы в нужном месте.
  2. Посмотреть список файлов через ls -la — что вокруг?
  3. Убедиться в точном имени файла — нет ли опечатки, лишнего пробела, звёздочки.
  4. Понять, что делает команда — если сомневаетесь, man команда.
  5. Для удаления: ещё раз проверить путь и расширение. Представьте, что файл исчезнет навсегда. Стоит ли оно того? Лучше сделать резервную копию.

Что нужно запомнить в первую неделю

Обязательный минимум

  • pwd
  • ls -la
  • cd
  • cat
  • less
  • head
  • tail
  • mkdir
  • touch
  • cp
  • mv
  • rm
  • whoami
  • hostname
  • file
  • man

Логика, а не заучивание

Не пытайтесь вызубрить все команды за вечер. Сконцентрируйтесь на трёх китах:

  1. Всегда знать, где вы находитесь (pwd).
  2. Понимать, куда ведут пути и что лежит в основных каталогах.
  3. Уметь посмотреть содержимое файла, перейти в другой каталог, создать/удалить файл.

Освоив этот минимум, вы перестанете бояться терминала и сможете решать реальные задачи. Остальное придёт с практикой.

Как тренироваться без риска

Никогда не тренируйтесь на боевом сервере или на компьютере, где лежат важные данные. Идеальные варианты для безопасной практики:

  • Виртуальная машина в VirtualBox или VMware — можно сломать и откатить к снимку.
  • WSL (Windows Subsystem for Linux) — быстрый способ получить терминал Ubuntu прямо в Windows, не устанавливая отдельную ОС.
  • Старый ноутбук с установленным Debian или Ubuntu — идеальный «песочный» сервер.
  • Облачный VPS за небольшие деньги — отличный полигон для экспериментов с сетями и сервисами, доступный отовсюду.

Начинайте с безопасных команд: просмотр, переходы по каталогам, создание папок и файлов, работа с текстом. Удаление и изменение системных файлов оставьте на тот момент, когда появится уверенность и понимание прав доступа. И помните: rm и sudo — это инструменты, которые требуют уважения.

Вывод

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

FAQ

С чего лучше начать изучение Linux?

С файловой системы и базовых команд pwd, ls, cd, cat, less, mkdir, touch, cp, mv, rm. Не нужно читать толстые книги — откройте терминал и пройдите по шагам из этой статьи. Практика с первого дня даст гораздо больше, чем пассивное чтение.

Какая команда показывает, где я нахожусь?

pwd — ваш компас. Введите её, и вы сразу увидите полный путь от корня до текущего каталога.

Чем ls отличается от ls -la?

ls показывает просто список имён, а ls -la — подробный список, включая скрытые файлы (начинающиеся с точки), права доступа, владельца, размер и дату изменения. Для повседневной работы я рекомендую сразу привыкать к ls -la.

Почему rm считают опасной командой?

Потому что она удаляет без корзины и не спрашивает подтверждения (если не использовать ключ -i). Одна опечатка в имени файла или неверная маска — и данные теряются навсегда. Перед удалением всегда проверяйте, что именно вы стираете, командой ls с теми же аргументами.

Как посмотреть справку по команде?

Используйте man, например man cd или man ls. Это встроенная документация, которая часто содержит примеры и объяснения всех ключей. Во многих случаях man быстрее, чем поиск в интернете, и точно соответствует вашей версии утилиты.

Что важнее всего запомнить новичку?

Логику путей, назначение основных каталогов и три базовые команды: pwd, ls, cd. Если вы понимаете, где находитесь, что вокруг и как перемещаться, вы уже можете уверенно делать первые практические шаги в Linux.