linux command notes

# узнать внешний IP из консоли
curl http://smart-ip.net/myip
curl https://wdm.net.ua/myip/
curl http://ifconfig.me

chmod

# Папки
find . -type d -exec chmod 755 {} \; 
# файлы
find . -type f -exec chmod 644 {} \; 

iperf

# сервер
iperf -s
# клиент
iperf -c <IP|DNS сервера>

find

# Удалить папки по маске
find /path/to/dir -name *.svn | xargs rm -rf

# Удалить старые файлы : старее 60 дней
find /records -type f -name *.mp3 -mtime +60 -exec rm -f {} \;

# самые большие файлы
find /path/to/dir -mount -type f -ls 2>/dev/null | sort -rnk7 | head -30

# каталоги сайтов с правами 777
find /var/www/ -maxdepth 3 -type d -perm 0777

# ищем подстроку в архивах 
find /var/log/nginx/ -name domain.access.*.gz  -exec zgrep booter {} \;

# файлы НЕ этого пользователя
find /var/www -not -user www-data

# файлы содержащие несколько слов в любом месте файла
find . -type f -print0 | xargs -0 grep -l  | xargs grep -l 

DU размер папок

# размер одной папки в байтах
du -B1 -d 0 /path/to/dir
# размер папок до первого уровня с человеческим отображением размера
du -d 1 -h /usr/local/www/
# ... CentOS 6.7
du --max-depth=1 -h /usr/local/www/

Image compress

# JPG
apt-get install jpegoptim
# только удаляем лишнюю информацию, эффективность 5-10%
find /path/to/ -name *.jpg | xargs jpegoptim -s
# уменьшение на 20-80%
find /path/to/ -name *.jpg | xargs jpegoptim -s -m50

# PNG
apt-get install optipng
find /path/to/ -name *.png | xargs optipng
# перезаписывает файл - нужно менять владельца
# не понимает русские имена файлов !!!
chown -R www-data:www-data /path/to/

# Best way - convert PNG to JPG
ls -1 *.png | xargs -n 1 bash -c 'convert "$0" "${0%.*}.jpg"'

ls

# количество файлов в разрезе Даты модификации
ls -l --full-time | awk '{print $6}' | sort | uniq -c