18 KiB
Оглавление
Настройка сервера
-
groups username
- группы пользователя -
sudo addgroup groupname
- добавить группу -
sudo adduser username
- добавить пользователя -
sudo usermod -aG groupname username
- для добавления пользователя в группу без удаления его из других групп -
su -
: если добавить - (или --login), это переключит вас на пользователя root и загрузит окружение, как если бы вы вошли в систему как root. Это означает, что все переменные окружения будут инициализированы для пользователя root, и вы будете находиться в домашнем каталоге root. -
lsb_release -a
илиhostnamectl
- версия ОС
Пакетный менеджер (apt)
apt remove --purge
илиsudo apt purge
- удаляет как сам пакет, так и все связанные с ним конфигурационные файлыsudo apt autoremove
- используется для удаления пакетов, которые были автоматически установлены в качестве зависимостей для других пакетов, но больше не нужныsudo apt update
- система скачивает список пакетов и их версий с серверов репозиториев, но не устанавливает и не обновляет пакеты.sudo apt upgrade
- обновляет все установленные пакеты до последних доступных версий, основываясь на информации, полученной с помощьюapt update
, однако эта команда не устанавливает новые пакеты или не удаляет старые. Если для обновления пакета требуются новые зависимости, они не будут установлены.sudo apt full-upgrade
- не только обновляет пакеты, но и может устанавливать новые зависимости и удалять старые пакеты, если это необходимо для завершения обновленияsudp apt install
- устанавливает пакетsupo apt search
- поиск пакета по имениsudo apt show
- инфо о пакетеsudo apt autoclean
- для удаления старых неиспользуемых файловsudo apt clean
- APT хранит загруженные .deb файлы в кэше на диске, чтобы очистить этот кэш. Эта команда удаляет все файлы в dir/var/cache/apt/archives/
/etc/apt/sources.list
- основной файл, где перечислены все репозитории. Этот файл указывает, откуда APT будет загружать пакеты./etc/apt/sources.list.d/
- в этот каталог можно добавлять дополнительные файлы для подключения новых репозиториев.
Есть ещё
apt-get
, но это более старая команда, которая в основном используется для скриптов, потому что не предусматривает интерактивную работу с системой
APT работает поверх более низкоуровневого инструмента dpkg
, который непосредственно устанавливает .deb пакеты.
sudo dpkg -i package_name.deb
- для установки.deb
пакетаsudo apt --fix-broken install
- если возникли проблемы с зависимостями
Сеть
cat /etc/ssh/sshd_config | grep Port
- показывает на каком порту открыт sshss -tulpn
- информация о текущих сетевых соединениях и портахcurl ifconfig.me
- узнать публичный ip машиныiptables -L
- правила файрволаiptables -L -v
- подробный выводiptables -L --line-numbers
iptables -L -t nat
- позволяет указать конкретную таблицу для просмотра. Например, для просмотра правил NAT
iperf3
- для измерения скорости передачи данных между серверамиspeedtest-cli
- спидтестspeedtest-cli --list
- список серверовspeedtest-cli --server SERVER_ID
База
-
cp -p
- сохранить атрибуты файлов (время создания, права, владельца) -
cp -v
- выводить информацию о каждом копируемом файле -
mv -v
- подробный вывод при перемещении. -
chmod 644 /etc/passwd
- изменение прав доступа к файлам и директориям -
chown root:root /etc/hosts
- изменение владельца и группы -
ps -aux
- выводит список всех процессов с информацией о пользователях, загрузке, времени и командах -
ps -ef
- полная информация о процессах с идентификаторами владельцев -
top -o %CPU
- сортировка процессов по указанному полю (например, по CPU)shift + v
в top - процессы в древовидной структуре с отображением дочерних процессов1
- нагрузка на поток (логическое ядро)
-
kill -9 1234
- принудительное завершене процесса (1234 — PID процесса) -
df -h
- информация о файловых системах -
df -i
- иноды -
du
- отображение размера файлов и каталогов-s
- отображает только итоговый размер--max-depth=1
- выводит размер каталога и его подкаталогов
-
du -sh /tml
- размер директории -
ifconfig
- информация о сетевых интерфейсах -
ss -tulpn
- информация о сетевых соединениях -
ping
- проверка доступности хоста -
traceroute
- через какие маршрутизаторы проходит пакет до хоста -
nslookup
- информация о DNS-сервере -
sudo useradd -m username
- добавление нового пользователя (-m
- создание домашнего каталога) -
sudo passwd username
- установка или изменение пароля пользователя -
sudo usermod -aG sudo username
- добавить пользователя в группуsudo
-
sudo groupadd developers
- создание новой группы -
tail -f /var/log/*
- логи (-f
- обновление в реальном времени) -
journalctl
- утилита для просмотра логов служб, управляемыхsystemd
-u <service_name>
- просмотр логов конкретной службы
journalctl -u nginx
journalctl -u nginx -f
- просмотр логов в реальном времениjournalctl -n 100
- последние 100 строкjournalctl --since "2024-10-03 12:00:00" --until "2024-10-03 14:00:00"
- логи за конкретный периодjournalctl -p err
- можно показывать только ошибки- emerg (0): Аварийные сообщения.
- alert (1): Требуют немедленных действий.
- crit (2): Критические ошибки.
- err (3): Ошибки.
- warning (4): Предупреждения.
- notice (5): Важные события.
- info (6): Информационные сообщения.
- debug (7): Отладочные сообщения.
-
smartctl -a /dev/sda
- смарт отчет диска, генерит сам диск -
free -m
- оперативная память -
cat /proc/meminfo
- подробно про память -
cat /proc/cpuinfo
- подробно про проц -
traceroute
- путь пакетов от сервера к серверу (промежуточные маршрутизаторы) (mtr
покажет путь в лайве) -
nslookup
,dig @<dns-server> <dns-name>
- инфа о DNS сервере -
curl -Lv domain.ru
- получить html страницу -
curl -v telnet://127.0.0.1:22
- доступность порта -
tcpdump -i any port 9100 -nn
- пакеты через этот порт ъ -
tar
- работа с архивами-cvf
- создать архив-xvf
- извлечь архив-z
- использовать сжатиеgzip
tar -xvfz backup.tar.gz /var/www
dmesg -T
- логи ядра системы
Система
-
lsof
- Команда lsof (List Open Files) в Linux используется для отображения списка открытых файлов в системе. В Linux (и Unix-подобных системах) практически все является файлом, включая сетевые соединения и устройства.lsof
- просмотр всех открытых файловlsof -u username
- файлы открытые конкретным пользователемlsof -p 1234
- поиска файлов открытых определённым процессомlsof -i :80
- соединения по конкретному портуlsof /dev/sda1
- файлы использующие определённое устройство или файловую системуlsof | grep filename
- Если файл заблокирован и его нельзя удалить или переместить,lsof
покажет, какой процесс его использует
-
strace
- системные вызовы -
killall -s 9 <hello>
- убивает все процессы в названием hello (-s
- тип сигнала) -
w
- залогиненые пользователи и времяuptime
-
whoami
- имя залогиненного пользователя -
uptime
- сколько работает система без перезагрузки-s
- время запуска-p
- время работы системы
-
less -S
- не переносит на новую строку -
sudo reboot now
- перезагрузка системы -
sudo shutdown now
- выключить компьютер -
watch "some command"
- переодически запускает команду
Разное
alt .
- перебирает последние аргументы из истории команд (history
), если аргументов нет, то перебирает сами командыctrl R
- поиск команд изhistory
!!
ctrl A
- перемещение курсора в началоctrl E
- перемещение курсора в конецctrl U
- вырезает всё, что СЛЕВА от курсора (ctrl Y
- вставить)ctrl W
- выразает 1 слова, СЛЕВА от курсора (ctrl Y
- вставить)ctrl K
- вырезает всё, что СПРАВА от курсора (ctrl Y
- вставить)cd -
перейти в предыдущую директорию^restart^status
- замена с ... на ... в последней выполненной команде&
- в конце команды и команды будет выполняться в фоновом режимеnohup <command> &
- если закроем терминал команда продолжит выполнятьсяnl
- какcat
, но еще выводит номера строкctrl L
-clear
reset
- используется для сброса настроек терминала и очистки экрана
cd
- вернуться в домашнюю директориюtouch file{4..13}
mkdir dir_{a..f}
cp -iv file1 dir1/file2
- (-i
) спрашиваем будем ли перезаписыватьcp -nv
- не перезаписыватьstat file
- Размер файла (Size): В байтах.
- Тип файла: Обычный файл, каталог и т. д.
- Права доступа (Access): Права на чтение, запись и выполнение для владельца, группы и других пользователей.
- Идентификаторы пользователя и группы (UID/GID): Идентификатор владельца и группы.
- Время изменения (Modify): Дата и время последнего изменения содержимого файла.
- Время последнего доступа (Access): Когда файл был последний раз открыт.
- Время изменения метаданных (Change): Когда были изменены права или метаданные файла.
- Номер inode: Уникальный номер файла в файловой системе.
-
kill -l
- список возможных сигналов -
cp -a source_file destination_directory/
- Опция-a
эквивалентна комбинации нескольких опций:-d
(сохраняет символические ссылки),-p
(сохраняет права доступа, владельца и временные метки), и-r
(рекурсивно копирует каталоги). -
cp -vu
- пропустить совпадающие файлы, а скопировать только файлы новее или отсутствующие
/etc/passwd
- инфо о пользователях в системе
Диски
-
sudo fdisk -l
- Показывает список всех подключенных устройств (жестких дисков, SSD и т.д.).
- Отображает размер дисков, типы разделов, точки монтирования.
- Полезно для диагностики, перед созданием или изменением разделов.
-
lsblk
- показывает дерево всех подключенных устройств, их разделы, точки монтирования. (-f
- для более детальной информации) -
sudo cfdisk <устройство>
- команда для работы с разделами диска -
sudo mkfs.<тип файловой системы> <устройство>
- команда в Linux для создания файловой системы на разделе диска. Она форматирует указанный раздел с выбранной файловой системой. -
/etc/fstab
- это файл конфигурации в Linux, который содержит информацию о том, какие файловые системы должны автоматически монтироваться при загрузке системы.
Каждая строка в /etc/fstab
описывает один файловый раздел и содержит следующие поля:
- Файл устройства (например, /dev/sda1 или UUID диска).
- Точка монтирования (например, /, /home, /mnt/data).
- Тип файловой системы (например, ext4, ntfs, swap).
- Опции монтирования (например, defaults, noatime, ro).
- Параметр для dump (обычно 0, определяет необходимость резервного копирования).
- Параметр для проверки на ошибки (fsck) (0 — не проверять, 1 — проверять при загрузке).
Пример строки
UUID=3b14dabe-6a1a-4a1b-9e41-3d9b26b6ef1f / ext4 defaults 0 1
sudo blkid
- выводит информацию о всех блочных устройствах, включая UUIDmount
- используется для подключения файловых систем (например, жестких дисков, флешек) к определенным точкам монтирования в файловой системе
mount [OPTIONS] <DEVICE> <MOUNTPOINT>
sudo mount /dev/sda1 /mnt
- это монтирует раздел /dev/sda1 в директорию /mntsudo mount -t ext4 /dev/sda1 /mnt
- подключить с указанием типа файловой системы
df -Th
- информация о файловых системах и их типах