BashMaster
7.95K subscribers
664 photos
14 videos
1 file
687 links
Удобные консольные наработки на каждый день для разработчиков, девопсов и сисадминов.

Реклама: @Kone4noVasya

Канал на бирже: https://telega.in/c/bash_help
Download Telegram
⚙️ Linux Command Library

✔️Онлайн-платформа для компьютеров и мобильных устройств, которая предоставляет подробную информацию о командах GNU/Linux.

➡️ Некоторые особенности платформы:
💠Категории команд: «Однострочные», «Системная информация», «Системный контроль», «Пользователи и группы», «Файлы и папки» и другие.
💠Раздел с продвинутыми командами. Он предназначен для опытных пользователей Linux и предлагает более широкие возможности, включая автоматизацию задач и масштабные манипуляции с файлами.
💠Советы по использованию команд. Например, как запустить, удалить и сбросить терминал, создать список последних команд, закрыть замороженное окно или приложение и так далее.
💠Полный список команд, отсортированный по алфавиту, с возможностью поиска.

▶️Кроме сайта, у Linux Command Library есть мобильное приложение для Android.

🖼️ Перейти на сайт

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
📕 Тест по навыкам работы со схемотехникой и С/С++ для разработчиков, инженеров-схемотехников и энтузиастов 📕

Ответьте на 12 вопросов и проверьте, насколько вы разбираетесь в базовых принципах работы со схемотехникой, понимаете особенности работы с микроконтроллерами и на сколько готовы к обучению на курсе — «Embedded Developer».

За 4 месяца курса вы:
- Научитесь писать код для управления различными модулями, такими как таймеры, прерывания, АЦП/ЦАП
- Освоите использование различных протоколов взаимодействия (I2C, SPI, UART, WiFi и BLE) для интеграции микроконтроллеров в сложные системы
- Сможете создавать надежные и эффективные электронные устройства, используя современные инструменты и технологии

Время прохождения теста ограниченно 60 минут

👉 ПРОЙТИ ТЕСТ — https://otus.pw/sQ095/?erid=2W5zFHoq5mS

💣 Пройдите тест, получите скидку на курс, и записи уроков от преподавателей курса в подарок.

Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
⚙️ ShellGPT

✔️Инструмент командной строки, использующий ИИ, который упрощает генерацию shell-команд, фрагментов кода и документации, избавляя пользователей от необходимости искать информацию.

▶️Он совместим с различными операционными системами Linux, macOS и Windows, а также с основными оболочками включая PowerShell, CMD, Bash и Zsh.

➡️ ShellGPT позволяет выполнять запросы разной сложности, включая анализ логов и генерацию кода.

🐙 Перейти на Github

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
Что делать, если проект идёт через ж@пу? А команда не выполняет задачи, срывает сроки и все ходят с недовольной мордой?

Можно всех уволить, а можно начать читать канал Александра Наливайко, и научиться правильно создавать и управлять командами.

Александр уже 20 лет строит масштабные проекты, управляет командами 100+ человек и обладает универсальным методом, который можно применить практически в любой сфере.

А еще на канале можно почитать статьи на тему:

😡 Что делать, если начальник чудит?

🥸 Нужны ли внешние консультанты?

📝 Как правильно выстроить коммуникацию с коллегами


Подписывайся, и получи в подарок шаблоны писем для коммуникации на всех этапах проекта: 👉@pmnavru
⚙️ Bash-cкрипт для мониторинга дискового пространства и отправки оповещений

✔️Важно следить за дисковым пространством на сервере Linux, чтобы убедиться, что свободного места достаточно для новых файлов и приложений. Если диск заполнен, это может вызвать такие проблемы, как сбои системы, потеря данных и другие проблемы. Чтобы предотвратить это, вы можете использовать скрипт для отслеживания дискового пространства и отправки оповещения, когда доступное пространство падает ниже определенного порога.

▶️В статье мы рассмотрим процесс создания скрипта, который отслеживает дисковое пространство и отправляет оповещение, когда доступное пространство падает ниже определенного порога. Мы будем использовать команду df для проверки доступного дискового пространства и команду mail для отправки оповещения.

