====== Полезные фрагменты shell-скриптов ====== под shell имеется ввиду posix-совместимый /bin/sh ===== Понижение приоритета текущего процесса ===== renice -n +20 -p $$ 2>/dev/null ===== Изменение расширения у файлов ===== ext=tar.gz for i in *.$ext; do mv -v $i "${i%.$ext}.tgz" done ===== Посмотреть с каких IP больше всего подключений к данному серверу на определенный порт ===== LC_ALL=C; export LC_ALL # sort -rn работает неправильно при LC_NUMERIC=ru_RU.KOI8-R IP=$(host -t A $(hostname) | awk '{ print $NF}') netstat -an -ptcp | awk "/ $IP\.25 .* ESTABLISHED/ { sub(/\.[0-9]*$/,\"\",\$5); print \"- \"\$5 }" | sort | uniq -c | sort -rn ===== tcpdrop.sh - сброс всех подключений к данному IP ===== if [ "$#" -ne "1" ]; then echo "usage: $0 IP" exit 2 fi IP=$1 netstat -n -f inet -p tcp | fgrep " $IP." | sed -e 's/^.* \([0-9]*\.[0-9]*\.[0-9]*\.[0-9]*\)\.\([0-9]*\) * \([0-9]*\.[0-9]*\.[0-9]*\.[0-9]*\)\.\([0-9]*\) .*$/sudo tcpdrop \1 \2 \3 \4/' | sh ====== jot - генерация списков ====== список ip 192.168.15.0 .. 192.168.15.255 jot -w 192.168.15.%d 256 0