Команды линукс

Здесь будет коллекция команд для работы с линукс-сервером. Коллекцию планирую периодически пополнять при появлении новых задач и поиска их решений.

  • Удаление большого количества файлов
    ls -f . | xargs -n 100 rm
  • Еще одно удаление (более быстрое)
    mkdir /test/
    rsync -a --delete /test/ /root/
    rm /test/
  • Проверка размера папок и файлов
     du -sh /* - папок в корне. Остальное по аналогии
  • Показать все активные сетевые соединения
    netstat –na
  • Показать и отсортировать все активные соединения на 80-м порту (порт http).
    netstat -an | grep :80 | sort
  • Показать число полуоткрытых соединений (которые в состоянии SYN RECEIVED). Нормальное количество соединений – до 5. Большие значения таких соединений на сервере могут предвещать наличие происходящей SYN-атаки.
    netstat -n -p | grep SYN_RECV | wc -l
  • Вывести отсортированный список IP-адресов, с которых пришли SYN-пакеты.
    netstat -n -p | grep SYN_RECV | sort –u
  • Вывести список уникальных IP-адресов, с которых пришли SYN-пакеты.
    netstat -n -p | grep SYN_REC | awk '{print $5}' | awk -F: '{print $1}'
  • Вывести результат подсчета количества соединений к серверу с каждого IP-адреса.
    netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort –n
  • Вывести результат подсчета количества соединений с сервером по TCP или UDP протоколам с каждого IP-адреса.
    netstat -anp |grep 'tcp\|udp' | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort –n
  • Вывести результат подсчета количества соединений c сервером с каждого IP-адреса, которые в статусеESTABLISHED (установленные соединения).
    netstat -ntu | grep ESTAB | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort –nr
  • Показать список IP-адресов и количество подключений с них к серверу через порт 80, который по умолчанию используется HTTP-протоколом.
    netstat -plan|grep :80|awk {'print $5'}|cut -d: -f 1|sort|uniq -c|sort -nk 1
  • Изменить права рекурсивно на все вложенные папки
    chmod 755 $(find . -type d)
  • Изменить права рекурсивно на все вложенные файлы
    chmod 755 $(find . -type f)