====== Различные команды ======
===== Смена разрешений =====
find . -type d -exec chmod 0777 {} \;
find . -type f -exec chmod 0644 {} \;
===== Удаление дубликатов =====
find . -type f -exec rm -f /var/repo/'{}' ';'
===== Поиск и замена текста =====
find . -type f -name '*.php' -exec sed -i -r 's@karta_sajta@site_map@g' {} \;
===== Количество элементов в каталогах =====
find /var/log -type d | ( while read A; do B=`ls -l "$A" | wc -l`; echo $B $A; done) | sort -nr
===== 4xx и 5xx статусы, через таб, после версии протокола =====
tail -f /var/log/nginx/access.log | grep -P 'HTTP\/1\.[01]\t[45]\d{2}'
===== Cколько процессов запущено от имени всех пользователей =====
ps hax -o user | sort | uniq -c
===== Убить процессы по маске =====
топорно:
kill `ps ax | grep some_script.php | awk '{print $1}'`
правильно:
pkill -f some_script.php
===== Убрать комментарии и пустые строки =====
cat test.txt | grep -ev "^#\|^$"
===== Топ урл =====
tail /var/log/nginx/access.log -n10000 | awk '{print $6}' | sort | uniq -cd | more
===== Объем занимаемого пространства в папке =====
du -msxc /tmp/* | sort -n -r | more
===== Проверка IP =====
curl http://88.198.46.60 | grep "Your IP is"
===== Поиск дубликатов =====
fdupes -r /home/user
===== Скриптик заменяет unixtime в логе =====
#!/bin/bash
echo "read ${inp}"
cat $1 | while read l; do
d="${l:1:10}"
D=`date -d@$d`
L=${l/$d/$D}
echo $L | tee -a $2
done
===== Выборка c сортировкой по количеству =====
cat access.log | awk -F'\t' '{print $2, $12}'| sort | uniq -c | sort -nr | more
===== Не системные пользователи =====
cat /etc/passwd | awk -F':' '{if ($7 !~ /\/s?bin\/(false|halt|nologin|sync|shutdown)/) print $1,$5}'
{{tag> unix linux bash }}