Эта заметка — просто свалка самых разных команд, которые иногда спонтанно оказываются нужны, а потом снова успешно забываются. Поэтому, я решил их просто свалить кучей в одну заметку блога, чтобы максимально быстро находить в дальнейшем, если вдруг понадобится снова. Если же эта свалка окажется полезной и еще кому-то — ну чтож, вэлкам! 😉
зы. систематизации этой свалки и не ждите…
Проверка диска на бедблоки с выводом результата (списка обнаруженных бедблоков) в файл:
badblocks -n -s -o badblocks_500g.txt /dev/sdd1
Изменение размера раздела диска (и последующая проверка раздела на ошибки):
resize2fs -f /dev/sda5 fsck.ext4 -cv /dev/sda5
Просмотр текущих настроек (первая команда) и изменение частоты проверки раздела диска при запуске системы:
tune2fs -l /dev/sda1 tune2fs -i 1 /dev/sda1 tune2fs -c 1 /dev/sda1
Создание образа диска и одновременное сжатие его сразу в архив (для многоядерных процессоров имеет смысл вместо команды gzip использовать команду pigz — при сжатии данных будут задействованы все ядра процессора):
dd if=/dev/sda1 bs=8096 | gzip -9cf > sda1.dd-image.gz
Распаковка созданного приведенной выше командой архива образа диска и одновременное копирование его на раздел диска:
gunzip -c sda1.dd-image.gz | dd of=/dev/sda1 bs=8096
Вывод ТОЛЬКО ПОЛЕЗНЫХ (без комментариев) строк выбранного файла настроек (в примере используется файл /etc/dnsmasq.conf, в случае чего — подставьте любой другой, который вам нужен):
egrep -v '^(#|\s#|$)' /etc/dnsmasq.conf
Поиск приложения, «слушающего» необходимый номер порта (в примере — 3990-й):
netstat -anp | grep ":3990"
Вывести список установленных соединений, а также служб-обработчиков :
netstat -anA inet
Вывод информации о ЦПУ:
cat /proc/cpuinfo
Вывод информации обо всех устройствах:
dmidecode
- кстати, если полистать man по команде dmidecode, можно найти описание всех возможных ее ключей. Наиболее полезным, полагаю, окажется ключ —type, позволяющий указать конкретный тип устройств, информацию по которым вы хотите узнать.
Удобная «фишка», благодаря которой в консоли при повторе команд (стрелкой «вверх») осуществляетя поиск по первым буквам. Например, если вы сначала введете два буквы «ex», а потом будете нажимать стрелку вверх, то предлагаться будут только те из команд, хранящихся в «истории», которые начинаются на указанные буквы. Чтобы это происходило, в файл /etc/inputrc нужно добавить такие две строки (или раскоментировать, если они там уже есть):
"\e[A": history-search-backward "\e[B": history-search-forward
Чтобы при использовании программы screen иметь возможность корректно отключаться от сеанса (по ctrl+a+d), нужно в файл /etc/screenrc добавить
defflow off
Преобразование PDF-файла в Word-овский doc в консоли:
soffice --infilter="writer_pdf_import" --convert-to doc исходный_файл.pdf
или же:
libreoffice --invisible --convert-to docx:"MS Word 2007 XML" исходный_файл.pdf
«Склейка» нескольких PDF-файлов в один в консоли (в системе должен быть установлен пакет poppler-utils):
pdfunite file1.pdf file2.pdf output.pdf
Заполнить определенный объем (4096 раза по 1 Мб) раздела диска «нулями»:
sudo dd if=/dev/sda2 of=/dev/null bs=1MB count=4096
- чтобы обнулить не раздел, а диск, в качестве «цели» указывайте не раздел (/dev/sda2), а диск (/dev/sda);
- чтобы «обнулить» все содержимое раздела (или диска), уберите опцию count=4096, и запись будет выполняться до тех пор, пока на разделе не закончится свободное место;
- чтобы изменить размер блока при записи, измените значение параметра bs;
- если есть желание заполнять не нулями, а произвольными значениями (что, имхо, помешает восстановить информацию в дальнейшем), вместо источника /dev/null нужно указать /dev/urandom ;
- если в команду добавить опцию status=progress, процедура будет отображать ход процесса (хоть какую-то информацию о тем, сколько записано, с какой скоростью, сколько затрачено времени, и т.д.).
Простая программа, позволяющая проверить скорость 3D-рендеринга (в системе д.б. установлен пакет mesa-utils):
glxgears
Программа glxinfo из этого же пакета (mesa-utils) позволит получить информацию по видео подсистеме:
glxinfo | grep direct glxinfo | grep rendering
Чтобы посмотреть текущие параметры подключения к сети (адрес, маршрутизацию и используемый сервер разрешения имен):
ip a ip r resolvectl status
Просмотреть информацию о времени, затраченном на загрузку системы:
systemd-analyze
Посмотреть список наиболее критичных моментов загрузки системы:
systemd-analyze critical-chain
Управление службами
- «Разовый» запуск службы (служба не будет загружена после перезагрузки):
sudo systemctl start "имя-службы"
- «Разовая» остановка службы (после перезагрузки служба будет снова запущена):
sudo systemctl stop "имя-службы"
- Перезапуск службы:
sudo systemctl restart "имя-службы"
- Если служба поддерживает такую возможность, задействование («загрузка») обновленного списка параметров, без перезапуска самой службы:
sudo systemctl reload "имя-службы"
- Просмотр текущего статуса (состояния) службы:
systemctl status "имя-службы"
- Включение автоматического запуска службы после перезагрузки компьютера (то есть, после перезагрузки, а также при всех последующих запусках ОС служба будет запускаться автоматически):
sudo systemctl enable "имя-службы"
- Выключение автоматического запуска службы после перезагрузки (то есть, после перезагрузки, а также при всех последующих запусках ОС автоматический старт службы будет отключен):
sudo systemctl disable "имя-службы"
- Полный запрет службы (вместо скрипта управления данной службой подставляется симлинк на /dev/null, в результате чего в дальнейшем службу не получится «включить» или запустить вручную):
sudo systemctl mask "имя-службы"
- Отмена подмены скрипта управления службой симлинком на /dev/null (последующая возможность «включения» или ручного запуска службы будет восстановлена):
sudo systemctl unmask "имя-службы"
Проверка списка версий deb-пакета, доступных во всех подключенных в системе репозиториях (по имени пакета):
sudo apt list -a "имя_пакета"
То же самое, но с более развернутой информацией:
sudo apt-cache policy "имя_пакета"
«Борьба» с лишними локалями — правка файлов в каталоге /var/lib/locales/supported.d/. Увидеть, сколько всего понаписано там изначально, и есть ли в списке лишнее, можно с помощью команды:
cat /var/lib/locales/supported.d/*
Изменение шага регулировки громкости («мультимедийными» кнопками клавиатуры) в десктопе Mate (для Gnome в команде нужно просто заменить «mate» на «gnome»):
gsettings set org.mate.SettingsDaemon.plugins.media-keys volume-step 2
На одном из компьютеров «отпадала» (точнее, «не возвращалась») сеть после выхода из сна. По совету одного из форумов в папке /usr/lib/systemd/system-sleep/ был создан файл r8169 такого содержания:
#!/bin/sh # r8169 sleep case $1 in pre) modprobe -r r8169 ;; post) modprobe r8169 ;; esac
После чего данному файлу был присвоен «бит выполнения». Проблема ушла.
далее будет…