BashMaster
Open in Telegram
Удобные консольные наработки на каждый день для разработчиков, девопсов и сисадминов. Реклама: @Kone4noVasya Канал на бирже: https://telega.in/c/bash_help
Show more8 734
Subscribers
+124 hours
+47 days
+13430 days
Posts Archive
8 734
29 февраля 12:00 МСК
Вебинар «Надежное облако для команды разработки: как увеличить маржинальность проектов»
❓ Как облачные технологии могут стать одним из дополнительных источников заработка для команды разработки
❓ Как вы можете повысить маржинальность проектов ваших клиентов, расположив их в облаке ITGLOBAL.COM
Приглашаем разработчиков приложений, сервисов, сложных AI-проектов на вебинар, посвященный размещению проектов разработки в облачной инфраструктуре.
Вебинар будет полезен вам, если:
🔹 вы реализуете проекты по разработке;
🔹 вам требуются свободные ресурсы для тестирования и запусков;
🔹 вы хотите сократить time-to-market ваших проектов;
🔹 вам требуются более мощные ресурсы для работы с AI, HPC и графикой;
🔹 вам важно снизить издержки на инфраструктуру для разработки и production.
🔗 Регистрация
8 734
Rofi-wifi-menu — красивое меню wi-fi
Bash-скрипт, использующий nmcli и rofi для создания меню Wi-Fi для вашего любимого оконного менеджера.
Данный проект является форком проекта от zbaylin, потому что тот был несовместимым с современными версиями rofi.
🐙 Перейти на Github
🔨 bash_help
8 734
Проверка файлов в Bash
Kоманды позволяют проверять различные условия, касающиеся файлов:
-d file — Проверяет, существует ли файл, и является ли он директорией.
-e file — Проверяет, существует ли файл.
-f file — Проверяет, существует ли файл, и является ли он файлом.
-r file — Проверяет, существует ли файл, и доступен ли он для чтения.
-s file — Проверяет, существует ли файл, и не является ли он пустым.
-w file — Проверяет, существует ли файл, и доступен ли он для записи.
-x file — Проверяет, существует ли файл, и является ли он исполняемым.
file1 -nt file2 — Проверяет, новее ли file1, чем file2.
file1 -ot file2 — Проверяет, старше ли file1, чем file2.
-O file — Проверяет, существует ли файл, и является ли его владельцем текущий пользователь.
-G file — Проверяет, существует ли файл, и соответствует ли его идентификатор группы идентификатору группы текущего пользователя.
🔨 bash_help8 734
SQL — востребованный язык для разработчиков, аналитиков и тестировщиков. Прокачайте знания SQL и навыки работы с базами данных на бесплатном мини-курсе Skillbox.
Зарегистрируйтесь прямо сейчас и получите полезный гайд по профессии: https://epic.st/ufVwqy
Что будем делать:
— Писать запросы на языке SQL.
— Проводить аналитику для бизнеса.
— Разрабатывать автоматизированную отчётность в Excel.
— Обрабатывать данные в Power Query.
— Визуализировать показатели в Excel: создавать красивые графики, диаграммы и отчёты.
— Применять инструменты Excel для анализа данных.
Спикер — Мкртич Пудеян, специалист по анализу данных в «Газпромбанке». Сертифицированный SQL-разработчик от Microsoft.
🎉 Всех участников ждут подарки: персональная карьерная консультация, на которой мы определим ваши сильные стороны и поможем выбрать направление в разработке, 5 полезных статей по SQL и Excel, а также год бесплатного изучения английского языка.
🌟Освойте новые навыки и раскройте свой потенциал!
Реклама. ЧОУ ДПО «Образовательные технологии «Скилбокс (Коробка навыков)», ИНН: 9704088880
8 734
Скрипты, выполняемые при запуске Bash
1)
~/.bashrc
Скрипт запуска, специфичный для каждого пользователя.
Используется для установки локальных переменных и определения псевдонимов (Aliases) и функций.
Вызывается процессом входа во время создания как Login shells, так и Non-Login shells.
Вызывает скрипт /etc/bashrc
2) /etc/bashrc
Глобальный скрипт запуска.
Используется для установки локальных переменных и определения псевдонимов (Aliases) и функций.
Вызывается скриптом ~/.bashrc
Вызывает скрипты в директории /etc/profile.d/ в случае запуска оболочки без входа
3) ~/.bash_profile
Специфичный для пользователя скрипт запуска.
Используется для установки переменных рабочего окружения и запуска команд.
Вызывается процессом входа во время создания оболочки входа
Вызывает скрипт ~/.bashrc.
4) ~/.bash_login
Специфичный для пользователя скрипт запуска.
Используется для установки переменных рабочего окружения и запуска команд.
Во время создании оболочки входа вызывается процессом входа если ~/.bash_profile не представлен.
Поддерживается для совместимости с оболочкой C shell и скриптом запуска оболочки Tenex C, ~/.login
5) ~/.profile
Специфичный для пользователя скрипт запуска.
Используется для установки переменных рабочего окружения и запуска команд.
Во время создании оболочки входа вызывается процессом входа если ~/.bash_profile и в последствии ~/.bash_login не представлены.
Поддерживается для совместимости со скриптами запуска Bourne shell и Korn shell, ~/.profile.
6) /etc/profile
Глобальный скрипт запуска.
Используется для установки переменных рабочего окружения и запуска команд.
Во время создании оболочки входа вызывается процессом входа.
Вызывает скрипты в директории /etc/profile.d/.
7) /etc/profile.d/*
Директория, содержащая глобальные скрипты запуска.
Используется для установки переменных рабочего окружения и запуска команд.
Вызывается скриптом /etc/profile, во время создания оболочки входа
Вызывается скриптом /etc/bashrc, во время создания оболочки без входа
🔨 bash_help8 734
😈 Social Engineering — самый крупный ресурс в Telegram, посвященный Информационной Безопасности, OSINT и Cоциальной Инженерии.
Особое внимание стоит обратить на следующую информацию:
➖ Собственный бот, который проверит Ваш файл 70 антивирусами одновременно;
➖ Коллекция инструментов и ресурсов для поиска информации о человеке;
➖ Актуальные методы социальной инженерии и профайлинга;
➖ Подборка бесплатных курсов для изучения компьютерных сетей.
Вас ждёт только актуальный и качественный материал. @S.E.
8 734
Массивы bash
Если вы используете «стандартную» оболочку *NIX-системы, возможно, вы не знакомы с такой полезной особенностью bash как массивы. Хотя массивы в bash не так круты, как в P-языках (Perl, Python и PHP) и других языках программирования, они часто бывают полезны.
Bash-массивы имеют только численные индексы, но они не обязательны к использованию, то есть вы не должны определять значения всех индексов в явном виде. Массив целиком может быть определен путем заключения записей в круглые скобки:
arr=(Hello World)Отдельные записи могут быть определены с помощью знакомого всем синтаксиса (от Бейсика (да простит меня Дейкстра — прим. переводчика) до Фортрана):
arr[0]=Hello arr[1]=WorldПравда, обратное выглядит сравнительно более уродливо. Если нужно обратиться к определенной записи, тогда:
echo ${arr[0]} ${arr[1]}
Из страницы man:
"Фигурные скобки нужны для предотвращения конфликтов при разворачивании полных путей к файлам."
Кроме того, доступны следующие странноватые конструкции:
${arr[*]} # Все записи в массиве
${!arr[*]}# Все индексы в массиве
${#arr[*]}# Количество записей в массиве
${#arr[0]}# Длина первой записи (нумерация с нуля)
${!arr[*]} — сравнительно новое дополнение в bash и не является частью оригинальной реализации. Следующая конструкция демонстрирует пример простого использования массива. Обратите внимание на "[index]=value", это позволяет назначить конкретное значение конкретному номеру записи.
🖼️ Дочитать на Хабре
🔨 bash_help8 734
Bash Basics
Видеоуроки:
1 — Access and Navigation
2 — Creating & Editing Text FIles
3 — Privileges and Permissions
4 — Finding Documentation and Files
5 — User Accounts and Passwords
6 — Managing Software
7 — System Administration Tools
8 — Bash Scripting
📹 Плейлист на YouTube
🔨 bash_help
8 734
Termux-Games — играйте в игры в Termux
Termux-Games — это скрипт, в котором вы сможете обнаружить все игры, предназначенные для использования в Termux.
Шаги установки:
1.Установите git:
pkg install git -y
2.Склонируйте репозиторий: git clone https://github.com/Err0r-ICA/Games
3.Перейдите в каталог Games: cd Games
4.Выставите права на выполнение: chmod +x *
5.Запустите скрипт установки: bash install.sh
6.Запустите Termux-Games: bash Games
Termux-Games предоставляет удобный способ наслаждаться разнообразным миром игр прямо из вашего Termux-окружения.
🐙 Перейти на Github
🔨 bash_help8 734
Бесплатный мини-курс для тех, кто интересуется Python! Минимум скучной теории — больше мощной практики на реальных задачах разработчиков. Один мини-курс — сразу 4 проекта в портфолио!
Записаться и узнать подробную программу: https://epic.st/x9p3TZ
За 4 занятия вы изучите видеоматериалы. После каждого видео есть практическое задание.
— Разберёте базовый синтаксис языка.
— Создадите бота для Telegram, который умеет переводить голос в текст.
— Сделаете бота умнее — научите его обрабатывать фотографии.
— Узнаете, как парсить сайты — собирать информацию с веб-страниц в удобные таблицы.
— Напишете сайт с помощью инструмента Flask.
В финале мини-курса вас ждёт прямой эфир с экспертом Анастасией Борневой — руководителем направления по исследованию данных в «Сбере». В прямом эфире она поделится профессиональными секретами, разберёт ваши работы и ответит на вопросы.
Вас ждут крутые подарки: чек-листы, гайды, скринкасты и другие бонусы. Эти материалы пригодятся в работе и помогут больше узнать о профессии.
Откройте новые возможности в новом году!
Реклама. ЧОУ ДПО «Образовательные технологии «Скилбокс (Коробка навыков)», ИНН: 9704088880
8 734
Как следить за каталогом на предмет создания новых файлов в Linux
Чтобы выполнить команду при создании нового файла в папке в системе Linux, можно использовать комбинацию инструментов и скриптов.
Один из распространенных подходов – использование inotify-tools, утилиты, позволяющей отслеживать события файловой системы, в сочетании со скриптом оболочки.
Вот базовая схема того, как это можно настроить:
Шаг 1: Установите inotify-tools
Шаг 2: Создание скрипта
Шаг 3: Запустите скрипт
Шаг 4: Запуск скрипта в фоновом режиме
Шаг 5: Запуск скрипт в качестве службы Systemd
Шаг 1: Установите inotify-tools
Сначала вам нужно установить
inotify-tools.
Обычно вы можете установить его с помощью менеджера пакетов.
Шаг 2: Создание скрипта
Далее создайте bash скрипт, который использует inotifywait (часть inotify-tools) для мониторинга каталога на предмет новых файлов и затем вызывает API при обнаружении нового файла.
Ниже приведен простой пример того, как может выглядеть этот скрипт:
#!/bin/bash
# Папка для мониторинг
MONITOR_DIR="/path/to/your/directory"
# Ваша команда
# CUSTOM_COMMAND="curl -X POST -d @newfile http://your.api.endpoint"
# Отслеживаем новые файлы и вызываем API
inotifywait -m -e create --format '%w%f' "$MONITOR_DIR" | while read NEWFILE
do
echo "Новый файл: $NEWFILE"
#Снимите комментарий, чтобы выполнять пользовательские команды и вызывать API
#eval $CUSTOM_COMMAND
done
В этом скрипте замените /path/to/your/directory на путь к папке, которую вы хотите контролировать, а http://your.api.endpoint – на конечную точку API, которую вы хотите вызвать.
Вы также можете изменить CALL_API_COMMAND, чтобы включить в нее все необходимые заголовки, данные или опции для вашего конкретного вызова API.
🖼️ Дочитать статью
🔨 bash_help8 734
Учитесь тому, что пригодится в работе и в жизни — бесплатно, с Яндекс Практикумом.
Тут на одной странице собраны курсы, которые помогут попробовать себя в разных IT-профессиях и получить практический навык. 17 разных курсов по программированию, аналитике данных, маркетингу, менеджменту и дизайну. Прохождение занимает от 2 до 20 часов.
Например, можно разобраться в основах Java, научиться искать и нанимать тестировщиков, задизайнить плакат для фестиваля еды и ещё много чего.
Выбирайте курс по душе и пробуйте себя в разных профессиях!
8 734
Запрет пользователям запускать `chmod 777`
Создание пользовательского скрипта-обертки для chmod может помочь вам управлять и ограничивать использование определенных команд chmod, например, предотвращать установку разрешений 777.
Ниже приведен базовый пример того, как можно создать такой скрипт в Ubuntu или любой другой системе на базе Linux.
1. Создайте скрипт: Вы создадите скрипт с именем
safe_chmod и поместите его в каталог /usr/local/bin, который обычно находится в $PATH пользователя.
2. Содержание скрипта:
Скрипт будет проверять наличие определенного шаблона прав (например, 777) и выводить предупреждение, если такой шаблон используется.
Во всех остальных случаях он выполнит обычную команду chmod.
3. Сделайте сценарий исполняемым: После создания скрипта вам нужно будет сделать его исполняемым.
4. Создайте алиас: Создайте алиас safe_chmod для chmod в скриптах входа/не входа в систему
🖼️ Дочитать статью
🔨 bash_help8 734
Лучшие практики bash-скриптов: краткое руководство по надежным и производительным скриптам bash
Отладка сценариев bash — это как поиск иголки в стоге сена, тем более, когда новые дополнения появляются в существующей кодовой базе без своевременного рассмотрения вопросов структуры, логирования и надежности. В таких ситуациях можно оказаться как из-за собственных ошибок, так и при управлении сложными нагромождениями скриптов.
Команда Mail.ru Cloud Solutions перевела статью с рекомендациям, благодаря которым вы сможете лучше писать, отлаживать и поддерживать свои сценарии. Хотите верьте, хотите нет, но ничто не может сравниться с удовлетворением от написания чистого, готового к использованию bash-кода, который работает каждый раз.
В статье автор делится тем, что узнал за последние несколько лет, а также некоторыми распространенными ошибками, которые заставали его врасплох. Это важно, потому что каждый разработчик программного обеспечения в определенный момент своей карьеры работает со сценариями для автоматизации рутинных рабочих задач.
🖼️ Прочитать статью
🔨 bash_help
8 734
Dynamic-wallpaper
Простой bash-скрипт для установки обоев в зависимости от текущего времени, используя планировщик заданий cron.
🐙 Перейти на Github
🔨 bash_help
8 734
Repost from KazDevOps
🗣Внимание, конкурс!
Разыгрываем 10 ваучеров на бесплатное обучение и сертификацию от The Linux Foundation. Ваучеры дают 100% скидку на курс или экзамен из списка ниже до 17.01.2025 — и мы хотим ими поделиться:
🟣 Каталог электронных курсов
🟣 Каталог сертификации
Их можно применить к любому:
— онлайн-курсу
— сертификационному экзамену
— или пакету (курс + сертификация)
🤝 CKA, CKS, CKAD и другие — в комплекте!
Условия розыгрыша просты: 🔵 Подпишитесь на KazDevOps и оставьте комментарий "+" под этим постом.
🚩 Комментарий обязательно оставлять в официальном аккаунте KazDevOps
🥳 9 февраля подведем итоги и выберем 10 победителей методом генерации случайных чисел. Каждый получит по ваучеру. Активировать ваучеры нужно до 17.01.2025.
Go-go-go, и успехов!
#kubernetes #cka #ckad #cks #k8s #linuxfoundation #cncf
@DevOpsKaz
8 734
4nonimizer — bash-скрипт для анонимизации
Bash-скрипт для анонимизации общедоступного IP-адреса, используемого для просмотра Интернета, управления подключением к сети TOR и к различным провайдерам VPN (OpenVPN), будь то бесплатный или платный. По умолчанию он включает в себя несколько предварительно настроенных VPN-подключений к разным одноранговым узлам (OVPN-файлы) и загружает учетные данные (если соответствующий поставщик поддерживает их). Кроме того, он записывает каждый использованный IP-адрес, который мы используем каждые 300 секунд в файлах журнала.
🐙 Перейти на Github
🔨 bash_help
8 734
Bash-it – Bash Framework для управления вашими скриптами и алиасами
Если вы ежедневно используете оболочку Bash и ищете простой способ отслеживать все ваши скрипты, алиасы и функции, то Bash-it для вас отлично подойдет.
Чтобы установить Bash-it, сначала вам нужно клонировать следующий репозиторий в папку по вашему выбору, например:
$ git clone --depth=1 https://github.com/Bash-it/bash-it.git ~/.bash_it
Затем выполните следующую команду, чтобы установить Bash-it (он автоматически создает резервную копию ~/.bash_profile или ~/.bashrc, в зависимости от вашей ОС).
Вас спросят: «Would you like to keep your .bashrc and append bash-it templates at the end? [y/N]», ответьте в соответствии с вашими предпочтениями.
$ ~/.bash_it/install.sh
После установки вы можете использовать команду ls для проверки установленных файлов и каталогов bash-it
$ ls .bash_it/
Чтобы начать использовать Bash-it, откройте новую вкладку или запустите:
$ source $HOME/.bashrc
🖼️ Дочитать статью
🔨 bash_help8 734
🚀 Компания УЦСБ приглашает специалистов по информационной безопасности на One Day Offer. Всего за один день вы сможете пройти все этапы отбора и стать частью команды УЦСБ с возможностью работать удалённо из любой точки РФ.
Принять участие: https://cnrlink.com/usscbashm
Приглашаются:
1. Инженеры по безопасности приложений (AppSec);
2. Аналитики по информационной безопасности (Аудит);
3. Специалисты по анализу защищенности (pentest);
4. Аналитики по информационной безопасности (разработка).
Всё пройдёт в онлайн-формате:
● до 15 февраля включительно открыт приём заявок;
● 17 февраля – знакомство с командой, техническое интервью и отправка офферов.
Уральский центр систем безопасности — федеральный системный интегратор, специализирующийся на создании и модернизации ИТ-систем предприятий, а также предоставлении услуг в сфере ИБ.
Присоединяйтесь к команде профессионалов, регистрируйтесь до 15 февраля: https://cnrlink.com/usscbashm
Реклама. ООО "УЦСБ". ИНН 6672235068. erid: LjN8KJq19
8 734
Bash-скрипт для проверки адреса IPv4
Откройте свой любимый текстовый редактор и запустите новый файл.
Мы будем использовать функцию для проверки IPv4-адреса
Эта функция использует регулярные выражения для проверки соответствия вводимых данных шаблону IPv4.
#!/bin/bash
# Filename: validate_ip.sh
validate_ip() {
local ip=$1
local stat=1
if [[ $ip =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then
OIFS=$IFS
IFS='.'
ip=($ip)
IFS=$OIFS
[[ ${ip[0]} -le 255 && ${ip[1]} -le 255 && ${ip[2]} -le 255 && ${ip[3]} -le 255 ]]
stat=$?
fi
return $stat
}
echo -n "Enter IPv4 address: "
read ip_address
if validate_ip $ip_address; then
echo "${ip_address} is a valid IPv4 address."
else
echo "${ip_address} is a invalid IPv4 address."
fi
Проверка скрипта
**Сделайте скрипт исполняемым: chmod +x validate_ip.sh
**Запустите скрипт: ./validate_ip.sh
**Введите IPv4-адрес, когда появится запрос.
🔨 bash_help
Available now! Telegram Research 2025 — the year's key insights 
