Справочник по основным командам CentOS для администратора
1. Системная информация и мониторинг
uname — информация о системе
bash
uname -a # Все сведения о системе uname -r # Только версия ядра uname -m # Архитектура процессора
hostnamectl — управление hostname
bash
hostnamectl # Полная информация о системе hostnamectl set-hostname server1.example.com # Изменить hostname
uptime — время работы и нагрузка
bash
uptime # Время работы + средняя нагрузка
date — дата и время
bash
date # Текущая дата и время date --set="2023-12-01 10:00:00" # Установить дату/время timedatectl set-timezone Europe/Moscow # Установить часовой пояс
df — свободное место на дисках
bash
df -h # Человеко-читаемый формат df -i # Использование inodes df -T # С типами файловых систем
du — использование диска
bash
du -sh /home # Размер директории в читаемом формате du -sh /* # Размер всех корневых директорий du -h --max-depth=1 /var # Размер с глубиной просмотра
free — оперативная память
bash
free -h # Память в удобном формате free -m # В мегабайтах free -h -s 5 # Обновлять каждые 5 секунд
top / htop — мониторинг процессов
bash
top # Динамический просмотр процессов htop # Улучшенный top (установить: yum install htop) # Клавиши в top: M - по памяти, P - по CPU, 1 - все CPU, k - kill процесс
lscpu — информация о CPU
bash
lscpu # Все параметры процессора lscpu -p # В формате для парсинга
lsblk — блочные устройства
bash
lsblk # Все блочные устройства lsblk -f # С файловыми системами lsblk -o NAME,SIZE,TYPE,MOUNTPOINT # Выборочные поля
2. Управление пакетами (yum/dnf)
yum — менеджер пакетов (CentOS 7)
bash
yum update # Обновить все пакеты yum install nginx # Установить пакет yum remove httpd # Удалить пакет yum search php # Поиск пакета yum info httpd # Информация о пакете yum list installed # Все установленные пакеты yum provides /etc/passwd # Какой пакет предоставляет файл yum check-update # Проверить обновления yum history # История операций yum clean all # Очистить кэш
dnf — менеджер пакетов (CentOS 8+)
bash
dnf update # Обновить пакеты dnf install package # Установить пакет dnf remove package # Удалить пакет dnf search pattern # Поиск dnf repo list # Список репозиториев
rpm — низкоуровневые операции
bash
rpm -qa # Все установленные пакеты rpm -qi package # Информация о пакете rpm -ql httpd # Файлы в пакете rpm -qf /etc/passwd # Кому принадлежит файл rpm -V httpd # Проверить целостность пакета rpm -ivh package.rpm # Установить rpm файл rpm -e package # Удалить пакет
3. Управление службами
systemctl — управление службами
bash
systemctl start httpd # Запустить службу systemctl stop firewalld # Остановить службу systemctl restart nginx # Перезапустить systemctl reload sshd # Перечитать конфигурацию systemctl enable nginx # Добавить в автозагрузку systemctl disable httpd # Убрать из автозагрузки systemctl status sshd # Статус службы systemctl is-active docker # Проверить активна ли служба systemctl list-units --type=service # Все службы systemctl daemon-reload # Перечитать конфигурации systemd
service — альтернатива (старый стиль)
bash
service httpd start # Запустить службу service network restart # Перезапустить service --status-all # Статус всех служб
4. Управление процессами
ps — процессы
bash
ps aux # Все процессы ps -ef # Полный список ps aux --sort=-%mem # Сортировка по памяти ps aux --sort=-%cpu # Сортировка по CPU ps aux | grep nginx # Поиск процесса ps -p PID -o pid,ppid,cmd # Конкретный процесс
pstree — дерево процессов
bash
pstree # Дерево процессов pstree -p # С PID pstree -a # С аргументами
kill — управление процессами
bash
kill PID # Отправить SIGTERM kill -9 PID # SIGKILL (принудительно) kill -15 PID # SIGTERM (корректное завершение) kill -HUP PID # Перечитать конфигурацию killall nginx # Завершить все процессы по имени pkill nginx # Завершить по имени
nice / renice — приоритеты
bash
nice -n 10 command # Запустить с низким приоритетом renice 15 -p PID # Изменить приоритет процесса
5. Сетевые команды
ip — сетевые интерфейсы (современная)
bash
ip addr show # Все интерфейсы ip link show # Состояние интерфейсов ip route show # Таблица маршрутизации ip -s link # Статистика ip neigh show # ARP таблица ip addr add 192.168.1.10/24 dev eth0 # Добавить IP
ifconfig — сетевые интерфейсы (устаревшая)
bash
ifconfig # Все интерфейсы ifconfig eth0 up # Включить интерфейс ifconfig eth0 192.168.1.10 # Назначить IP
ss — сокеты (замена netstat)
bash
ss -tulpn # Все открытые порты ss -tln # TCP порты ss -uln # UDP порты ss -s # Статистика ss dst 192.168.1.1 # Соединения к адресу
netstat — сокеты (устаревший)
bash
netstat -tulpn # Все порты netstat -rn # Таблица маршрутизации netstat -i # Статистика интерфейсов
ping — проверка связи
bash
ping 8.8.8.8 # Проверка связи ping -c 5 google.com # 5 пакетов ping -I eth1 10.0.0.1 # С указанием интерфейса
traceroute / tracepath — маршрут
bash
traceroute google.com # Определить маршрут tracepath google.com # Альтернатива
dig / nslookup — DNS
bash
dig example.com # DNS запрос dig example.com MX # Запрос MX записей dig @8.8.8.8 google.com # Через конкретный DNS nslookup google.com # Классический DNS запрос
wget / curl — HTTP
bash
wget http://example.com/file.tar.gz # Скачать файл wget -O filename url # Сохранить с именем curl -I http://example.com # Только заголовки curl -o file.txt url # Скачать в файл
firewall-cmd — firewalld
bash
firewall-cmd --list-all # Все правила firewall-cmd --zone=public --add-port=80/tcp --permanent # Открыть порт firewall-cmd --reload # Применить правила firewall-cmd --get-zones # Список зон
6. Работа с файлами и дисками
ls — список файлов
bash
ls -la # Все файлы с деталями ls -lh # Человеко-читаемые размеры ls -ltr # Сортировка по времени ls -R # Рекурсивно
find — поиск файлов
bash
find / -name "*.log" # Поиск по имени find /var -type f -size +100M # Файлы больше 100М find /home -user username # По владельцу find /tmp -mtime +7 # Измененные более 7 дней назад find . -perm 777 # По правам find / -executable -type f # Исполняемые файлы
grep — поиск текста
bash
grep "error" /var/log/messages # Поиск в файле grep -r "pattern" /etc/ # Рекурсивно grep -i "ERROR" file.log # Без учета регистра grep -v "exclude" file.txt # Исключить строки grep -A 3 -B 2 "error" log.txt # С контекстом egrep "(error|warning)" log.txt # Регулярные выражения
chmod / chown — права доступа
bash
chmod 755 file.sh # Установить права (rwxr-xr-x) chmod +x script.sh # Добавить выполнение chmod -R 755 /dir # Рекурсивно chown user:group file # Изменить владельца и группу chown -R www:www /var/www # Рекурсивно
ln — ссылки
bash
ln -s /original /link # Создать символическую ссылку ln file1 file2 # Жесткая ссылка
tar — архивация
bash
tar -czvf archive.tar.gz /dir # Создать gzip архив tar -xzvf archive.tar.gz # Распаковать gzip архив tar -cjvf archive.tar.bz2 /dir # bzip2 архив tar -xvf archive.tar # Распаковать любой tar
rsync — синхронизация
bash
rsync -avz source/ user@host:/dest/ # Синхронизация rsync -avz --delete src/ dest/ # С удалением лишнего rsync -avz -e ssh src/ remote:/dest/ # Через SSH
mount / umount — монтирование
bash
mount /dev/sdb1 /mnt # Монтировать mount -a # Монтировать все из /etc/fstab umount /mnt # Отмонтировать mount -t nfs server:/share /mnt # Монтировать NFS
fdisk / lsblk — разделы
bash
fdisk -l # Список разделов fdisk /dev/sdb # Редактировать таблицу разделов lsblk # Блочные устройства в дереве
blkid — UUID файловых систем
bash
blkid # UUID всех файловых систем blkid /dev/sda1 # Конкретный раздел
7. Пользователи и группы
useradd / userdel — пользователи
bash
useradd username # Создать пользователя useradd -m -s /bin/bash user # С домашней директорией и shell userdel -r username # Удалить с домашней директорией usermod -aG wheel username # Добавить в группу usermod -L username # Заблокировать пользователя
passwd — пароли
bash
passwd username # Сменить пароль пользователя passwd -l username # Заблокировать аккаунт passwd -S username # Статус пароля
groupadd / groupdel — группы
bash
groupadd groupname # Создать группу groupdel groupname # Удалить группу gpasswd -a user group # Добавить пользователя в группу gpasswd -d user group # Удалить из группы
id / who / w — информация
bash
id username # Информация о пользователе who # Кто в системе w # Подробная информация last # История входов
8. Логи и журналы
journalctl — systemd журналы
bash
journalctl -xe # Последние ошибки с деталями journalctl -f # Следить за логами journalctl -u nginx # Логи конкретной службы journalctl --since today # С сегодняшнего дня journalctl --since "2023-01-01" --until "2023-01-02" journalctl -p err # Только ошибки journalctl -o json # В формате JSON journalctl --disk-usage # Размер логов journalctl --vacuum-size=500M # Очистить до 500М
/var/log — основные логи
bash
tail -f /var/log/messages # Основной системный лог tail -f /var/log/secure # Логи безопасности/авторизации tail -f /var/log/httpd/access_log # Apache access log tail -f /var/log/nginx/error.log # Nginx error log dmesg # Лог ядра dmesg | tail -20 # Последние 20 строк
9. SELinux
sestatus / getenforce — статус
bash
sestatus # Полный статус SELinux getenforce # Текущий режим setenforce 0 # Отключить (Permissive) setenforce 1 # Включить (Enforcing)
ls -Z / ps -Z — контексты
bash
ls -Z /var/www # Контексты файлов ps -Zaux # Контексты процессов
chcon / restorecon — управление контекстами
bash
chcon -t httpd_sys_content_t /var/www/html # Изменить тип restorecon -Rv /var/www/html # Восстановить контексты
semanage / audit2allow — управление политиками
bash
semanage fcontext -l # Список правил контекстов audit2allow -a # Создать правила из логов
10. Резервное копирование и восстановление
dd — работа с дисками
bash
dd if=/dev/sda of=/dev/sdb bs=4M # Клонировать диск dd if=/dev/zero of=/swapfile bs=1M count=1024 # Создать swap dd if=/dev/cdrom of=image.iso # Создать ISO
scp — копирование по SSH
bash
scp file.txt user@remote:/path/ # Копировать на удаленный scp user@remote:/path/file.txt . # Скачать с удаленного scp -r dir/ user@remote:/path/ # Рекурсивно
11. Полезные комбинации и примеры
Мониторинг
bash
# Мониторинг сетевых соединений в реальном времени
watch -n 1 "netstat -tulpn | grep ESTABLISHED"
# Мониторинг дискового ввода-вывода
iostat -x 2
# Мониторинг использования CPU в реальном времени
mpstat -P ALL 2
# Найти 10 самых больших файлов
find / -type f -exec du -sh {} + 2>/dev/null | sort -rh | head -10
# Найти файлы измененные за последние 24 часа
find / -mtime -1 -type f 2>/dev/nullБезопасность
bash
# Просмотр активных SSH сессий
who | grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}'
# Проверка неудачных попыток входа
grep "Failed password" /var/log/secure
# Список пользователей с bash оболочкой
cat /etc/passwd | grep /bin/bash
# Проверка SUID файлов
find / -perm -4000 -type f 2>/dev/nullУстранение неполадок
bash
# Поиск причины высокой загрузки ps auxf | sort -nr -k 3 | head -10 # По CPU ps auxf | sort -nr -k 4 | head -10 # По памяти # Проверка свободного места на inodes df -i /home # Проверка чтения/записи диска iotop # Проверка использования сети iftop -n
Быстрые шпаргалки
Проверка системы
bash
# Однострочник для проверки состояния
echo "CPU: $(top -bn1 | grep "Cpu(s)" | awk '{print $2}')% | Memory: $(free -m | awk 'NR==2{printf "%.2f%%", $3*100/$2}') | Disk: $(df -h / | awk 'NR==2{print $5}')"Портфолио команд для ежедневного использования
text
1. Мониторинг: top, htop, df -h, free -m 2. Сети: ip addr, ss -tulpn, ping 3. Процессы: ps aux, kill, systemctl 4. Файлы: find, grep, tail -f 5. Пользователи: id, who, last 6. Логи: journalctl -xe, tail -f /var/log/messages

