# Полезная информация по разным командам Linux | Max Wiki Site
Просмотр журнала Описание NetworkManager Необновляемые пакеты Просмотр версии дистрибутива (только для LSB дистрибутивов) Команда удаления всех старых версий ядра Автоматическое подтверждение перезаписи файлов при копировании Снятие сетевого дампа Разрешение приложению слушать порты ниже 1024 Увеличение используемого диапазона портов Запуск процесса в фоне с перенаправлением вывода в указанный файл Проверка DNS Дефрагментация Копирование/перемещение заданного количества файлов из одного каталога в другой Перемещение Копирование** Можно использовать find Чтобы не пыталось копировать файл “.

# Полезная информация по разным командам Linux

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

    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