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

Реклама: @Kone4noVasya

Канал на бирже: https://telega.in/c/bash_help
Download Telegram
⚙️ Bash-скрипты: параметры и ключи командной строки

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

✔️Наиболее распространённый способ передачи данных сценариям заключается в использовании параметров командной строки. Вызвав сценарий с параметрами, мы передаём ему некую информацию, с которой он может работать. Выглядит это так:
$ ./myscript 10 20

В данном примере сценарию передано два параметра — «10» и «20». Всё это хорошо, но как прочесть данные в скрипте?

➡️ Содержание статьи:
▶️Чтение параметров командной строки
▶️Проверка параметров
▶️Подсчёт параметров
▶️Захват всех параметров командной строки
▶️Команда shift
▶️Ключи командной строки
▶️Как различать ключи и параметры
▶️Обработка ключей со значениями
▶️Использование стандартных ключей
▶️Получение данных от пользователя
▶️Ввод паролей
▶️Чтение данных из файла

🖼️ Прочитать статью

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
👍116🔥5
😎 PyLinux - канал для тех, кто проявляет интерес к Linux и Python!

➡️ Почему не стоит упустить:

- полезные bash скрипты
- библиотеки и скрипты Python
- доступный материал Linux
- книги и полезный софт
- а также, многое другое!

🔥 Заходи прямо сейчас и становись лучше вместе с PyLinux!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍62🔥2
⚙️ Bashly

✔️Приложение командной строки (написанное на Ruby), которое позволяет создавать многофункциональные инструменты командной строки bash.

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

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

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥64👍3
Поиск информации из открытых источников и защита собственных персональных данных — одна из самых обсуждаемых тем в 2024 году. Только за прошлый год в сеть утекло 500 млн. записей о жителях стран СНГ и теперь любой желающий может составить полное резюме на другого человека за считаные минуты.

Делюсь полезными ресурсами, которые помогут обезопасить свои данные и освоить необходимые методы и инструменты для поиска нужной информации:

😈 Social Engineering — самый крупный ресурс в Telegram, посвященный этичному хакингу, информационной безопасности, OSINT и социальной инженерии.

🔐 infosec — редкая литература, курсы и уникальные мануалы для ИБ специалистов любого уровня и направления. Читайте, развивайтесь, практикуйте.
Please open Telegram to view this post
VIEW IN TELEGRAM
3
⚙️ Утилита systemctl

✔️В Systemd есть специальный инструмент для управления службами в Linux - команда systemctl. Эта утилита позволяет делать очень много вещей, начиная от перезапуска службы linux и проверки ее состояния, до анализа эффективности загрузки службы.

list-units - посмотреть все службы (юниты) которые сейчас загружены в память, аналог опции -t
list-sockets - посмотреть все сокеты служб, которые сейчас загружены в память
list-timers - посмотреть список таймеров, загруженных в память
start - запустить службу linux
stop - остановить службу linux
reload - попросить службу перечитать свою конфигурацию из файловой системы
restart - перезапустить службу
try-restart - перезапустить службу, только если она запущена
reload-or-restart - попросить службу обновить свою конфигурацию, если не поддерживается просто выполнить перезапуск службы linux
isolate - запустить только одну службу вместе с ее зависимостями, все остальные остановить
kill - отправить сигнал завершения процессу используется вместе с опциями --signal и --kill-who
clean - удалить все данные, которые касаются указанной службы, сюда входит кэш, логи, данные выполнения
is-active - проверить запущена ли служба linux
is-failed - проверить не завершилась ли служба с ошибкой
status - посмотреть состояние и вывод службы
show - посмотреть параметры управления службой в Linux
cat - посмотреть содержимое юнит файла в текстовом виде
reset-failed - очистить состояние failed для служб, которые завершились с ошибкой
list-dependencies - посмотреть зависимости службы linux
list-unit-files - вывести все установленные файлы служб
enable - добавить службу в автозагрузку
disable - удалить службу из автозагрузки
is-enabled - проверить если ли уже служба в автозагрузке
reenable - сначала выполнить disable потом enable для службы
list-jobs - все выполняющиеся задачи Systemd.
snapshot - сохранить состояние служб, чтобы потом восстановить
daemon-reload - обновить конфигурацию юнитов для всех служб
mask - сделать юнит недоступным
unmask - вернуть файл службы linux
link - добавить юнит файл, который расположен не в стандартной папке для юнитов
revert - вернуть юнит до состояния по умолчанию
edit - отредактировать параметры службы не изменяя основной файл юнита.

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥27👍174
⚡️ Кто хотел изучить Linux?
Забирайте скорей курс для начинающих всего за 1️⃣0️⃣.

➡️ Забрать курс

Отус открыл для вас доступ к онлайн-курс 🖥«Linux для начинающих» почти даром!

Обычно курс стоит от 7000₽

😯 Не упустите свою возможность!

Курс рассчитан для программистов и администраторов, которые хотят освоить ОС Linux с нуля!

