BashMaster
رفتن به کانال در Telegram
Удобные консольные наработки на каждый день для разработчиков, девопсов и сисадминов. Реклама: @Kone4noVasya Канал на бирже: https://telega.in/c/bash_help
نمایش بیشتر8 813
مشترکین
-224 ساعت
-157 روز
-4030 روز
آرشیو پست ها
8 812
Распродажа VPS для ваших задач!
DLine Media предлагает VPS от 100 рублей 😎
Преимущества:
▪️серверное железо
◽️быстрые NVMe диски
▪️ неограниченный трафик
◽️ топовые зарубежные и российские локации
▪️цены в рублях (!)
◽️оплата по договору или картой РФ
▪️собственный ЦОД
◽️выделенный VLAN
▪️поддержка IPv6
◽️VNC доступ из браузера
▪️удобная панель управления
◽️установка любой ОС
▪️низкая стоимость
◽️круглосуточная поддержка
Количество VPS по скидке ограничено, заказ на сайте:
https://tglink.io/f30ce2ed152d?erid=LjN8Ju4FG
8 812
⚙️ Bash. Как обойтись без goto
✔️Если вы программировали в командой оболочке cmd в Windows, то вы, возможно, использовали оператор
goto для того, чтобы выполнять различные блоки операторов. В bash нет оператора goto, и он, в общем, и не нужен. Однако, при переходе от cmd к bash может возникнуть вопрос, как же обойтись без goto в bash. Процесс выполнения скрипта в этих оболочках различается, тем не менее, можно написать в любой из них скрипт, который будет работать точно так же, как и скрипт в другой оболочке.
➡️ Пример 1: Несколько блоков, из которых должен выполниться только один.
Скрипт на cmd:
@echo off if %1 == 1 goto LABEL1 if %1 == 2 goto LABEL2 if %1 == 3 goto LABEL3 goto END :LABEL1 echo Parameter: 1 goto END :LABEL2 echo Parameter: 2 goto END :LABEL3 echo Parameter: 3 :END▶️Пример очень простой, между меткой и оператором
goto может быть значительно большее количество команд, конечно же. И для операторов после LABEL3 переход нам не нужен, потому что и так уже достигнут конец скрипта.
▶️Скрипт на bash:
#!/bin/bash
label1(){
echo "Parameter: 1"
}
label2(){
echo "Parameter: 2"
}
label3(){
echo "Parameter: 3"
}
if [ "$1" == "1" ]; then label1; fi
if [ "$1" == "2" ]; then label2; fi
if [ "$1" == "3" ]; then label3; fi
▶️В целом скрипты выполняются абсолютно идентичным способом. Различия вот в чем. В bash необходимо определить функцию до того, как она будет вызвана в первый раз. В cmd не используются функции, поэтому гибкость алгоритма обеспечивается непосредственными переходами при помощи goto на метку. Метка может быть в любом месте скрипта, как до команды перехода, так и после. В плане гибкости cmd имеет некоторое преимущество в том смысле, что метку можно вставить в любое место скрипта. Но bash с использованием функций позволяет сделать скрипт более строгим, более предсказуемым.
▶️А в плане результата данный пример и в cmd, и в bash одинаков. Главное понять, что в cmd сам скрипт является целиком линейным, а в bash за счет возможности создания функций не является, так как сама функция представляется при ее вызове как обычная команда.
➡️ Пример 2: При соблюдении условия будет выполняться дополнительная часть команд.
▶️Скрипт на cmd:
@echo off if %1 == 1 goto LABEL1 if %1 == 2 goto LABEL2 if %1 == 3 goto LABEL3 goto END :LABEL1 echo Parameter: 1 :LABEL2 echo Parameter: 1 or 2 goto END :LABEL3 echo Parameter: 3 :END▶️Получатся вложенный блок, который можно показательно выделить отступами
:LABEL1
echo Parameter: 1
:LABEL2
echo Parameter: 1 or 2
goto END
▶️Такой вариант в bash будет выглядеть следующим образом:
#!/bin/bash
label2(){
echo "Parameter: 1 or 2"
}
label1(){
echo "Parameter: 1"
label2
}
label3(){
echo "Parameter: 3"
}
if [ "$1" == "1" ]; then label1; fi
if [ "$1" == "2" ]; then label2; fi
if [ "$1" == "3" ]; then label3; fi
▶️Вложенный блок выделяется в отдельную функцию label2, вызов которой осуществляется из label1. НО! Эта функция должна быть УЖЕ ОПРЕДЕЛЕНА к моменту первого вызова, поэтому в скрипте она должна находиться ВЫШЕ функции label1.
🖼️ Ссылка на источник
🔨 bash_help8 812
Repost from КИБЕР МЕДИА
⏺ UserGate открывает новую страницу в истории российского NGFW-строения!
Предлагаем вашему вниманию видео с честным нагрузочным тестированием нового решения – UserGate DCFW.
UserGate Data Center Firewall (DCFW) – высокопроизводительный межсетевой экран следующего поколения с широкими функциональными возможностями и высокой отказоустойчивостью для защиты дата-центров и крупных корпоративных сетей.
Это решение для тех, кому требуется защита сетей с трафиком, исчисляемым в десятках гигабит в секунду: корпоративные сервисы крупного бизнеса, государственные информационные системы, ЦОДы, интернет-провайдеры.
➡️ Смотреть запись
*Реклама, ООО «Юзергейт»
8 812
⚙️ basht
✔️Файловый менеджер терминала, написанный на bash.
▶️Он использует fzf для навигации и выбора файлов и каталогов. Имеет предварительный просмотр изображений, различные темы.
🐙 Перейти на Github
🔨 bash_help
8 812
Вебинар
Новая система управления доступом пользователей Eltex NAICE
29.11.2024
14:00 по МСК
План вебинара:
- Общая информация о NAC системах
- Что уже сделано в NAICE
- Демонстрация настроек и работы авторизации пользователей домена AD
- Профилирование устройств
👉 Регистрация
👤 Ведущий вебинара:
Алексей Листаров — инженер с многолетним опытом работы в крупном операторе связи. Сертифицированный преподаватель Академии Eltex.
#eltex #eltexcm #вебинар #naice
@eltexcm
Реклама. ООО "ЭЛТЕКС КОММУНИКАЦИИ". ИНН 7714966730.
8 812
⚙️ LazyJournal
✔️Терминальный пользовательский интерфейс (TUI) для journalctl, логов файловой системе и контейнеров Docker для быстрого просмотра и фильтрации, написанный на языке Go с использованием библиотеки gocui.
▶️Простая установка, для запуска достаточно загрузить в систему один исполняемый файл без зависимостей.
▶️Проект вдохновлен работами Jesse Duffield, по этому интерфейс будет знаком всем тем, кто уже использует LazyDocker и LazyGit.
▶️Для всех журналов присутствует возможность динамической фильтрации вывода с поддержкой нечеткого поиска и регулярных выражений (в стиле fzf и grep), а также подсветкой найденных слов.
▶️Позволяет получить список всех доступных журналов юнитов из journalctl (используется для чтения логов из подсистемы systemd).
▶️Возможность просматривать все доступные лог-файлы из каталога /var/log с сортировкой по дате изменения (например, для Apache, Nginx или СУБД), включая доступ к архивным логам.
▶️Поддержка логов контейнеров Docker.
▶️Проект будет полезен в первую очередь для системных администраторов Linux, больше не нужно вручную искать журналы в системе и каждый раз вызывать grep.
🐙 Перейти на Github
🔨 bash_help
8 812
Я айтишник и я устал!
С годами работы в IT все сильнее напрягает рутина, прокрастинация, куча задач и 0 желания их выполнять. Че делать?
Рекомендуем подписаться на того, кто уже не первый год работает с IT-специалистами и помогает им справиться с апатией и прокрастинацией - Психолог с научным подходом.
✔️ Как оторваться от ленты соцсетей и сесть за работу с удовольствием?
✔️ Как спокойно общаться с коллегами, если они бесят?
✔️ Как избавиться от постоянной тревожности?
✔️ Как успокоить конфликты в семье и перестать срываться на всех, а вместо этого получить поддержку и понимание со стороны близких?
Подписывайся на канал @remizov_changes - начни работать и жить в кайф, не скатываясь в кризисы и выгорание!
А в закрепе тебя уже ждут бонусы:
👨🏻💻 Видео, в котором ты найдёшь ответ на вопрос «Почему у тебя нет энергии и что с этим делать» + гайд как IT-специалисту вернуть энергию, даже если не получается отдохнуть.
8 812
⚙️ Парсим данные с GisMeteo в bash’е
✔️Если вы вдруг каким-то чудом еще не слышали про сайт gismeteo.ru, то, в двух словах, это сайт, на котором публикуется текущая информация о погоде для различных населенных пунктов. Чтобы посмотреть, что сейчас примерно на улице за погода (с определенной погрешностью, естественно), достаточно открыть сайт и посмотреть. Кроме того, у этого сайта есть возможность получать данные в формате XML.
▶️Но мы не будем пользоваться форматом XML, потому что для корректного разбора xml обычно используются дополнительные программы. Мы воспользуемся другими программами, которые обычно в системе уже присутствуют (за исключением curl, который по умолчанию имеется не во всех системах) — bash, sed и curl. Curl нужен только для получения странички по протоколу https, и вместо него можно воспользоваться любой другой программой, которая может получить страничку по https и вывести ее в терминал (это может сделать и wget, и links), можно использовать ту программу, которая вам больше нравится.
▶️Главная задача этого скрипта — выводить в консоль информацию о погоде в текстовом режиме. Чем этот скрипт может быть еще полезен? Тем что результат его работы можно использовать для отправки себе в качестве SMS, по электронной почте или использовать для отображения на рабочем столе при помощи conky.
➡️ Для настройки скрипта потребуется адрес страницы, на которой находятся данные о погоде в соответствующем городе. У меня это будет Санкт-Петербург. Вы можете свой URL найти просто скопировав из браузера адрес страницы и вставив его в скрипт.
#!/bin/bash
CITY_URL="https://www.gismeteo.ru/city/daily/4079/"
curl $CITY_URL 2>/dev/null \
| sed -nre '/section higher/,/мм рт. ст./p' \
| sed -r '/section higher|cloudness|wicon wind|crumb|scity|\/div|value m_temp f|m_wind mih|m_wind kmh|png|\/dl|class="temp|wicon barp|dt/d' \
| sed -r 's/(.*)class="type(.*)>(.*)<\/h2>/Город: \3/' \
| sed -r 's/(.*)<dd(.*)td>(.*)<\/td(.*)\/dd>/Погода: \3/' \
| sed -r 's/(.*)<dd class=(.*)>(.*)<span class="meas(.*)span><\/dd>/Температура воздуха: \3 C/' \
| sed -r 's/(.*)value m_wind ms(.*)>(.*)<span class="unit">(.*)<\/span><\/dd>/Ветер: \3 \4/' \
| sed -r 's/(.*)value m_press torr(.*)>(.*)<(.*)>(.*)<\/span><\/dd>/Давление: \3 \5/'
▶️Если не совсем понятно, немного поясню, что происходит. Скачиваем curl’ом страничку, выводим ее в стандартный потов вывода, а ошибки в /dev/null. Затем удаляем все ненужные строки, оставляем только те, которые содержатся между строкой с подстрокой «section higher» и «мм рт. ст.» включительно. Таким образом удалится информация о температуре воды, но это в моем случае не страшно, потому что Питер не самый курортный город, и о влажности воздуха, что тоже не страшно, потому что влажность обычно не самая низкая. Затем из оставшихся строк снова удаляем ненужные, достаем название города, состояние атмосферы (ясно, пасмурно, облачно), температуру воздуха, скорость ветра и атмосферное давление.
➡️ И, собственно, всё. После запуска скрипта получаем такой вот вывод:
$ ./gm.sh Город: Санкт-Петербург Погода: Пасмурно Температура воздуха: +15 C Ветер: 2 м/с Давление: 766 мм рт. ст.🖼️ Ссылка на источник 🔨 bash_help
8 812
Накопилось кейсов? Начните делиться своей экспертизой!
На курсе «Архитектор программного обеспечения» в течение полугода обучаются студенты middle и senior бэкенд-разработчики. Мы уверены, что каждый из них может освоить навык построения архитектуры приложений под конкретные бизнес-задачи. Если вы считаете так же, у вас есть знания и опыт в области архитектуры ПО — вы можете стать экспертом для наших студентов.
Интересно? Тогда коротко:
■ что делать:
▪︎ в роли автора разрабатывать уроки, тесты, схемы, иллюстрировать своими кейсами, подавать знания так, чтобы они увлекали студентов
▪︎ в роли наставника проводить вебинары и помогать студентам осваивать новую профессию
▪︎ в роли ревьюера проверять работы студентов и давать обратную связь
■ какие условия — удалёнка, нагрузка от 10 часов в неделю, гибкий график.
Посмотреть детали и откликнуться:
→ роль автора
→ роль наставника
→ роль ревьюера
8 812
⚙️ sshto – небольшой bash-скрипт для управления ssh-соединениями
✔️Он создает меню (через диалог) из вашего ~/.ssh/config. Он может не только подключаться, но и выполнять команды, копировать файлы, туннелировать порты
🐙 Перейти на Github
🔨 bash_help
8 812
⚙️ CLI-To-Whatsapp
✔️Bash-скрипт, который позволяет пользователям отправлять выходные данные CLI команды GNU/Linux контакту WhatsApp в виде сообщения
🐙 Перейти на Github
🔨 bash_help
8 812
Компоненты AD Kerberos, Microsoft SQL Server и центр сертификации — как их взломать?
Научим на курсе “Атака на Active Directory". Авторы: HackerRalf (Михаил Порываев) и BlackRabbit (Павел Никитин), 5-кратные победители the Standoff
Старт: 16 декабря. Успейте приобрести курс по старой цене до конца ноября!*
Содержание курса:
- Архитектура AD и ее базис
- Харденинг в AD, добыча критичной информации, развитие по инфраструктуре
- Как закрепиться внутри? Техники и эксплоиты
На 100% прикладной курс:
практическая лаборатория AD содержит 16 виртуальных машин, позволяя участникам отточить свои навыки на практике в 100+ рабочих тасках
🏆 Сертификат / удостоверение о повышении квалификации
*С декабря стоимость курсов увеличится на 15%
@Codeby_Academy
Подробнее о курсе
8 812
⚙️ PathPicker
✔️Инструмент командной строки, который позволяет выбирать файлы из вывода bash
▶️Пользователи могут редактировать выбранные файлы в своем любимом текстовом редакторе или выполнять с ними произвольную команду
🐙 Перейти на Github
🔨 bash_help
8 812
⚙️ ble.sh — Bash Line Editor
✔️Линейный редактор, написанный на чистом Bash, с подсветкой синтаксиса, автоматическими предложениями, режимами vim и т. д. для интерактивных сеансов Bash.
▶️Он заменяет GNU Readline по умолчанию. Предоставляет такие функции, как расширенное завершение и режим редактирования
🐙 Перейти на Github
🔨 bash_help
8 812
Приглашаем 14 ноября в 10:00 на вебинар «Миграция на отечественную ИТ-инфраструктуру и решения для кибербезопасности»
Вы узнайте, что важно учесть при переходе на отечественные инфраструктурные и ИБ-решения. Опытом поделятся руководители служб ИТ и информационной безопасности из РСХБ Факторинг, R-Style Softlab, РЭД Софт.
О чем вебинар:
– Оптимальный выбор решений для кибербезопасности. Как сделать правильный выбор между универсальными ИБ-решениями ( например, NGFW и XDR) и узкоспециализированными (VPN-шлюзы, межсетевые экраны или системы обнаружения киберугроз).
– Служба единого каталога. Обзор отечественных новинок Directory Service. Альтернативы Microsoft Active Directory с учетом совместимости с текущей инфраструктурой.
– Платформы виртуализации. Обзор рынка отечественных решений. Опыт перехода на отечественные платформы виртуализации в РСХБ Факторинг.
– Обзор подходов к миграции ИТ-инфраструктуры. Как перейти на гетерогенную ИТ-инфраструктуру без потери функциональности на этапе миграции.
– Управление проектами по миграции ИТ-инфраструктуры. Как делать сложные проекты по импортозамещению ИТ-инфраструктуры в условиях кадрового голода.
Вебинар будет полезен:
– ИТ-директорам. Узнаете опыт крупных российских компаний по миграции ИТ-инфраструктуры на отечественные решения.
– Директорам и специалистам по информационной безопасности. Получите методологию подбора ИБ-решений и построения систем кибербезопасности, которая позволит экономить до 20% бюджета без потери надежности и функциональности.
– Руководителям компаний. Узнаете опыт РСХБ Факторинг, как делать глобальные проекты по импортозамещению в условиях кадрового голода на ИТ и ИБ-специалистов.
14 ноября, четверг, в 10:00 по МСК.
Регистрация свободная.
Реклама. АО "ЭР-СТАЙЛ СОФТЛАБ". ИНН: 7719198440. Erid: 2VSb5xkYdTe
8 812
⚙️ Скрытие процессов Linux с помощью Bind Mounts
✔️Если у вас есть вредоносный процесс, который вы хотите скрыть, используйте Bind Mounts, чтобы смонтировать другой каталог поверх каталога /proc/PID для вредоносного процесса.
🖼️ Статья на английском языке
🔨 bash_help
8 812
⚙️ Аналог wget на bash
✔️Если вам необходимо скачать какой-то файл, а curl’а или wget’а нет, то можно воспользоваться командной оболочкой bash, написав скрипт, позволяющий скачать любой файл по протоколу http.
➡️ Вот этот скрипт:
download.sh:
#!/bin/bash
if [ "$1" == "" ]
then
echo "usage: $0 URL"
exit 0
fi
HOST=`echo $1 | sed 's/http\:\/\///' | sed -r 's/([^/])\/(.*)/\1/'`
FILENAME=`echo "$1" | sed -r 's/(.*)\/(.*)/\2/'`
PATH=`echo "$1" | sed 's/http\:\/\///' | sed -r "s/$HOST//" | sed "s/$FILENAME//"`
PORT=80
HEADERS="HTTP/1.1\r\nHost: $HOST\r\nConnection: close\r\nContent-Length: 0\r\n\r\n"
F="/tmp/dlfile"
exec 3<>/dev/tcp/$HOST/$PORT
echo -e "GET $PATH$FILENAME $HEADERS" >&3
/bin/cat <&3 > $F
/usr/bin/tail $F -n +$((`/bin/sed $F -e '/^\r$/q' | /usr/bin/wc -l`+1)) > $FILENAME
/bin/rm $F
🖼️ Ссылка на источник
🔨 bash_help8 812
😂 Подборка каналов для каждого сетевого инженера и безопасника
👨💻 Серверная Админа — Большое количество уроков, статей, книг и гайдов по устройству и настройке компьютерных сетей.
😎 Арсенал Безопасника — Проект по кибербезопасности - сборник лучших инструментов и утилит по OSINT, хакингу и деанону
😎 Бункер Хакера — Все что необходимо, для того чтобы начать свой путь в безопасности - инструменты, книги, справочники, гайды и ресурсы.
8 812
⚙️ Bash Prompt Generator
✔️Очень крутой ресурс, где можно сконфигурировать строку для ввода команд в bash.
➡️ Выбираете параметры, расставляете их в нужной последовательности и копируете готовую конфигурацию.
🐙 Перейти на Github
🔨 bash_help
8 812
Освой работу с Prometheus, Grafana, ELK, etc и настрой мониторинг!
✅ Владение инструментами Observability открывает новые карьерные горизонты администраторам Linux, DevOps-инженерам
Стройте сложные эффективные системы мониторинга и логирования инфраструктуры и приложений
💪 Ответьте на 15 вопросов и проверьте, насколько вы готовы к обучению на курсе «Observability: мониторинг, логирование, трейсинг» от OTUS.
+ 5 новых занятий, для вашего профессионального развития
Пройти тест и получить спец. предложение:
https://otus.pw/HhMG/?erid=LjN8KPGU9
#реклама
О рекламодателе