BashMaster
رفتن به کانال در Telegram
Удобные консольные наработки на каждый день для разработчиков, девопсов и сисадминов. Реклама: @Kone4noVasya Канал на бирже: https://telega.in/c/bash_help
نمایش بیشتر8 805
مشترکین
-124 ساعت
-107 روز
-4230 روز
آرشیو پست ها
8 805
Основы работы с терминалом и BASH
Видеоуроки:
1 — Основные команды терминала. Первый скрипт на BASH.
2 — Условия
3 — Циклы
4 — for, let, trap
5 — Функции, рекурсия, модули, массивы
6 — GNU awk
7 — expect, who, mesg, autoexpect
📹 Плейлист на YouTube
🔨 bash_help
8 805
Скрипт, загружающий случайные обои, опубликованные на reddit-канале wallpaper
#!/bin/bash
wget -O - http://www.reddit.com/r/wallpaper |\
grep -Eo 'http://i.imgur.com[^&]+jpg' |\
shuf -n 1 |\
xargs wget -O background.jpg
feh --bg-fill background.jpg
С помощью wget скрипт загружает страницу www.reddit.com/r/wallpaper, передает ее grep, который ищет на ней ссылки на imgur, выбирает случайную ссылку с помощью shuf, загружает ее опять же с помощью wget и устанавливает в качестве обоев, используя команду feh (это такой миниатюрный просмотрщик изображений, его нужно предварительно установить). Скрипт можно добавить на рабочий стол, и тогда по клику у тебя будут меняться обои.
🔨 bash_help8 805
Bash скрипт для удаления файлов старше заданного количества дней в Linux
Поговорим о том, как удалять файлы старше n-ого количества дней, используя для этого простой скрипт написанный на bash.
Создадим файл с названием "DelFileNDay.sh" используя для этого утилиту "cat".
cat > DelFileNDay.sh << EOF
#!/bin/bash
#DEL file > 30 DAY
DAY=30
DIR="/var/log/test/"
find $DIR -type f -mtime +$DAY -exec rm -f {} \;
EOF
DAY=30 - задаем количество дней старше, которых файлы будут удаляться.
DIR="/var/log/test/" - задаем полный путь к директории из которой будут удаляться файлы.
Даем файлу максимальные привелегии с помощью утилиты "chmod".
chmod 777 DelFileNDay.shЗапускаем bash-скрипт.
./DelFileNDay.shЕсли нужно чтобы файлы удалялись автоматически, например раз в день или месяц, то поместите скрипт в директорию "/etc/cron.daily/" или "/etc/cron.monthly/". 🔨 bash_help
8 805
Bash-Scripts
Коллекция Bash-скриптов для автоматизации рутинных задач и оптимизации рабочего процесса. От простого переименования файлов до более сложных развертываний — эти Bash-скрипты помогут вам.
🐙 Перейти на Github
🔨 bash_help
8 805
Bash для тестировщика
Видеоуроки:
1 — Установка и настройка
2 — ls, mkdir, rm команды
3 — mv, cp, nano, less, vi, cat команды
4 — Поиск через grep и find
5 — Команды с выводом и процессами
6 — Команды ping и curl
📹 Плейлист на YouTube
🔨 bash_help
8 805
Интересуешься и увлекаешься Linux? Значит знаешь про командную строку. Но насколько гибко ты её используешь?
Действующие девопсы из @bashdays расскажут тебе простым языком про все тонкости и скрытые возможности работы в консоли.
Присоединяйся к нашему сообществу и забудь про скучную документацию. С нами ты выйдешь на новый уровень, упростишь ежедневный workflow и повысишь свой ценник на рынке.
Помимо консоли и bash, у нас ты найдешь множество тем, которые тебе пригодятся: linux, gitlab, k8s, monitoring, docker, ansible, ci/cd, nginx, mysql, logs, python и т.п.
Подпишись и качай свой hard-skills вместе с нами 🤟
8 805
Простое преобразование вывода в хэш для поиска IDOR
Иногда требуется конвертировать ввод в md5 / base64 / 32 и т.д непосредственно в консоле. Это бывает полезно, особенно когда вы ищите IDOR и конечная точка имеет значение в виде хэша, например:
https://targetdomain.com/user/3bf1114a986ba87ed28fc1b5884fc2f8
Для решения этой задачи, вы можете использовать простой bash-скрипт, совместно с ffuf.
Предположим, у вас есть конечная точка, которая принимает параметр id в виде md5. Мы можем проверить его на IDOR с помощью приведенной ниже команды, которая сгенерирует список чисел от 1 до 1000:
seq 1 1000 | hashit md5 | ffuf -w - -u https://targetdomain.com/user/FUZZ
🔨 bash_help8 805
Справочная информация по любой команде в Linux
Рекомендуем взглянуть на сервис, который предоставляет удобный интерфейс для поиска справочной информации по любой команде в Linux.
Достаточно просто вбить в поисковую строку соответствующую команду со всеми аргументами и вы получите подробное объяснение того, что именно делает каждый аргумент.
🌐 Перейти на сайт
🔨 bash_help
8 805
Docker Backup and VirusTotal Scanner
Bash-скрипт, который создает резервные копии изображений Docker или контейнеров, а затем сканирует их с помощью VirusTotal
🐙 Перейти на Github
🔨 bash_help
8 805
GooFuzz
Это скрипт, написанный на Bash Scripting , который использует расширенные методы поиска Google для получения конфиденциальной информации в файлах или каталогах без отправки запросов к веб-серверу.
🐙 Перейти на Github
🔨 bash_help
8 805
Обработка содержимого файла
Чаще всего вложенные циклы используют для обработки файлов. Так, внешний цикл занимается перебором строк файла, а внутренний уже работает с каждой строкой.
Такой подход можно использовать при обработке файлов формата CSV, или любых подобных файлов, записывая, по мере надобности, в переменную окружения
IFS символ-разделитель.
IFS=$'\n'
for entry in $(cat /etc/passwd)
do
echo "Values in $entry –"
IFS=:
for value in $entry
do
echo " $value"
done
done8 805
Вложенные циклы
В теле цикла можно использовать любые команды, в том числе — запускать другие циклы. Такие конструкции называют вложенными циклами.
for (( a = 1; a <= 3; a++ ))
do
echo "Start $a:"
for (( b = 1; b <= 3; b++ ))
do
echo " Inner loop: $b"
done
done8 805
Цикл while
В цикле можно проверять условие и выполнять тело цикла, пока условие возвращает ноль. Когда условие вернет ненулевое значение, цикл остановится.
var1=5
while [ $var1 -gt 0 ]
do
echo $var1
var1=$[ $var1 - 1 ]
done8 805
Циклы for в стиле C
В bash-скриптах можно использовать циклы for, описание которых выглядит очень похожим на циклы в стиле C, правда, без некоторых отличий тут не обошлось.
for (( i=1; i <= 10; i++ ))
do
echo "number is $i"
done8 805
Циклы for
Циклы for в оболочке bash позволяют перебирать последовательности значений. Они имеют следующую структуру:
for var in list do команды doneВ каждой итерации цикла значение из списка присваивается переменной var. Цикл выполняется для каждого элемента списка по порядку.
8 805
Перебор сложных значений
В списке, использованном при инициализации цикла
for, могут содержаться не только простые строки, состоящие из одного слова, но и целые фразы, в которые входят несколько слов и знаков препинания.
for var in first "the second" "the third" "I’ll do it"
do
echo "This is: $var"
done8 805
Перебор простых значений
Пожалуй, самый простой пример цикла
for в bash-скриптах — это перебор списка простых значений.
Хорошо видно, что в переменную $var последовательно попадают элементы из списка. Происходит так до тех пор, пока цикл не дойдёт до последнего из них.
for var in first second third fourth fifth
do
echo The $var item
done8 805
Обход файлов, содержащихся в директории
Один из самых распространённых вариантов использования циклов for в bash-скриптах заключается в обходе файлов, находящихся в некоей директории, и в обработке этих файлов.
Например, вот как можно вывести список файлов и папок:
for file in /home/likegeeks/*
do
if [ -d "$file" ]
then
echo "$file is a directory"
elif [ -f "$file" ]
then
echo "$file is a file"
fi
done