Что из себя представляет курс?
— 3 модуля с видеолекциями
— Комплексные знания по основам Linux
— Можно учиться в любом месте, где есть доступ в интернет
— Закрепление знаний с помощью тестов

Наш спикер – Андрей Буранов, эксперт по UNIX-вселенной в компании Mail Group.

🎁 В подарок с курсом, бонусом для более эффективной учебы дарим "10 базовых команд Linux"!
2
⚙️ Простой авто-кликер в Linux c помощью небольшого BASH скрипта

✔️Авто-кликер может понадобиться в разных случаях: если нужно автоматизировать нажатие какой-нибудь кнопки, или фармить печеньки в Cookie Clicker. Что-бы без лишней траты времени это сделать, нам понадобится программа xdotool.

sudo apt-get install xdotool


▶️ Создаём текстовый файл с любым названием, в домашней директории (так будет удобнее в будущем запускать сам авто-кликер).
Вот сам скрипт:

#!/bin/bash

sleep 5

for i in {1..2048}
do
sleep 1.5
xdotool click 1
echo "Cовершено $i нажатий."
done


➡️ Где "2048" в третьей строке - это количество желаемых нажатий, а "1.5" в 5 строке - это интервал в секундах между нажатиями. sleep 5 — это отсчёт в секундах до начала цикла. Ну и ещё прикручено echo для статистики.

▶️Кликать будет левая кнопка мыши. Чтобы эмулировать нажатия правой кнопки мыши, нужно в строке xdotool click 1 заменить единицу на 3.

▶️ Сохраняем файл. Затем нужно сделать наш файл исполняемым. Для этого нужно вписать в терминал команду:

chmod u+x название-файла


▶️ Авто-кликер готов! Чтобы его запустить, нужно ввести в терминале команду:

./название-файла


▶️ Чтобы остановить авто-кликер раньше, чем вписано в файле, нужно просто открыть окно терминала, через которое работает авто-кликер, и нажать сочетание клавиш Сtrl+C.

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍64
👉Приглашаем 19.06 в 20:00 ч мск на бесплатный вебинар онлайн-курса «IoT Developer» - «Введение в IoT, архитектура и платформы»: регистрация

На занятии вы:
- узнаете, что такое IoT, познакомитесь с архитектурой IoT и платформами
- рассмотрим платформу интернета вещей ThingsBoard, ее плюсы и минусы в разработке решений

Кому подходит этот урок:
- IT-специалистам, которые хотят расширить свои знания в IoT
- инженерам и программистам IoT
- тем, кто самостоятельно изучает IoT

🤝Понравится урок — продолжите обучение на курсе по спеццене и даже в рассрочку!

erid: LjN8KUEC3
3👍1
⚙️ Bargs — платформа для создания приложения Bash CLI

✔️Утилита для создания приложения Bash CLI.

➡️ Запустите приложение example.sh с помощью Docker:
$ docker run --rm -it unfor19/bargs:example --help


🐙 Перейти на Github

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
👍65🔥3😐3
This media is not supported in your browser
VIEW IN TELEGRAM
Хочешь изучать DevOps? Но не знаешь где взять информацию и четкий план?

💪 Тогда лови бесплатный мета-курс Devops Roadmap - это расширенный чек-лист, который поможет сориентироваться в мире DevOps и стать крутым спецом.

👀 В мета-курсе перечислены все основные разделы и навыки, которыми должен обладать DevOps инженер: от Linux до программирования в удобном формате.

✔️А еще он будет полезен при подготовке к собеседованиям.

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

📌 Ну а тем, кто хочет двигаться под руководством наставника - индивидуальная программа.
3
⚙️ Awesome Linux Software

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

🐙 Перейти на Github

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥73👍3
В этом году платформе Kubernetes® исполнилось 10 лет. За это время она стала важным инструментом для многих компаний бигтеха, в том числе и для Yandex Cloud.

Узнать больше о работе с платформой, безопасности кластеров и данных, трендах в DevOps и многом другом можно будет на Kuber Conf’24 — главной в России конференции по Kubernetes®, которая пройдёт 4 июля.

Регистрация открыта по ссылке. Участвовать можно как онлайн, так и очно в Москве.
3👍2😐2
⚙️ Быстрая установка вир­туаль­ных машин на Linux

✔️Про­ект Quickemu приз­ван облегчить соз­дание дес­ктоп­ных вир­туаль­ных машин. Теперь боль­ше не нуж­но искать дис­три­бутив, ста­вить его в вир­туаль­ное окру­жение (которое час­то тре­бует­ся еще и нас­тро­ить перед этим), нас­тра­ивать гос­тевую ОС и толь­ко пос­ле это­го поль­зовать­ся — дос­таточ­но написать все­го две коман­ды и получить готовую сис­тему.

Ус­тановить его на Ubuntu мож­но все­го в пару команд:
sudo apt-add-repository ppa:flexiondotorg/quickemu
sudo apt update
sudo apt install quickemu


Для дру­гих дис­три­бути­вов прос­то кло­нируй репози­торий себе.

