nix:shell:hacks
Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
nix:shell:hacks [2022/04/08 09:55] – [Делпаем свой "Антивирус"] san | nix:shell:hacks [2025/01/28 14:29] (текущий) – [Всякие хитрости в shell] san | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
====== Всякие хитрости в shell ====== | ====== Всякие хитрости в shell ====== | ||
+ | |||
+ | ===== сбор сетевой информации о системе ===== | ||
+ | |||
+ | <file bash get_net_info.sh> | ||
+ | # | ||
+ | | ||
+ | log=" | ||
+ | :> | ||
+ | ( | ||
+ | echo "ip a" | ||
+ | ip a | ||
+ | echo "ip r list table all" | ||
+ | ip r list table all | ||
+ | echo "ip ru" | ||
+ | ip ru | ||
+ | | ||
+ | echo " | ||
+ | iptables -S | ||
+ | echo " | ||
+ | iptables -S -t nat | ||
+ | echo " | ||
+ | iptables -S -t mangle | ||
+ | ) >> | ||
+ | </ | ||
===== получить список каталогов в текущей папке ===== | ===== получить список каталогов в текущей папке ===== | ||
Строка 34: | Строка 58: | ||
</ | </ | ||
- | ===== Делпаем свой " | ||
- | Ну антивирус - громко сказано, | ||
- | База сигнатур, | ||
- | <file text scanbase.txt [enable_line_numbers=" | ||
- | Simple Text | ||
- | Simple {0,1}Text | ||
- | Simple[ -_]{0, | ||
- | (S|s)imple (T|t)ext | ||
- | ^Simple Text | ||
- | Simple Text$ | ||
- | </ | ||
+ | ===== получить список каталогов в текущей папке ===== | ||
- | Сам скрипт сканера: | + | <code bash> |
- | <file bash scan.sh> | + | ls -d */|sed 's/\/ |
- | #!/bin/bash | + | |
- | dir=$(cd " | + | </ |
- | if [[ -z "$1" | + | ===== полный путь к каталогу скрипта ===== |
- | inc="" | + | |
- | if [[ -n "$2" ]]; then | + | <code bash> |
- | for i in $(echo " | + | dir="$(cd "$(dirname |
- | fi | + | |
+ | </ | ||
+ | |||
+ | ===== имя текущего скрипта ===== | ||
+ | |||
+ | <code bash> | ||
+ | basename | ||
+ | |||
+ | </ | ||
+ | |||
+ | То же самое, но еще отрезаем от имени расширение файла | ||
+ | |||
+ | <code bash> | ||
+ | basename | ||
+ | |||
+ | </ | ||
+ | |||
+ | То же самое, но еще отрезаем от имени все расширения файла | ||
+ | |||
+ | <code bash> | ||
+ | basename $0|sed | ||
+ | |||
+ | </ | ||
+ | |||
+ | ===== pipefail ===== | ||
+ | |||
+ | Если опция pipefail включена — статус выхода из конвейера является значением последней (самой правой) команды, | ||
+ | |||
+ | <code bash> | ||
+ | set -o pipefail | ||
+ | |||
+ | </ | ||
+ | ===== tail с подсветкой слов ===== | ||
+ | |||
+ | <code 4cs> | ||
+ | tail -F / | ||
+ | |||
+ | |||
+ | </ | ||
+ | |||
+ | Команда будет выводить на экран файл как обычный tail, но при этом подсвечивая строки ' | ||
+ | |||
+ | Ключ -E для grep включает расширенные регулярные выражения. Это даст возможность использования пайпа '' | ||
- | echo " | ||
- | cmd=$(echo egrep -rnI -f " | ||
- | echo " | ||
- | eval $cmd | ||
- | echo " | ||
- | </ |
nix/shell/hacks.1649400946.txt.gz · Последнее изменение: 2022/04/08 09:55 — san