Инструменты пользователя

Инструменты сайта


Боковая панель


Программное обеспечение
Черновики


Краткая инструкция

howto:utils:unix

Различные команды

Смена разрешений

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}'
howto/utils/unix.txt · Последние изменения: 2019/01/17 14:06 — Алексей Кожевников