[Сервер] Полезные команды Linux (Debian) с примерами

Быстрое обслуживание системы (Рекомендуется регулярно)

Плановая проверка и базовое обновление

Запустите эту команду, чтобы обновить пакеты, очистить систему от мусора и проверить, нет ли упавших служб. В самом конце выполнения проверьте вывод в консоли (если список systemctl пуст – всё отлично):

sudo DEBIAN_FRONTEND=noninteractive apt update && sudo DEBIAN_FRONTEND=noninteractive apt full-upgrade -y && sudo apt autoremove -y && sudo apt clean && systemctl list-units --state=failed && ([ -f /var/run/reboot-required ] || ! [ "$(ls /boot/vmlinuz-* | sort -V | tail -n 1 | sed 's/.*vmlinuz-//')" = "$(uname -r)" ]) && echo '--- REBOOT REQUIRED ---'

[!info] Зачем нужен DEBIAN_FRONTEND=noninteractive?
Этот флаг включает «немой» режим для обновлений. Он гарантирует, что система не остановит процесс на середине, чтобы задать тебе вопрос о замене файлов конфигурации. Всё пройдёт в автоматическом режиме: пакетный менеджер сам примет безопасное решение, а ты сэкономишь своё время, не дожидаясь окончания процесса перед монитором.

Как понять, что делать дальше?

Как узнать, что изменилось в обновлении ядра

Если после выполнения команды появилось уведомление --- REBOOT REQUIRED ---, это значит, что установился новый билд ядра (например, переход с .88 на .90). Ознакомиться с подробностями исправлений можно по ссылкам:

Источник: справа ссылка - Debian журнал изменений Официальные ChangeLogs ядра Debian
Трекер безопасности ядра Debian – список закрытых уязвимостей (CVE) для твоего дистрибутива.

Также лог изменений конкретного пакета можно прочитать прямо в консоли:

apt-get changelog linux-image-amd64

Обновление и перезагрузка

Используйте эту команду только в том случае, если на предудущем пункте система попросила перезагрузку. --- REBOOT REQUIRED --- Сервер обновится и сам уйдёт в ребут (связь с консолью временно прервётся).

sudo DEBIAN_FRONTEND=noninteractive apt update && sudo DEBIAN_FRONTEND=noninteractive apt full-upgrade -y && sudo apt autoremove -y && sudo apt clean && systemctl list-units --state=failed && sudo reboot

Проверка результата

uname -a && uptime -p

Навигация по файловой системе

ls
cd /home/user/Documents
pwd

Например:

Если вы в домашней папке пользователя:

/home/username

Если вы перешли в папку /etc командой:

cd /etc

а затем выполнили:

pwd

то увидите вывод:

/etc

То есть pwd всегда показывает именно полный путь текущей директории, где вы находитесь.

Работа с файлами и папками

cp file.txt /home/user/backup/
mv oldname.txt newname.txt
rm unwanted.txt
mkdir new_folder
rm -r old_folder

Просмотр содержимого файлов

cat notes.txt
less logfile.log
head example.txt
tail example.txt
tail -f /var/log/syslog

Управление процессами

ps aux
top
kill 1234
killall firefox

Пользователи и доступы

who
last
sudo lastb
id
groups

Диагностика и здоровье системы

systemctl list-units --state=failed
systemctl status fail2ban
systemctl restart x-ui
sudo apt autoremove -y && sudo apt clean

Работа с сетью

ping google.com
ip a
ss -tuln
sudo ss -tulnp

Важно: использование sudo здесь необходимо, чтобы система разрешила увидеть названия и PID процессов, принадлежащих другим пользователям или системе).

Работа с пакетами (APT)

sudo apt update
sudo apt upgrade
sudo apt update && sudo apt upgrade -y

Современный аналог этой команды:

sudo apt update && sudo apt full-upgrade

Комплексное обновление системы, которое синхронизирует списки доступного софта и доводит все установленные пакеты до самых свежих версий.

Преимущество перед старой командой:
В отличие от обычного upgrade, эта команда умеет сама разрешать конфликты: она доставит новые необходимые зависимости или удалит устаревшие, которые мешают обновлению. Это гарантирует, что система обновится полностью, а не «застрянет» на полпути из-за изменившегося состава пакетов.

sudo apt install curl
sudo apt remove curl

Работа с дисками

df -h
du -sh ~/Documents

Журналы и логи

dmesg | less
journalctl -xe
less /var/log/syslog

Архивы

tar -cvf project.tar project/
tar -xvf project.tar
zip -r project.zip project/
unzip project.zip