➡️ Но на этом прик­лючения не закан­чива­ются: нуж­но еще уста­новить длин­ный спи­сок зависи­мос­тей:
▶️QEMU (6.0.0 или новее) с под­дер­жкой GTK, SDL, SPICE и VirtFS;
▶️bash (4.0 или новее);
▶️Coreutils;
▶️EDK II;
▶️grep;
▶️jq;
▶️LSB;
▶️procps;
▶️Python 3;
▶️macrecovery;
▶️mkisofs;
▶️usbutils;
▶️util-linux;
▶️sed;
▶️spicy;
▶️swtpm;
▶️wget;
▶️xdg-user-dirs;
▶️xrandr;
▶️zsync.

Даль­ше мож­но прос­то в две коман­ды запус­тить любой дис­три­бутив:
quickget ubuntu focal
quickemu --vm ubuntu-focal.conf


Ус­тановить мож­но даже новей­шую Windows 11!
quickget windows 11
quickemu --vm windows-11.conf


Кон­фигура­ции вир­туаль­ных машин лег­ко изме­нить, добав­ляя стро­ки в кон­фиги. Сле­дующая кон­фигура­ция соз­даст вир­туаль­ную машину с шестью ядра­ми про­цес­сора, 24 Гбайт ОЗУ и дис­ком на 640 Гбайт:
cpu_cores="6"
ram="24G"
disk_size="640G"


Мож­но даже пор­ты про­киды­вать:
port_forwards=("5050:5050" "8888:80")


🖼️ Ссылка на статью

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
12👍5🔥5
Пс...
Тут два С++ сеньора создали канал, где простым языком поясняют за плюсы, метапрограммирование, фишки новых стандартов, алгоритмы, вопросы с собеседований и другие непонятные штуки из современного программирования на С++.

Прямо сейчас Вы можете бесплатно забрать гайды по собеседованиям, по категориям выражений и мув-семантике и по ключевому слову inline. Все найдете в закрепе канала.

Подписывайтесь, чтобы пояснять друзьям за оптимизации компилятора, о которых вам никто не расскажет: Грокаем С++
👍5🔥2😐2
⚙️ BASHUI

BASHUI - это BASH + UI, а не то что вы подумали.

Какой UI без кнопок? С(т)ранный, поэтому я начал с элемента - кнопка. Идея заключается в том что кнопка(и остальные элементы UI) будет представлена функцией. Функцию можно использовать из коробки. Но удобнее сделать "обёртку"(функцию) с какими-то предустановленными параметрами и уже эту функцию использовать по назначению.

Для всех элементов UI я подготовил примеры(demo_*) их можно найти в репе. Вот как выглядит пример для кнопки:
#!/bin/bash
source bashui

mess="RESULT"
name="The Button"
title="Push the button, will get a result..."

butt(){
# Новая кнопка на основе button из bashui, параметры:
#1 координата X(колонка)
#2 координата Y(строка)
#3 название кнопки
#4 выполняемая функция
#5 цвет текста
#6 цвет рамки
#7 цвет подложки
local x=$((COLUMNS/2-(${#name}/2+2)))
local y=$((LINES/2))
# 1 2 3 4 5 6 7
button $x $y "$name" "result" "$wht" "$ylw" "$bblk"
}

# кнопка выполнит эту функцию
result(){
local x=$((COLUMNS/2-${#mess}/2))
local y=$((LINES/2+5))
XY $x $y "$mess"
(sleep 1; XY $x $y "${mess//[[:print:]]/ }") &
}

# все собрано вместе
menu(){
cursor off # отключаем курсор
default_button butt # это необходимо для активации кнопки
XY $((COLUMNS/2-${#title}/2)) $((LINES/2-2)) "$title"
butt # рисуем кнопку

# в цикле опрос клавиатуры и логика
while true; do
read_input
case $_input_ in
enter ) press_button butt;; # нажат enter, нажимаем кнопку
escape) return;; # нажат escape, выход
esac
done
}

clear
menu


🖼️ Дочитать на Habr'е

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6😐6👍41
This media is not supported in your browser
VIEW IN TELEGRAM
“Active Directory: пентест инфраструктуры - 2024" стартует 24 июня.

Это последний поток курса, который ведут его авторы: HackerRalf (Михаил Порываев) и BlackRabbit (Павел Никитин), 5-кратные победители the Standoff

Содержание курса:
- Архитектура AD и ее базис
- Компоненты AD Kerberos, Microsoft SQL Server и центр сертификации — как их взломать?
- Харденинг в AD, добыча критичной информации, развитие по инфраструктуре
- Как закрепиться внутри? Техники и эксплоиты

На 100% прикладной курс:
практическая лаборатория AD содержит 16 виртуальных машин, позволяя участникам отточить свои навыки на практике в 100+ рабочих тасках

🏆 Трудоустройство для лучших выпускников
🏆 Сертификат / удостоверение о повышении квалификации 

Пишите нам @Codeby_Academy
или звоните +74994441750

Подробнее о курсе
2