Linux для новичков: с чего начать и какие команды знать
- linux
- терминал
- для новичков
Linux работает на большинстве серверов в интернете, в роутерах, телевизорах, смартфонах на Android и в облачной инфраструктуре. Если вы занимаетесь веб-разработкой, рано или поздно вы окажетесь в терминале Linux: на хостинге, в контейнере или на сервере с вашим сайтом. Поэтому базовые навыки полезны каждому.
Эта статья не заменит учебник, но даст карту местности: что это такое, как попробовать и какие команды освоить в первую очередь.
Что такое Linux
Строго говоря, Linux — это ядро операционной системы: программа, которая управляет процессором, памятью и устройствами. Пользоваться одним ядром неудобно, поэтому его собирают вместе с системными утилитами, графической оболочкой и менеджером программ. Такой готовый набор называется дистрибутивом.
Дистрибутивов много, и это нормально: они отличаются удобством, набором программ и правилами обновления, но внутри почти одинаковы. Для старта хорошо подходят:
| Дистрибутив | Кому подойдёт |
|---|---|
| Ubuntu | Самый популярный, много инструкций и ответов на форумах |
| Linux Mint | Привычный интерфейс, похожий на Windows |
| Fedora | Свежие версии программ, любят разработчики |
| Debian | Стабильность и простота, на нём основан Ubuntu, а на Ubuntu — Linux Mint |
Если сомневаетесь, берите Ubuntu или Linux Mint: у них меньше всего сюрпризов, а любую ошибку легко найти в поисковике.
Как попробовать без риска
Ставить Linux вместо Windows для знакомства не нужно. Есть безопасные варианты:
- WSL в Windows. Это Linux внутри Windows без лишних настроек. Откройте PowerShell от имени администратора и выполните
wsl --install. После перезагрузки вы получите терминал с Ubuntu. - Виртуальная машина. VirtualBox или аналогичная программа запускает Linux в окне, как обычное приложение. Диск и данные остаются нетронутыми.
- Live-режим с флешки. Записываете образ дистрибутива на флешку, загружаетесь с неё и пробуете систему, ничего не устанавливая. Для записи подойдут Rufus, balenaEtcher или Ventoy.
- Установка рядом с Windows или вместо неё. Это уже следующий шаг, когда вы поймёте, что Linux вам нравится. Перед ним сделайте резервную копию важных файлов.
Для веб-разработчика самый быстрый старт — WSL или виртуальная машина: терминал появляется за десять минут, а рабочая система остаётся нетронутой.
Как устроена файловая система
В Linux нет дисков C: и D:. Есть одно дерево каталогов, которое начинается с корня /, а все диски и флешки подключаются внутри него. Главные папки:
| Путь | Что там лежит |
|---|---|
/home | Личные папки пользователей: /home/anna. Ваши файлы и настройки |
/etc | Конфигурационные файлы системы и служб |
/var | Данные, которые меняются: логи, базы данных, очереди |
/usr | Установленные программы и библиотеки |
/tmp | Временные файлы |
/root | Домашняя папка администратора root |
Два сокращения пригодятся сразу: ~ означает вашу домашнюю папку, а . и .. — текущую и родительскую папки. Регистр важен: Report.txt и report.txt — разные файлы.
Терминал и первые команды
Терминал выглядит пугающе, но по сути это диалог: вы вводите команду, система отвечает. Строка приглашения обычно показывает имя пользователя, компьютер и текущую папку, например anna@laptop:~$. Символ $ значит «жду команду». В примерах ниже его вводить не нужно.
Где я и что вокруг
pwd # показать текущую папку
ls # список файлов
ls -la # подробный список, включая скрытые файлы
cd projects # перейти в папку projects
cd .. # подняться на уровень выше
cd ~ # вернуться домой
cd - # вернуться в предыдущую папку
Скрытые файлы в Linux начинаются с точки, например .bashrc. Обычный ls их не показывает, а ls -a показывает.
Создание, копирование, удаление
mkdir notes # создать папку
mkdir -p site/css/img # создать вложенные папки за раз
touch notes/todo.txt # создать пустой файл
cp todo.txt copy.txt # скопировать файл
cp -r site site-backup # скопировать папку целиком
mv copy.txt archive.txt # переименовать или переместить
rm archive.txt # удалить файл
rm -r site-backup # удалить папку со всем содержимым
Внимание: корзины в терминале нет. Удалённое через rm возвращается только из резервной копии. Прежде чем удалять папку через rm -r, проверьте путь командой ls.
Просмотр и поиск
cat todo.txt # вывести файл целиком
less big.log # листать длинный файл (выход: q)
head -n 20 big.log # первые 20 строк
tail -n 20 big.log # последние 20 строк
tail -f app.log # следить за файлом в реальном времени
grep "error" app.log # найти строки со словом error
grep -ri "todo" . # искать во всех файлах папки без учёта регистра
find . -name "*.md" # найти файлы по имени
Справка
Не помните флаги? Спросите систему:
ls --help # краткая справка
man ls # полное руководство (выход: q)
Конвейеры и перенаправление
Сила терминала в том, что простые команды соединяются друг с другом. Знак | передаёт вывод одной команды на вход другой, а > и >> записывают вывод в файл:
ls -la | less # листать длинный список
cat app.log | grep "error" # отфильтровать строки
echo "Привет" > hello.txt # записать в файл, заменив содержимое
echo "Ещё строка" >> hello.txt # дописать в конец файла
history | grep ssh # найти прошлые команды со словом ssh
Права доступа и sudo
У каждого файла есть владелец, группа и три набора прав: для владельца, для группы и для остальных. Посмотрите их через ls -l:
-rwxr-xr-x 1 anna anna 120 Sep 20 10:00 script.sh
Первая буква обозначает тип (- файл, d папка), дальше идут три тройки символов: rwx для владельца, r-x для группы, r-x для остальных. r — чтение, w — запись, x — выполнение. Если считать цифрами, r равно 4, w равно 2, x равно 1, и rwx даёт 7, а r-x даёт 5.
chmod +x script.sh # разрешить запуск файла
chmod 644 index.html # владелец читает и пишет, остальные только читают
./script.sh # запустить скрипт из текущей папки
Действия, которые меняют систему, требуют прав администратора. Для этого перед командой ставят sudo:
sudo apt update
Относитесь к
sudoсерьёзно. Не вставляйте в терминал команды из непроверенных источников, не понимая, что они делают, и никогда не запускайте скачанный из сети скрипт от имени администратора, не прочитав его.
Установка программ
Программы в Linux ставят через менеджер пакетов. Он сам скачивает нужное и обновляет установленное. У каждой семьи дистрибутивов он свой:
| Дистрибутивы | Менеджер | Установка программы |
|---|---|---|
| Ubuntu, Debian, Mint | apt | sudo apt install git |
| Fedora | dnf | sudo dnf install git |
| Arch, Manjaro | pacman | sudo pacman -S git |
Типичный порядок действий в Ubuntu:
sudo apt update # обновить список доступных пакетов
sudo apt upgrade # обновить установленные программы
sudo apt install htop # установить программу
sudo apt remove htop # удалить программу
Процессы и состояние системы
whoami # под каким пользователем вы работаете
uname -a # сведения о ядре и системе
df -h # свободное место на дисках
du -sh site # сколько занимает папка site
free -h # оперативная память
ps aux # список запущенных процессов
top # процессы в реальном времени (выход: q)
kill 1234 # завершить процесс с номером 1234
Если программа в терминале зависла, нажмите Ctrl+C: она остановится и вернёт вам строку приглашения.
Горячие клавиши, которые экономят время
- Tab дописывает имена файлов и команд. Нажмите дважды, чтобы увидеть варианты.
- Стрелка вверх листает историю команд.
- Ctrl+R ищет по истории: начните вводить часть старой команды.
- Ctrl+C прерывает текущую команду.
- Ctrl+L очищает экран.
Практика на 10 минут
Повторите шаги по порядку и посмотрите, как реагирует система:
- Перейдите домой и создайте папку для упражнений:
cd ~иmkdir -p linux-practice/docs. - Зайдите в неё:
cd linux-practice. - Создайте файл с текстом:
echo "Первая строка" > docs/note.txt. - Допишите ещё одну строку:
echo "Вторая строка" >> docs/note.txt. - Прочитайте файл:
cat docs/note.txt. - Найдите слово:
grep "Вторая" -r .. - Скопируйте папку:
cp -r docs docs-copy. - Посмотрите результат:
ls -la. - Уберите за собой:
cd ..иrm -r linux-practice.
Если каждый шаг понятен, вы уже владеете базой, на которой держится работа с серверами.
Частые ошибки новичков
- Забыли про регистр.
Documentsиdocuments— разные папки. - Пробелы в именах. Имя
my file.txtнужно брать в кавычки:cat "my file.txt". Проще вообще не использовать пробелы, заменяйте их на дефис или подчёркивание. - Слепое копирование команд. Сначала поймите, что делает каждая часть команды. Сомневаетесь — прочитайте
manили добавьте--help. - Запуск всего через sudo. Если программа просит права администратора без явной причины, остановитесь и разберитесь. Обычные действия с вашими файлами в домашней папке
sudoне требуют. - Бояться терминала. Самая частая ошибка: людей отпугивает сама идея командной строки. Первые несколько дней неудобно, потом руки запоминают.
Что учить дальше
- Текстовый редактор в терминале: nano для начала, потом vim, если захочется.
- SSH: подключение к удалённым серверам командой
ssh user@server. - Git: система контроля версий, с которой работают все разработчики.
- Bash-скрипты: как объединять команды в файл и автоматизировать рутину.
- Службы и логи:
systemctlиjournalctlдля управления сервисами на сервере.
Хорошие бесплатные справочники: страницы man прямо в системе, документация вашего дистрибутива и Linux Journey, где темы разобраны по ступеням.