Фундамент Linux-Архитектора: Полный справочник по командам

От знания команд к пониманию системы

Чем отличается «системный администратор» от «архитектора»? Админ знает, что 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/folderCreate File: Создать архив archive.tar из папки.
  • tar -xf archive.tarExtract 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

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Прокрутить вверх