➡️ Возможности скрипта:
💠Скрипт может проверить доступное свободное место на нескольких дисках.
💠Вы можете включить отправку уведомления по электронной почте
💠Вы можете установить пороговые значения для предупреждений и критических состояний.
💠Принимать входные данные как параметры командной строки

🖼️ Прочитать статью
🐙 Ссылка на скрипт

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Используй майские праздники наилучшим образом!

Изучай новые технологии или закрой пробелы в знаниях по своему стеку.

🤩 Admin Books – техническая литература для сетевых и системных администраторов и ИБ специалистов.

Ссылка для своих: https://t.me/+nUCtfwOILxI5ZWIy
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Shunpo

✔️Минималистичный инструмент для bash, который упрощает навигацию по директориям в терминале.

▶️Цель Shunpo — ускорить перемещение по директориям, позволяя пользователям управлять закладками и быстро переходить между ними с минимальным количеством нажатий клавиш. Инструмент подходит для тех, кто часто использует команды cd, pushd или popd.

➡️ Некоторые команды Shunpo:
sb — добавить текущий каталог в закладки
sg или sg [#] — перейти к закладке
sr или sr [#] — удалить закладку
sl — вывести список всех закладок
sc — очистить все закладки
sj или sj [#] — перейти к родительскому каталогу
sd — перейти к дочернему каталогу.

▶️Для работы Shunpo необходима версия Bash 3.2 или новее.

🐙 Перейти на Github

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
DevOps на минималках - роадмап для изучения DevOps

Что в канале:
1. DevOps туториалы
2. Советы по командам в Linux
3. Docker
4. Книги
5. Шутки девопсеров

Подписывайтесь и изучайте основы основ работы DevOps: @devopseri
⚙️ Bash скрипты на примерах

✔️Bash скрипты (сценарии) – это наборы тех же самых команд, которые можно вводить с клавиатуры, но собранные в единый файл и объединённые некоей общей целью. Такой подход позволяет автоматизировать множество рутинных задач, например, сборку проектов или установку новых программ. Bash прост в освоении и использовании, гибок и так или иначе присутствует в абсолютном большинстве дистрибутивов Linux.

➡️ Документ подходит как для новичков, так и для опытных пользователей, желающих улучшить свои навыки написания скриптов для автоматизации задач в Linux.

🐙 Перейти на Github

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
Работа в команде DevOps-инженеров — это магия.

Когда я начинал свой путь в DevOps, меня мучили вопросы: Как устроены процессы? Что значит “закрывать таски” и “планировать спринты”?

📚 Курсы, книги, YouTube — всё это было, но понять, как устроена командная работа, было невозможно.

Даже разобравшись в терминах, я не мог прочувствовать это на своей шкуре.

А получив первую работу DevOps-инженером — понял, зачем нужна ретроспектива, и стал понимать шутки про дедлайны и задачи, перетекающие из спринта в спринт.

❗️Обучение в одиночку не научит работе в команде. А IT — это прежде всего команда, особенно в DevOps.

Что отличает джуна после курсов от того, кто поработал в компании? По техскиллам — почти ничего. А вот командный опыт — решающий.
Agile, дейлики, ретроспективы, митинги, спринты, Branching model, Review, Story pointsвсё это важно на старте.

🚀 Если ты начинающий DevOps или админ и хочешь прочувствовать, как работает IT-команда, — записывайся на стажировку DevOps Фабрики.

Ты будешь в команде из 9 человек строить инфраструктуру с нуля:
🔧 От планирования и выбора технологий
🔧 До выполнения проектных задач.

👉 Подробнее — по ссылке
⚙️ Bash Cheatsheet на сайте QuickRef.ME

✔️Краткий справочник по скриптам оболочки Bash для пользователей Linux.

➡️ В документе рассматриваются, например, такие темы:
💠Переменные. Описываются различные способы работы с переменными, включая использование подстрок и условий.
💠Комментарии. Рассказывается о встроенных и многострочных комментариях в Bash.
💠Функции Bash. Описываются способы определения, возврата значений и генерации ошибок.
💠Параметры Bash. Рассматриваются опции, такие как избегание наложения файлов, выход при ошибке и другие.

▶️Сайт QuickRef.ME содержит не только справочник по Bash, но и другие шпаргалки по различным инструментам и системам, которые могут быть полезны разработчикам и администраторам систем на базе GNU/Linux.

🖼️ Перейти на сайт

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Упрощение работы с crontab на удаленных серверах

✔️В сфере системного администрирования Linux есть множество задач, которые мы выполняем регулярно. Одна из таких задач — работа с crontab на удаленных серверах. Казалось бы, процесс прост: подключиться к серверу, открыть crontab, внести изменения. Но что, если я скажу вам, что этот процесс можно значительно упростить и ускорить? Обычно этот процесс требует нескольких шагов, но я нашел способ сделать его гораздо проще и быстрее.

▶️Стандартный подход, который многие используют (хотя это и не самый лучший способ), заключается в том, чтобы сначала войти на удаленный сервер под root, а затем выполнить команду crontab -e. Но что, если я скажу вам, что есть способ сделать это одной командой?

▶️Вот эта однострочная команда творит чудеса:
ssh -t root@x.x.x.x 'crontab -e'

▶️Здесь параметр -t выделяет терминал, необходимый для работы с vim, который используется для редактирования crontab. Но можно пойти еще дальше и создать функцию, которая сделает процесс еще удобнее.

▶️Откройте файл .bashrc или .zshrc (в зависимости от используемой оболочки) и добавьте в конец следующую функцию:
rcron() {
if [ $# -eq 0 ] || [ $# -gt 2 ]; then
echo "Usage: rcront [username] "
return 1
fi

local username="root"
local ip

if [ $# -eq 1 ]; then
ip="$1"
else
username="$1"
ip="$2"
fi

ssh -t "${username}@${ip}" 'crontab -e'
}

▶️После этого не забудьте перезагрузить файл конфигурации:
➡️ Для bash:
source ~/.bashrc

➡️ Для zsh (обычно на Mac):
source ~/.zshrc

▶️Теперь использовать эту функцию очень просто. Например, чтобы отредактировать crontab пользователя root на сервере server01, достаточно ввести:
rcron server01

▶️А если нужно отредактировать crontab пользователя user1 на том же сервере:
rcron user1 server01

➡️ Использование таких однострочных команд и функций может значительно упростить вашу ежедневную работу. Освоив их, вы не только сэкономите время, но и произведете впечатление на коллег-линуксоидов. А уж как удивятся администраторы Windows, когда увидят, насколько легче управлять серверами Linux!

🖼️ Ссылка на источник

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
▶️ БЕСПЛАТНЫЙ МАСТЕР-КЛАСС «Linux: от основ к профессиональному использованию»

14 мая в 19:00 (МСК) | Онлайн | Бесплатно
✔️Регистрация

Linux уже давно перестал быть инструментом исключительно для системных администраторов. Сегодня это необходимый навык для DevOps-инженеров, специалистов по кибербезопасности и всех, кто работает с IT-инфраструктурой.  

На нашем вебинаре мы:
▪️ Развеем мифы о сложности Linux и покажем, как начать работать с ним уверенно
▪️ Продемонстрируем практическое применение в реальных рабочих задачах
▪️ Расскажем о карьерных перспективах для специалистов, владеющих Linux
▪️ Дадим пошаговый алгоритм освоения системы

Особое внимание уделим:
Работе с терминалом (основные команды и их применение)
Решению типовых задач системного администрирования
Возможностям для профессионального роста
 
Ведущий: Дмитрий Семьянов — действующий специалист по пентесту, куратор курса «Основы Linux».

Не пропустите! Регистрация здесь.
🚀 Трудности с регистрацией? Пишите @Codeby_Academy
⚙️ Шпаргалка по Bash-скриптам для повседневной работы

✔️Bash (Bourne Again SHell) — это командный интерпретатор в Unix-подобных операционных системах, таких как Linux и macOS. Он предоставляет удобный способ взаимодействия с операционной системой через командную строку. Создание Bash-скриптов является мощным инструментом для автоматизации повседневных задач и улучшения процесса работы с системой. В этой статье мы рассмотрим основы написания Bash-скриптов для повседневной работы.

➡️ Содержание:
💠Основы синтаксиса Bash
💠Аргументы командной строки
💠Условные операторы
💠Циклы
💠Функции
💠Работа с файлами и каталогами
💠Ошибки и отладка
💠Переменные окружения
💠Чтение пользовательского ввода
💠Массивы
💠Проверка наличия команд
💠Работа с условиями в строках
💠Параллельное выполнение команд
💠Пример скрипта на Bash

🖼️ Ссылка на шпаргалку

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
Ты любишь кофе? Или просто пьёшь его, чтобы выжить утром? 👀 тогда читай дальше…

Ощущаешь кислятину и моральную опустошённость? Хорошие новости: ты попал по адресу.

Сообщество ценителей кофе The Coffee Soldiers расскажет тебе:

☕️ Как полюбить кофе без сахара?
🤝🏻 Проверенные советы, чтобы не тупить у полки с кофе.
🥸 Короткие истории от тех, кто уже в теме (и больше не пьёт «3в1 от боли»).
🌟 Запуски новых вкусов, наборов и спецпредложений — без маркетингового инфаркта.
🎉 Вебинары, чеклисты, гайды — всё, чтобы ты стал главным кофейным среди своих.

📲 Подписывайся, включайся, заливай — и будь с нами.
Добро пожаловать в армию кофеиново просветлённых.

Реклама: ООО «ТКС МСК»
ИНН: 7708440604
ERID: 2VtwevqwnCT
⚙️ Shell-secrets

✔️Инструмент, который позволяет безопасно хранить и использовать зашифрованные переменные окружения с помощью GPG. Он подходит для защиты таких данных, как API-ключи, токены, пароли.

➡️ Некоторые особенности скрипта:
💠Зашифрованные файлы. Переменные сохраняются в виде файлов, зашифрованных собственным GPG-ключом.
💠Моментальная загрузка. Переменные загружаются и устанавливаются в текущий shell всего одной командой.
💠Многослойность и изоляция окружений. Скрипт поддерживает многоуровневый вход (nested logins), что позволяет быстро переключаться между разными аккаунтами, проектами и наборами переменных.
#!/bin/sh

login() {
($(gpg -q --decrypt ~/.shell-secrets/$1.gpg) ; SECRET_LOGIN="$SECRET_LOGIN$1 " bash -l)
}

_login() {
SECRETS=$(basename -a -s .gpg ~/.shell-secrets/*.gpg)
COMPREPLY=($(compgen -W "$SECRETS" -- ${COMP_WORDS[COMP_CWORD]}))
return 0
}

complete -F _login login

▶️Скрипт предполагает наличие настроенного GPG, а все переменные после загрузки доступны в окружении текущего shell.

🐙 Подробнее на Github

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
‼️Пополни телефон на 700 за участие в опросах! @mini_opros_bot

1. Пройди быструю и бесплатную регистрацию в боте.
2. Участвуй в простых опросах от крупных компаний.
3. Получай баллы и выводи на телефон от 700₽.

💯Без банковских карт, все честно и прозрачно!Попробуй прямо сейчас – @mini_opros_bot
⚙️ Сборник примеров программ на bash

💠 fping_chk — быстрая групповая проверка хостов на доступность
#!/bin/bash
attempts=$(($2+1))
## all working nodes
# {3..19} {22..24} {27..28} {30..38}
declare -a sc613='2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 22 23 24 27 28 30 31 32 33 34 35 36 37 38'
# {3..19} {22.24}
declare -a sc619='3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 22 23 24'

function check_613() {
echo 'Проверка доступности хостов сети '$ip_h 'из '$(uname -n)
for (( count=1; count < $attempts; count++ )); do
echo '-----------[ step' $count'/'$(($attempts-1))' ]' $(date +%d.%m.%y) $(date +%H:%M) '---------'
for ip in $sc613; do
if ! [[ $(fping -qa ${ip_h}.${ip}) ]]; then
echo ${ip_h}.${ip} is dead!
fi
done
done
}

function check_619() {
echo 'Проверка доступности хостов сети '$ip_h 'из '$(uname -n)
for (( count=1; count < $attempts; count++ )); do
echo '-----------[ step' $count'/'$(($attempts-1))' ]' $(date +%d.%m.%y) $(date +%H:%M) '---------'
for ip in $sc619; do
if ! [[ $(fping -qa ${ip_h}.${ip}) ]]; then
echo ${ip_h}.${ip} is dead!
fi
done
done
}

function usage() {
echo 'Укажите номер VLAN (613 или 619) и кол-во попыток!'
}

if [ $# != 2 ]; then
usage
else
case $1 in
613)
ip_h="10.55.126"
check_613;;
619)
ip_h="172.17.5"
check_619;;
*)
usage;;
esac
fi

💠bulk_tune — групповое выполнение сценариев на удаленных серверах.
Пример запуска: ./bulk_tune В файле playbook_file - сценарий, который должен быть выполнен.
#!/bin/bash
scope=$2

case $scope in
all)
declare -a srvl=(cmp01 cmp02 cmp03 cph01 cph02 cph03 mon01 mon02 ctl01 ctl02 ctl03 s3f01 s3f02 s3f03);;
ceph)
declare -a srvl=(cph01 cph02 cph03);;
s3)
declare -a srvl=(s3f01 s3f02 s3f03);;
ctl)
declare -a srvl=(ctl01 ctl02 ctl03);;
*)
;;
esac

echo ${srvl[@]}

if [ $# != 2 ]; then
echo "payload OR scope not defined!"; exit 0
else
for srv in ${srvl[@]}; do
echo $srv
ssh $srv 'bash -s' < $1;
done
fi

💠psi_go — прогон сценариев ПСИ scmd - номер команды, с которой начинаем выполнение, можно задать, как параметр командной строки. В файл .psi_cmd.lst необходимо добавить все запускаемые команды - по одной на строку.
#!/bin/bash
# psi_go: Прогон сценариев ПСИ
# created during 21.01.2023
# aizaro@mail.ru

if [[ -z $1 ]]; then scmd=0; else scmd=$1; fi

declare -a psicmd
# filling command stack from file
readarray -t psicmd < .psi_cmd.lst

sumop=${#psicmd[@]} ## total operations
#for pp in ${psicmd[*]}; do echo $pp; done

function msg1() {
echo -e '\nВыполняем команду'$1
}

function msg2() {
echo -e 'Результат выполнения команды: \n'
}

function step_mark() {
read -p ':---------------->'
}

for (( step=$scmd; step < $sumop; step++ )); do
msg1
echo '# '$step': '${psicmd[$step]}
step_mark
msg2
#${psicmd[$step]} > /tmp/result_psi ## not worked with for
echo ${psicmd[$step]} > /tmp/psi_cmd && /bin/bash /tmp/psi_cmd
cat /tmp/result_psi
done


🖼️ Дочитать статью

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
С вас требуют безопасность, а процессы настроены на удачу? 🧐

Слёрм создал инструмент для самодиагностики DevSecOps-процессов: вы быстро поймёте, где слабые места и что нужно усилить, чтобы ваша зона ответственности была под надёжным контролем 🛡

🚀 Что получите:
✔️ экспресс-оценку зрелости по ключевым зонам (secure coding, пайплайны, секреты и др.),
✔️ чеклист с практическими шагами,
✔️ план улучшений для себя и команды.

➡️ Вместо разрозненных мер и «пожарного режима» вы получите чёткую картину и реальные инструменты для усиления процессов. Безопасность перестанет быть точкой риска и станет встроенной частью вашей инженерной рутины.

👉 Получить доступ к проверке ТУТ📌
⚙️ bash-stdops

✔️Коллекция скриптов Bash, написанных Джеймсом Черти. Они упрощают различные операции, включая поиск файлов, замену текста и модификацию контента.

➡️ Некоторые скрипты из коллекции:
💠walk — рекурсивно перечисляет файлы из указанного каталога
💠walk-run — выполняет команду для всех файлов
💠sre — заменяет вхождения указанной строки или шаблона регулярного выражения, поддерживает сопоставление без учёта регистра и регулярные выражения
💠git-sre — выполняет sre в корне репозитория Git для замены текста внутри файлов
💠path-tr, path-uppercase, path-lowercase — обрабатывает путь к файлу, чтобы преобразовать имя файла в верхний или нижний регистр
💠autoperm — устанавливает подходящие разрешения для файлов или каталогов
💠path-is — печатает путь и выходит со статусом 0, если файл является бинарным или текстовым.

▶️Списки из коллекции bash-stdops используются для автоматизации задач, таких как управление сессиями Tmux, замена текста в репозитории Git, безопасное копирование и вставка из буфера обмена и другие.

🐙 Перейти на Github

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM