useful-information.md 6.2 KB


title: "Полезная информация по разным командам Linux" date: 2022-10-01

tags: [linux, shell]

{{< toc >}}

Просмотр журнала

journalctl -b -xe -u NetworkManager

где:

  • b - просмотр последней загрузки. Если указать индекс, начиная с нуля, то можно будет смотреть журнал предыдущих загрузок (0 - текущая, 1 - предыдущая и т.д.);
  • x - вывод расширенной информации (по возможности);
  • e - показ последних записей (перемотка в конец журнала);
  • u - вывод информации от указанного модуля (в данном примере NetworkManager).

Описание NetworkManager

У него есть, также, интерфейс командной строки nmcli.


Необновляемые пакеты

Если в результате выполнения команды sudo apt-get update в консоли появляется следующее сообщение:

Пакеты, которые будут оставлены в неизменном виде:
<перечисление_пакетов>

То необходимо выполнить следующую команду:

sudo apt-get dist-upgrade

Просмотр версии дистрибутива (только для LSB дистрибутивов)

lsb_release -a

Команда удаления всех старых версий ядра

Взято отсюда

sudo apt-get purge $(dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' | head -n -1) --assume-yes

Автоматическое подтверждение перезаписи файлов при копировании

yes | cp -rf xxx yyy

Снятие сетевого дампа

tcpdump -i eth0 -w dump host "hostname.ru"

где:

  • -i - название сетевого интерфейса с которого снимать dump;
  • -w - имя файла, куда сохранять дамп;
  • host - имя хоста трафик с которого снимать.

Разрешение приложению слушать порты ниже 1024

sudo setcap cap_net_bind_service=+ep <app_path>

Увеличение используемого диапазона портов

sysctl net.ipv4.ip_local_port_range="15000 61000"

Без части "=" и дальше покажет текущую установку.

Чтобы прописать настройку в системе постоянно нужно добавить в файл /etc/sysctl.conf следующую строку:

net.ipv4.ip_local_port_range = 1024 65535

Запуск процесса в фоне с перенаправлением вывода в указанный файл

nohup some_command &> nohup2.out&

Проверка DNS

systemd-resolve --status

Дефрагментация

Для проверки фрагментации и дефрагментации разделов (если, вдруг, такое понадобится) используется утилита e4defrag. Проверить фрагментацию можно следующей командой:

sudo e4defrag -c /dev/sdd1

Где /dev/sdd1 - раздел, который проверяется.

Будет выведена примерно следующая информация:

Total/best extents                             792579/758250
 Average size per extent                        226 KB
 Fragmentation score                            1
 [0-30 no problem: 31-55 a little bit fragmented: 56- needs defrag]
 This device (/dev/sdd1) does not need defragmentation.
 Done.

Нужно смотреть на Fragmentation score. Если он в диапазоне 0-30 - дефрагментация не требуется.

Для выполнения дефрагментации нужно выполнить следующую команду:

sudo e4defrag -v /dev/sdd1

где v - вывод расширенной информации (можно не указывать).


Копирование/перемещение заданного количества файлов из одного каталога в другой

Допустим, хотим переместить/скопировать 10 файлов. Команда выполняется в каталоге из которого надо копировать/переместить файлы.

Перемещение

ls . | head -10 | xargs mv -t "$dst_dir"

Копирование**

ls . | head -10 | xargs cp -t "$dst_dir"

Можно использовать find

find ./  -printf "%f\n" | head -n 10 | xargs -I {} mv {} dst_dir

Чтобы не пыталось копировать файл "." лучше задать фильтр файлов

Например:

find ./  -name "*.json" | head -n 10 | xargs -I {} mv {} dst_dir

Также можно использовать параметр -exec

find . -name "*.json" -exec cp {} ../dst-dir/ \;

Изменение временной зоны из консоли

sudo dpkg-reconfigure tzdata

Создание архива zip

zip -r output_file.zip file1 folder1

Настройка максимального количества открытых файлов

Для настройки на время сеанса выполнить команду: ulimit -n 999999. Чтобы задать постоянно, нужно в файле /etc/sysctl.conf прописать:

fs.file-max = 999999