Склерозник

 

 

/usr/share/doc документация и примеры по основным утилитам
whereis sudoers какие файлы относятся к sudoers
man 5 passwd отобразить man из секции 5 по passwd
ls -l | awk '{print $6, $2, $5}' вывести 6,2,5 столбцы команды ls -l
ls -l | more постраничный подробный вывод
ls -d /etc/* вывод каталога /etc/ без вывода содержимого подкаталогов
ls -l | sort -rk2 сортировка в обратном порядке по 2-му столбцу вывода команды ls
awk '{print $6, $2, $5}' my_file тоже самое вывести из данных в файле
ip a | awk '/192.168/{print $2}' найти значение "192.168" в выводе "ip a" и вывести 2-ой столбец
grep -ir "user" /etc/ поиск "user" в каталоге /etc/ и подкаталогах без учета регистра
grep -B2 -A1 -i err /var/log/messages* выводит 2 строки до и 1 после найденого совпадения
cat /etc/passwd | grep -E "user" | grep -E "nologin" найти строки содержащие "user" И "nologin"
grep -e "user" -e "nologin" /etc/passwd найти строки содержащие "user" ИЛИ "nologin"
find / -type f -newer /tmp/metka ! -path '/proc/*' ! -path '/run/*' найти файлы, новее файла metka, игнорирую пути "proc" и "run"
find / -maxdepth 1 -name file ограниить глубину поиска файла file текущим каталогом
find / -type f -user John найти только файлы (без каталогов), владелец которых John
cp -a /boot /tmp резервное копирование /boot в /tmp (сохраняет владельца, дату и т.п.)
mkdir -p /root/backup/etc создать дерево директорий /root/backup/etc
mkdir -p /root/$(pwd) создать все каталоги в /root с такой же иеархией, по какому пути сейчас находимся  
rsync -a my_file /backup/ архивирование my_file по указанному пути 
rsync -rvh --progress --delete /a1/* /a2/ синхронизировать каталог а1 в каталог а2, удалить в каталоге а2 файлы и директории, которых нет в а1
echo "Hello" | cut -c 1,3,5 вырезать 1,3,5 символы из "Hello"
du -sh --exclude "log" /var/*  вывести размер файлов каталога /var исключив файлы и каталоги содержащие "log"
du -a --max-depth 1 /var/ | sort -rh вывести размер файлов и каталогов /var и отсортировать по размеру 
df -Th /var сколько использовано: общее значение для всего раздела, куда смонтирован /var 
df -i информация по использованию йнод на разделах
head -n3 / tail -n2 вывод первых / последних n строк
sed -n '20,35' file вывести строки с 20 по 35 файла
nl -b a нумерация вывода с учетом пустых строк
cat file | nl -t -v5 -i3 пронумеровать непустые строки файла file, нумерацию начать с 5, увеличивая значение каждого следующего номера на 3
cd перейти в директорию, в которой находились до этого
touch -t 202308241503 filename создать файл с определенной датой
whereis halt размещение бинарных файлов, исходных кодов и руководств, относящихся к файлу 'halt'
which halt отображает полный путь к файлу 'halt'
history -d 23 удалить строку 23 из истории
!21 выполнить команду под номером 21 в history
ln -s /file /tmp/link создать символическую ссылку link в /tmp на файл /file
ln /file /tmp/link  создать жесткую ссылку
diff file1 file2 сравниние содержимого файлов
vimdiff file1 file2 file3 .. сравение содержимого файлов в редакторе vim

 

pstree отобразить дерево процессов
ps -u user -eo pid,ppid,fgroup,lstart,etime,cmd процессы пользователя user с отображением времени запуска и выполнения
ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | tail вывести процессы использующие больше всего ОЗУ
ps -eafw отобразить запущенные процессы, используемые ими ресурсы
ps -Hf -u user вывести подробное дерево процессов пользователя user
ps -e --forest еще вариант вывода дерева процессов
free -h информация о оперативной памяти
shutdown -h 21:00 & запланировать остановку системы на указанное время
jobs, fg %id_процесса, bg %id_процесса список фоновых процессов, отобразить фоновый процесс
watch -n 10 -d команда выполнять команду каждые 10 секунд
lsof -p 98989 отобразить список файлов, открытых процессом с PID 98989
lsof /home/user1 отобразить список открытых файлов из директории /home/user1
lsof -i TCP:59302 показать приложение, которое использует TCP-порт 59302
kill -9 98989 "убить" процесс с PID 98989 "на смерть" (без соблюдения целостности данных)
kill -TERM 98989 корректно завершить процесс с PID 98989
kill -1 98989 заставить процесс с PID 98989 перепрочитать файл конфигурации
nice -n 10 -p 1234 установить приоритет 10 для процесса с pid 1234 (19 - минимальный, -20 - максимальный)
   

 

mount что смонтировано. Данная информация хранится в /etc/mtab
findmnt что смонтировано в древовидном виде
mount -a примонтировать все, что указано в файле /etc/fstab
mount | grep "^/dev" поиск примотированных физических устройств
umount /mnt/data отмонтировать /mnt/data
umount -l /mnt или umount -f /mnt принудитеьно отмонтировать
lsblk -f или blkid вывод физ. устройств с их UUID
fuser -mv /moint_point или lsof -w /mount_point  какими процессами занята точка монтирования
mount /dev/sda1 /mnt примонтировать устройство /dev/sda1 в директорию /mnt
mount -t cifs //10.1.5.43/share /mnt/share -o user=user1,password=123 ver=2.0 примонтировать SMB шару в /mnt/share с версией SMB протокола 2.0
mount -t nfs -O uid=1000,iocharset=utf-8 10.1.5.43:/share /mnt/share примонтировать NFS шару с uid пользователя 1000 и в кодировке utf-8
mount -vvv //10.1.5.43/share /mnt/share детальная информация по монтированию сетевой шары
mount -t tmpfs dir_tmpfs /dir/ -o size=100m примонитровать каталог /dir с именем dir_tmpfs в оперативную память (размер 100МБ)
mount -o loop /home/backup.img /mnt/backup примонтировать образ backup.img (например: снятый с использованием dd)
mount ~/file.iso /mnt примонтировать iso файл
mount -o remount,rw /dev/sda1 /mnt перемонтировать устройство в режим чтения/записи
mount -r /dev/sda1 /mnt монтировать в режиме чтения
mount --uuid="b386d309-05c1-42c8-8364-8d37270b69e0" /mnt примонтировать по UUID устройства
   

 

/boot vmlinuz - ядро, config - с какими параметрами собрано ядро, initrd - образ разворазивается в ОЗУ
/boot/grub загрузчик, grub.cfg - его конфиг
/boot/grub/x86_64-efi или /boot/grub/i386-pc подключаемые модули grub
/bin /sbin системные бинарники (утилиты) ОС
/usr/bin /usr/sbin дополнительное ПО, которое не требуется для работы ОС (например: mc, firefox и т.п.)
/usr /opt сюда устанавливается доп ПО и все осноыные файлы этого ПО как правило здесь
/lib /lib64 системные библиотеки (аналог dll винды), имеют расширение .so
/usr/lib /usr/lib64 дополнительные библиотеки установленного доп. ПО. ldd /путь_к_бинаринку - покажет, какие библиотеки использует бинарник
/usr/lib/modules драйвера устройств, имеют расширение .ko
/home домашние директории пользователей. По-умолчанию сохранять файлы они могут только в своих директориях и в /tmp
/root домашняя директория пользователя root
/etc системные настройки. Если системные настройки пересекаются с персональными, то вторые имеют приоритет
   
   
   
   

  

ОС
journalctl -p3 --since -7d просмотр ошибок ОС уровня 3 и выше за последние 7 дней
journalctl -k | grep -i err поиск возоможных ошибок
dmesg -l4 предупреждения уровня 4 и выше, касаемых оборудования
   
Сеть
ss -tuln или netstat -tuln просмотр активных сетевых подключений
ping -c 4 hostname отправить 4 это запроса до hostname
nsookup hostname dns_server запрос DNS-имени или ip-адреса у  DNS сервера
traceroute hostname маршрут пакетов до целевого хоста
mtr hostname интерактивная версия traceroute, которая показывает статистику потерь и задержек на каждом узле
speedtest-cli позволяет измерить скорость загрузки и выгрузки данных через интернет. требуется установка утилиты
iperf3 -s -p 12345
iperf3 -c server -p 12345 -P 5
тест скорости между двумя хостами. запускаем серверную часть (параметр -s) и указываем прослушиваемый порт -p.
на клиенте (параметр -c) запускаем тест скорости (-p - порт, -P - количество потоков). Требуется установка утилиты iperf3
   
   
ОЗУ
memtester 1024 тест 1GB памяти. Требуется установка утилиты memtest
dmidecode -t memory информация о установленных модулях ОЗУ
cat /proc/meminfo общая информация по ОЗУ
dmesg | grep -i memory или dmesg | grep -i mce поиск ошибок ОЗУ
   
Диски
lsblk -f подробный вывод  блочных устройств
for i in {a..z};do smartctl -a /dev/sd$i;done вывод smart всех дисков системы
fsck -y /dev/sda1 проверить ФС раздела и исправить ошибки
hdparm -Tt /dev/sda тест скорости чтения диска (T - кэш чтения диска, t - реальное чтение)
dd if=/dev/zero of=testfile bs=1G count=1 oflag=direct тест записи на диск (zero - источник нулевых данных, of - имя создаваемого файла, bs - размер блока записи, count - число блоков, oflag - отключить кэш диска).
После выполнения команды, удалить файл testfile
dd if=/dev/zero of=testfile bs=4K count=262144 oflag=direct тест записи маленькими блоками (4KB × 262144 = 1GB)
dd if=testfile of=/dev/null bs=1G count=1 тест скорости чтения. Предварительно должен быть создан файл testfile (см. выше)
iostat -x 1 обращение к дискам в реальном времени
iotop какие процессы обращаются к дисковой подсистеме
dmesg | grep -i sd инфа по возможным ошибкам дисков sda ...sdz
badblocks -sv /dev/sda проверка на бэд блоки. Выполнять на отмонтированном диске, возможно повреждении инфы
cat /proc/mdstat информация о программном рейде
mdadm --detail /dev/md0 подробная информация о программном рейде
  
CPU  
cat /proc/cpuinfo или lscpu информация о процессоре
sensors-detect
sensors
запускаем обнаружение датчиков температуры
выводим информацию по датчикам
stress-ng --cpu 4 --timeout 60s стресс тестирование cpu (--cpu - сколько ядер задействовать, timeout - продолжительность). требуется установка stress
dmesg | grep -i mce MCE — это система обнаружения аппаратных ошибок, которая может сигнализировать о проблемах с CPU
   
   
   

 

 

 

 

chroot изменение корневой системы
journalctl,dmesg системные логи
usermod управление группами и пользователями
vi, vim основной редактор файлов

 

Дополнительно

Конфиги и т.п.