От знания команд к пониманию системы
Чем отличается «системный администратор» от «архитектора»? Админ знает, что ps aux показывает процессы. Архитектор знает, как, скомбинировав ps, grep, awk и pkill, написать скрипт, который автоматически найдет и «убьет» «подвисшие» процессы, потребляющие больше 1 ГБ памяти.
Команды Linux — это не просто шпаргалка, которую нужно выучить. Это алфавит. Нельзя написать роман, не зная букв. Нельзя построить автоматизированную, надежную инфраструктуру, не владея этим алфавитом в совершенстве.
Этот гайд — не просто очередной «cheatsheet». Это структурированный справочник-фундамент «Admin Future». Мы разбили сотни команд на логические блоки: от управления пользователями до глубокой диагностики сети и «железа».
«Админ» ищет здесь команду, когда «пригорело». «Архитектор» использует этот справочник как палитру для проектирования своих решений.
1. Управление пользователями и группами
Каждый пользователь и группа — это точка контроля доступа. Управление ими — основа безопасности.
id– Подробная информация о пользователе (uid, gid и группы).last– Список информации о последних входах в систему (время, IP, длительность).who– Просмотр авторизованных в данный момент пользователей.w– Более подробныйwho: кто и что сейчас делает.whoami– Отображает ваше текущее имя пользователя.groupadd "testgroup"– Создает группу с именем «testgroup».adduser NewUser– Добавляет пользователя с именем «NewUser» (интерактивный режим).userdel NewUser– Удаляет пользователя с именем «NewUser».usermod [options] NewUser– Изменяет информацию о пользователе (например,usermod -aG sudo NewUserдобавит его в группу sudo).
2. Навигация и работа с файлами
Основа основ. «Архитектор» отличается от «админа» тем, что делает это быстро и безопасно (особенно rm).
Навигация
pwd– Отображает текущий рабочий каталог (Print Working Directory).cd /– Переход в корневой (не «основной») каталог.cdилиcd ~– Переход в ваш домашний каталог (из переменной$HOME).cd ..– Переход на один уровень вверх.cd -– Переход в предыдущий каталог, в котором вы были.
Работа с файлами и каталогами
ls -al– Показывает файлы и каталоги, включая скрытые (a), в виде списка (l).mkdir NewFolder– Создает новый каталог «NewFolder».rm NewFile– Удаляет файл «NewFile» (спросит подтверждение).rm -f NewFile– Принудительное удаление файла (без подтверждения).rm -r NewFolder– Рекурсивно удаляет каталог «NewFolder» и все его содержимое.rm -rf NewFolder– Принудительное и рекурсивное удаление. Самая опасная команда. Думайте дважды.cp oldfile newfile– Копируетoldfileвnewfile.cp -r olddir newdir– Рекурсивно копирует каталог «olddir» в «newdir».mv oldfile newfile– Перемещает или переименовываетoldfileвnewfile.ln -s /path/to/original /path/to/link– Создает символическую ссылку («ярлык»).touch newfile– Создает пустой файл или обновляет время модификации существующего.cat > newfile– Помещает стандартный ввод (STDIN) вnewfile(Ctrl+D для сохранения).more newfile– Выводит содержимое файла постранично (пробел — следующая страница).less newfile– Улучшенныйmore(позволяет листать вверх и вниз).head newfile– Выводит первые 10 строк файла.tail newfile– Выводит последние 10 строк файла.tail -f /var/log/syslog– Ключевая команда админа. Показывает лог-файл в реальном времени.
Безопасность и подсчеты
gpg -c newfile– Шифруетnewfileс помощью пароля.gpg newfile.gpg– Расшифровывает файл.wc newfile– Выводит количество строк, слов и байт в файле.
3. Права доступа (Permissions)
Если вы не понимаете chmod, вы не контролируете свой сервер.
chmod 777 /path/to/file– (Плохая практика!) Устанавливает праваrwx(чтение, запись, выполнение) для всех (владелец, группа, другие).chmod 755 /path/to/folder– (Стандарт)rwxдля владельца,r-x(чтение/выполнение) для группы и других. Идеально для папок.chmod 644 /path/to/file– (Стандарт)rw-для владельца,r--(только чтение) для группы и других. Идеально для файлов.chown newuser newfile– Меняет владельца (owner) файла.chown newuser:newgroup newfile– Меняет владельца и группу файла.chown -R newuser:newgroup /path/to/folder– Рекурсивно (-R) меняет владельца и группу для папки и всего ее содержимого.stat -c “%U %G” newfile– Быстро показывает владельца (User) и группу (Group) файла.
4. Поиск и фильтрация (Find & Grep)
Это то, что отделяет «архитектора» от «админа». find и grep — ваши главные инструменты диагностики.
grep "search" /path/to/file– Ищет строку «search» в файле.grep -r "search" /path/to/folder– Рекурсивно (-r) ищет строку во всех файлах в папке.locate newfile– Мгновенно находит файл, используя обновляемую базу данных. (Быстро, но может быть неактуально. Запуститеupdatedb).find /etc/ -name “nginx.conf”– Ищет файл с точным именемnginx.confв каталоге/etc.find /etc/ -name “*.conf”– Ищет все файлы, заканчивающиеся на.conf.find / -size +1G– Найти все файлы размером более 1 ГБ во всей системе.
5. Архивирование и сжатие
tar -cf archive.tar /path/to/folder– Create File: Создать архивarchive.tarиз папки.tar -xf archive.tar– Extract File: Распаковать архив.tar -zcvf archive.tar.gz /var/log/– Zip Create Verbose File: Создать сжатый (gz) архив с подробным выводом.gzip newfile– Сжимает файл (заменяя его наnewfile.gz).gunzip newfile.gz– Распаковываетnewfile.gz.
6. Управление пакетами (Установка ПО)
Сервер без ПО бесполезен.
RPM-based (CentOS, RHEL, Fedora)
rpm -i pkg_program.rpm– Устанавливает пакет из локального.rpmфайла.rpm -e pkg_name– Удаляет пакет.dnf install pkg_name– Устанавливает пакет из репозитория (современная заменаyum).dnf update– Обновляет все пакеты в системе.
DEB-based (Debian, Ubuntu, Mint)
dpkg -i pkg_name.deb– Устанавливает пакет из локального.debфайла.dpkg -r pkg_name– Удаляет пакет.apt update– (Критично!) Обновляет списки пакетов из репозиториев.apt upgrade– Обновляет установленные пакеты до новых версий.apt install pkg_name– Ищет в репозитории и устанавливает пакет со всеми зависимостями.apt remove pkg_name– Удаляет пакет.apt autoremove– Удаляет «осиротевшие» зависимости.
7. Управление процессами
Сердцебиение вашего сервера.
ps– Показывает ваши текущие запущенные процессы.ps aux– Показывает All (все) процессы Users (всех пользователей) с X (подробным) форматом.ps aux | grep 'nginx'– «Архитекторский» способ найти, запущен лиnginxи какой у него PID.top– Интерактивный диспетчер задач в реальном времени. (Нажмитеqдля выхода).htop– Улучшенный, цветной и интерактивныйtop(часто требуетapt install htop).kill PID– «Вежливо» просит процесс с номеромPIDзавершиться.kill -9 PID– (Жестко) «Убивает» процесс. Последнее средство.killall process-name– «Вежливо» убивает все процессы с именемprocess-name.pkill process-name– Более гибкий способ «убить» процесс по имени.pstree– Показывает процессы в виде «дерева».lsof– (Супер-утилита) List Open Files. Показывает, какие файлы используются какими процессами.lsof -i :80– Показывает, какой процесс слушает80порт.
8. Анализ системы, «железа» и дисков
Что «под капотом» и сколько места осталось.
Система
uname -a– Полная информация о системе и ядре.uptime– Как долго работает сервер и какая средняя загрузка (Load Average).hostname– Имя хоста.hostname -i– IP-адрес хоста (внутренний).last reboot– Показывает историю перезагрузок.date– Текущая дата и время.timedatectl– Управление временем и часовым поясом.
«Железо»
dmesg– Сообщения ядра (полезно для диагностики «отвалившихся» устройств).cat /proc/cpuinfo– Вся информация о процессоре.cat /proc/meminfo– Вся информация об оперативной памяти.free -m– Показывает использование RAM и swap в Мегабайтах (-m).lshw– Показывает всю информацию об оборудовании.lsblk– Показывает блочные устройства (диски и разделы).lspci -tv– Показывает PCI-устройства (видео, сеть) в виде дерева.lsusb -tv– Показывает USB-устройства в виде дерева.
Диски
df -h– (Must-have) Disk Free. Показывает свободное место на смонтированных разделах в «человекочитаемом» (-h) виде.df -i– Показывает свободные inodes (если место есть, а файлы не создаются — проблема здесь).du -sh /path/to/folder– (Must-have) Disk Usage. Показывает, сколько места занимает папка.fdisk -l– Показывает разделы на дисках.mount /dev/sdb1 /mnt– Монтирует раздел/dev/sdb1в папку/mnt.
9. Сеть и удаленные подключения
Как ваш сервер общается с миром.
Диагностика сети
ip addr show– (Современный) Показывает IP-адреса и интерфейсы.ifconfig– (Устаревший) Старый способ посмотреть IP-адреса.ping domain.com– Проверяет, «жив» ли хост и есть ли до него сеть.netstat -pnltu– (Must-have) Показывает все Processes (процессы), Numeric (цифровые порты), Listening (слушающие), TCP и UDP порты. Главный инструмент, чтобы увидеть, что «торчит» наружу.whois domain.com– Информация о владельце домена.dig domain.com– Подробная DNS-информация о домене.wget [ссылка]– Скачивает файл из интернета.
Удаленные подключения
ssh user@host– Подключение к удаленному хосту по SSH.ssh -p 2222 user@host– Подключение, если SSH висит на нестандартном порту (-p).telnet host 22– Простой способ проверить, открыт ли порт22на хосте.
Вывод: Инструменты в ваших руках
Этот справочник — ваш арсенал. «Админ» знает, как работает каждый из этих инструментов по отдельности. «Архитектор» умеет их комбинировать.
Он не просто ищет большие файлы (find). Он ищет большие .log файлы старше 30 дней и автоматически архивирует их, используя find /var/log -name "*.log" -mtime +30 -exec tar -zcvf {}.tar.gz {} \;.
Используйте этот гайд как фундамент, чтобы строить свои, более сложные и автоматизированные решения.
Теги: #linux #bash #commands #sysadmin #cheatsheet #reference #automation #devops
Хотите стать архитектором будущего, а не просто админом? Эта статья — лишь верхушка айсберга. В нашем Telegram-канале «Admin Future» мы каждый день публикуем системные гайды, готовые скрипты, AI-лайфхаки и чеклисты, которые не найти в Google. Мы не просто постим команды — мы строим библиотеку знаний для тех, кто хочет расти от админа до архитектора. Подписывайтесь и становитесь экспертом: Admin Future