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

Реклама: @Kone4noVasya

Канал на бирже: https://telega.in/c/bash_help
Download Telegram
Хочешь изучать DevOps? Но не знаешь где взять информацию и четкий план?

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

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

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

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

✔️Использование операторов + и -

Этот метод позволяет вам увеличивать / уменьшать переменную на любое значение, которое вы хотите.

i=$((i+1))
((i=i+1))
let "i=i+1"


i=$((i-1))
((i=i-1))
let "i=i-1"


Вот пример увеличения переменной в цикле until :
i=0

until [ $i -gt 3 ]
do
echo i: $i
((i=i+1))
done

Вывод:
i: 0
i: 1
i: 2
i: 3


✔️Операторы += и -=

В дополнение к основным операторам, описанным выше, bash также предоставляет операторы присваивания += и -= . Эти операторы используются для увеличения / уменьшения значения левого операнда на значение, указанное после оператора.

((i+=1))
let "i+=1"

((i-=1))
let "i-=1"


✔️Использование операторов ++ и --

Операторы ++ и -- увеличивают и уменьшают соответственно его операнд на 1 и возвращают значение.
((i++))
((++i))
let "i++"
let "++i"

((i--))
((--i))
let "i--"
let "--i"


Операторы могут использоваться до или после операнда. Они также известны как:

▶️приращение префикса: ++i
▶️префиксный декремент: --i
▶️постфиксное приращение: i++
▶️постфиксный декремент: i--

Операторы префикса сначала увеличивают / уменьшают операторы на 1 а затем возвращают новое значение операторов. С другой стороны, постфиксные операторы возвращают значение операторов до того, как оно было увеличено / уменьшено.

Если вы хотите только увеличивать / уменьшать переменную, то нет никакой разницы, используете ли вы префиксный или постфиксный оператор. Это имеет значение только в том случае, если результат операторов используется в какой-либо другой операции или присваивается другой переменной.

Ниже приведен пример использования постфиксного инкрементора в сценарии bash:

#!/bin/bash
i=0
while true; do
if [[ "$i" -gt 3 ]]; then
exit 1
fi
echo i: $i
((i++))
done


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

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
Уйти в пентест? Стать devops-инженером или системным администратором? 
Только вам решать, куда расти, если вы знаете Linux.

Курс "Основы Linux" обучит вас тонкостям работы с ОС: от работы в командной строке до создания прикладных программ.

- 70% практики
- сопровождение куратора
- финальный проект для портфолио
- сертификат или удостоверение о повышении квалификации
- одна из самых низких цен на обучение

Старт курса - 6 мая (длительность 3,5 месяца)

Учитесь у лучших!

@Codeby_Academy
+74994441750
⚙️ Linux System Checker Script Tool

Bash скрипт, отображающий информацию о системе, ее загрузке, проверяет занятость диска, его скорость, и многое другое.

✔️System Checker проверяет и показывает информацию о Linux системе:

▶️Системная информация
▶️Информация о процессоре
▶️Информация о памяти
▶️Загрузочная информация
▶️Точки монтирования
▶️Тесты IO диска
▶️Топ 5 процессов использующих память
▶️Топ 5 процессов использующих процессор
▶️Скорость интернет загрузки
▶️Статусы systemd юнитов
▶️Информация о пользователях
▶️Слушаемые порты

✔️Основные преимущества - инструмент не требует установки дополнительного софта, использует встроенные инструменты Linux такие, как например lscpu, awk, curl и тп.

Тестируется и используется CentOS/Fedora/Debian

🐙 Перейти на Github

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
🐧 Пройдите увлекательный тест по Linux, ответьте на 20 вопросов и проверьте, насколько вы готовы к обучению на курсе — «Administrator Linux. Professional»

📗На курсе вас ждут все необходимые навыки системного администратора — умения гибко рулить системой, создавать и изменять RAID массивы, управлять логическими томами, работать с памятью, процессами, дисками, файлами, баш-скрипты и применение подхода Infrastructure as code.

💪 А также вы получите практические навыки в решении типовых задач администрирования. Практика проходит в режиме реального времени на виртуальных стендах

👉 ПРОЙТИ ТЕСТ — https://otus.pw/Q1XJ/?erid=LjN8Jzc8h 

💣 Пройдете тест, получите скидку на курс, и доступ к 60 открытым урокам курса.

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

✔️Bash скрипт для теста скорости ответа DNS серверов, которые могут быть перечислены в специальном файле, результат выводит в терминал.
Внутри DNS Tester использует команду dig с перебором адресов из default.txt в итоге собирает и отображает статистику в нескольких колонках:

▶️IP адрес
▶️Средняя скорость ответа
▶️Минимальная скорость ответа
▶️Максимальная скорость ответа

🐙 Перейти на Github

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
Оплачиваемая стажировка и трудоустройство без опыта — ну ничего себе 😳

Все возможно с Добровольным квалификационным экзаменом! Это бесплатный проект Правительства Москвы, где ты можешь показать свои знания по специальности, запомниться потенциальным работодателям и получить оффер в престижные компании Москвы.

Тебя ждет всего три шага:
1️⃣ Пройди тест
После регистрации на сайте ДКЭ тебе будет доступно 70 профессий по 7 направлениям. Выбирай тест по своей специальности и проверь уровень своих знаний!
2️⃣ Реши кейс
Если ты успешно сдал тест, тебя пригласят на следующий этап, где ты с другими участниками в команде будешь решать реальный кейс одного из работодателей.
3️⃣ Стань победителем
Окажись в числе лучших по общему количеству баллов за оба этапа и получи шанс попасть на оплачиваемую стажировку с дальнейшим трудоустройством.

Готов проявить себя? Регистрируйся и начинай проходить тест — https://dke.moscow

Реклама. АНО "РАЗВИТИЕ ЧЕЛОВЕЧЕСКОГО КАПИТАЛА", АНО "РЧК". ИНН 7710364647. erid: LjN8KA81X
⚙️ Использование команды PS в Linux

✔️PS (process state) — стандартная утилита всех дистрибутивов Linux, используемая через консоль. Ее основное предназначение — отображение информации обо всех запущенных процессах. Количество и детально показываемых сведений зависит от установленных опций, которые выбираются при непосредственной активации самой команды.

Содержание статьи:
▶️Вывод без опций
▶️Вывод списка всех процессов
▶️Полноформатный листинг
▶️Отображение пользовательских процессов
▶️Фильтр по root
▶️Отображение групповых задач
▶️Отображение по PID

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

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Правильный способ редактирования файлов /etc/passwd и /etc/group в Linux

✔️В этом кратком руководстве объясняется, как правильно редактировать файлы /etc/passwd и /etc/group с помощью команд vipw и vigr в Linux.

Почему мы не можем просто отредактировать их с помощью текстового редактора, такого как Vi или nano, и покончить с этим?

▶️Представьте себе этот сценарий. Файл /etc/passwd в настоящее время редактируется пользователем root с помощью Vi или некоторых других текстовых редакторов.

▶️В то же время другой пользователь пытается изменить свой пароль, пока пользователь root редактирует файл /etc/passwd.

▶️Таким образом, изменение пароля в этом файле может не обновляться, и пользователь может не иметь возможности войти в систему.

➡️ Именно в таком случае команды vipw и vigr приходят на помощь.
Команды vipw и vigr используются для безопасного редактирования файлов /etc/passwd и /etc/group в системах Linux.

▶️Они будут устанавливать соответствующие блокировки при редактировании файлов /etc/passwd и /etc/group, чтобы другие пользователи не могли вносить в них изменения и избежать повреждения файлов.

▶️Когда вы запускаете эти команды с флагом -s, они будут редактировать shadow версии этих файлов, то есть /etc/shadow и /etc/gshadow соответственно.

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

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
Я айтишник и я устал!
Рутина, прокрастинация, куча задач и 0 желания их выполнять. Еще и в семье конфликты. Че делать?

Хватит грызть самого себя и заставлять через силу - сделаешь только хуже!

Лучше подпишись на того, кто уже не первый год работает с IT-специалистами и помогает им справиться с апатией и прокрастинацией - Психолог с научным подходом.
👨🏻‍💻 Не очередной инфоциган, а практикующий психолог с дипломом и аккредитацией.

✔️ Оторваться от ленты соц. сетей и сесть за работу с удовольствием;
✔️ Перестать работать по выходным и при этом все успевать;
✔️ Избавиться от постоянной тревожности;
✔️ Успокоить конфликты в семье и перестать срываться на всех, а вместо этого получить поддержку и понимание со стороны близких.

Подписывайся на канал @remizov_changes - начни работать и жить в кайф, не скатываясь в кризисы и выгорание!

А в закрепе лови бонус - 7 практик для снятия головной боли без лекарств 💆🏼‍♂️
Не эзотерика, а минус одна отмазка от работы - “голова болит, посмотрю лучше еще один видосик”
⚙️ Обработка аргументов командной строки в Bash

✔️Самый простой способ обработки аргументов командной строки – установка флага с помощью условного оператора:

if [ "$1" = "-a" ]; then flag_a=1 fi

При реализации такого подхода возникает несколько проблем. Одна из них – захламление исходного кода дополнительными конструкциями. Так, перед этим примером необходимо предварительно обнулить переменную с помощью выражения flag_a=0. Иначе нельзя точно определить, какое значение присвоит ей оболочка командной строки при инициализации.

Другая проблема состоит в том, что выполнение этого блока никак не влияет на параметры командной строки: $1 по-прежнему может быть флагом (-a), другим аргументом или значением, введённым пользователем. Следовательно необходимо будет добавить дополнительные проверки при считывании остальных опций.

✔️Обработка нескольких аргументов командной строки в shell-скрипте

Для наглядности представим, что существует простой скрипт. Он работает в качестве обёртки к чему-то на подобии curl: если передать в него ссылку, то содержимое web-страницы будет скачано и сохранено в файле на локальном диске. К тому же, с помощью воображаемого флага -a можно увидеть ход работы.

Команда для выполнения сценария в bash будет выглядеть следующим образом:

getpage.sh -a http://ozi-blog.ru/

Аргументы командной строки инициализируются в том же порядке: $0 = getpage.sh, $1 = -a, $2 = http://ozi-blog.ru и их общее количество $# = 2.

➡️ Стоит помнить, что $# – количество всех аргументов, а не сумма слов в команде. Можно подумать, что если скрипт вызывается без каких-либо параметров, то $# должно равняться 1 (учитывая имя сценария), однако на самом деле $#=0.

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

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
Свершилось! В Telegram добавили бесплатный @ChatGPT4

Малый пример того, что может данный бот:

-Рисовать картины по вашему описанию
-Кодить и обучать кодингу
-Создать уникальный рецепт по списку продуктов
-Рассказать о твоих сильных сторонах
-Быть психологом, СММщиком, мотиватором
-Заполняет за вас Excel-таблицы, делает презентации в PowerPoint
-Писать резюме/рефераты/статьи/песни/рассказы/контент на любые темы

И многое другое! Возможности бота ограничены только вашей фантазией. Пользуйтесь и делитесь с друзьями! 👉🏻@ChatGPT4
⚙️ Настройка Cron

✔️Системным администраторам, да и обычным пользователям часто приходится автоматизировать различные задачи по обслуживанию и работе с Linux с помощью скриптов. Это очень удобно, вы просто запускаете скрипт, и он делает все что необходимо без вашего вмешательства. Следующий шаг в этом пути - настроить автоматически запуск нужного скрипта в нужное время.

✔️Именно для этих задач в Linux используется системный сервис cron. Это планировщик, который позволяет выполнять нужные вам скрипты раз в час, раз в день, неделю или месяц, а также в любое заданное вами время или через любой интервал. Программа часто используется даже другими службами операционной системы. В этой статье мы рассмотрим как выполняется настройка Cron и разберем основные часто используемые примеры.

Содержание статьи:
▶️Как работает Cron?
▶️Настройка Cron
▶️Синтаксис crontab
▶️Примеры настройки cron
▶️Отладка работы
▶️Выводы

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

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Шпаргалка по написанию Bash-скриптов

✔️Ценный ресурс обнаружился на просторах интернета.

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

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

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
2 самых популярных канала по информационной безопасности:

🔐 infosec — редкая литература, курсы и уникальные мануалы для ИБ специалистов любого уровня и направления. Читайте, развивайтесь, практикуйте.

👨‍💻 Вакансии в ИБ — актуальные предложения от самых крупных работодателей и лидеров рынка в сфере информационной безопасности.
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Команды Linux для получения расширенной информации об оборудовании и системе

✔️Иногда вам нужно получить информацию об оборудовании. Возможно, вы провели обновление, и эта информация больше не является точной. Приведенные ниже команды также будут полезны для отладки оборудования.

uname — утилита для проверки системной информации компьютера
lspci — служит для вывода информации о всех имеющихся в системе шинах PCI и всех подключенных к ним устройствах
lshw — команда, используемая для получения очень подробной информации об аппаратных характеристиках машины
hwinfo — еще один инструмент, очень похожий на lshw
dmidecode — позволяет использовать утилиту для получения информации об аппаратном обеспечении компьютера.
Утилита читает специальную файловую систему sysfs или файл устройства /dev/mem, предоставляющий доступ к физической памяти компьютера
lsusb — позволяет просматривать подробную информацию о USB-контроллерах, шинах, портах и подключенных USB-устройствах
lscpu — используется для получения подробной информации о процессоре (CPU) системы
lsscsi — маленькая консольная утилита, которая выводит список подключенных SCSI/SATA устройств
dmesg — команда, используемая в UNIX‐подобных операционных системах для вывода буфера сообщений ядра в стандартный поток вывода (stdout) (по умолчанию на экран)
inxi — набор скриптов, которые будут обнаруживать всю массу информации об аппаратном обеспечении
fdisk, gdisk и parted — все о разделах вашего диска
lsblk — выводит информацию, содержащую имя, тип, точку подключения всех доступных или конкретно установленных устройств, кроме RAM-дисков.
blkid — находит или отображает атрибуты устройства, такие как имя раздела или устройства, метка, тип файловой системы.
mount — смонтировать диск и вывести информацию об уже смонтированном
df — проверить занятое и свободное место на диске
/proc — псевдо-файловая система, которая предоставляет интерфейс к структурам данных ядра
hdparm — утилита предназначена для регулировки и просмотра параметров дисков SATA/IDE

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ 10 полезных приемов для терминала Linux

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

➡️ Содержание:
▶️Как найти команды по описанию с помощью apropos
▶️Как просмотреть историю ввода команд с помощью history
▶️Как упростить работу с Linux с помощью оболочки mс
▶️Как выключить компьютер под управлением Linux в определенное время с помощью команды shutdown
▶️Как узнать информацию обо всех известных пользователях Linux с помощью команды lslogins
▶️Как выполнить быстрый поиск файлов с помощью команды find
▶️Как создать деревья каталогов с помощью одной команд mkdir и tree
▶️Как скопировать файл сразу в несколько каталогов с помощью команд cp, echo и xargs
▶️Как удалить содержимое больших файлов с помощью перенаправления пустого значения
▶️Как запустить одну и ту же команду на нескольких серверах Linux параллельно с помощью цикла for и SSH
▶️Выводы

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

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
Inf0 | ИБ, OSINT — канал, посвящённый инфобезу, техникам OSINT, защите устройств и бесплатными курсами по информационной безопасности.

Сети и точка - профильная литература о компьютерных сетях, инструменты для безопасника в сети, уникальные мануалы и уроки linux
⚙️ Подборка Linux утилит для системного администратора

✔️Nezha
Легкий и элегантный аналог Zabbix, который отображает инфу по серверам, их системным ресурсам и другую информацию в веб-интерфейсе. Этот инструмент поможет вам контролировать состояние ваших серверов и быстро реагировать на любые проблемы.

✔️Plow
Этот инструмент был разработан для проведения нагрузочного тестирования HTTP-серверов. Он использует библиотеку fasthttp на языке Go, которая работает до десяти раз быстрее стандартной реализации.

✔️Hunt
Утилита для поиска файлов на локальном компьютере, которая представляет альтернативу стандартному инструменту locate. Hunt работает значительно быстрее, чем инструменты find, fd и locate.

✔️AutoRegex
Мощный инструмент для преобразования текстовых данных. Генератор регулярных выражений на основе естественно-языковых описаний на английском языке, который использует искусственный интеллект для автоматического создания регулярных выражений.

✔️ContainerSSH
Утилита, которая позволяет вам незаметно направлять SSH-клиентов в изолированные контейнеры, и эти контейнеры создаются «на лету», во время входа в систему.
✔️Krunvm
Это инструмент, который позволяет создавать простые виртуальные машины на основе образов OCI. Благодаря простоте и скорости работы, эта утилита является одним из лучших выборов для создания виртуальных машин на основе OCI.

✔️Zellij
Это интересный мультиплексор, который может быть использован в качестве альтернативы tmux. Этот инструмент может предоставить вам широкий набор функций и возможностей, чтобы улучшить вашу работу с терминалом.

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
👉 Linux Bash КУРС ДЛЯ НАЧИНАЮЩИХ

Видеоуроки:
1 — Пролог
2 — Настройка, Vbox, Ubuntu, ssh client, tabby
3 — Первый bash-скрипт, ls,mv,cp,mkdir, добавление user
4 — Права в linux, sudoers, read, write execute access
5 — Регулярные выражения, grep, regex, regular expression
6 — AWK, базовые навыки awk, что такое awk, как использовать AWK
7 — SED, базовые навыки sed, что такое sed, как использовать sed
8 — Самые важные директории linux в начале пути. Из моего опыта
9 — Пакет и репозитории в linux. apt dpkg sources.list
...
14 — Аттачим и разбиваем диск на партиции, создаем pv, vg, lv

📹 Плейлист YouTube

Канал: Владислав Арт | ITCraft

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Bash-скрипты: сигналы, фоновые задачи, управление сценариями

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

➡️ Содержание:
▶️ Сигналы Linux
▶️ Отправка сигналов скриптам
▶️ Завершение работы процесса
▶️ Временная остановка процесса
▶️ Перехват сигналов
▶️ Перехват сигнала выхода из скрипта
▶️ Модификация перехваченных сигналов и отмена перехвата
▶️ Выполнение сценариев командной строки в фоновом режиме
▶️ Выполнение скриптов, не завершающих работу при закрытии терминала
▶️ Просмотр заданий
▶️ Перезапуск приостановленных заданий
▶️ Планирование запуска скриптов
▶️ Удаление заданий, ожидающих выполнения
▶️ Запуск скриптов по расписанию
▶️ Запуск скриптов при входе в систему и при запуске оболочки

В Linux существует более трёх десятков сигналов, которые генерирует система или приложения. Вот список наиболее часто используемых, которые наверняка пригодятся при разработке сценариев командной строки.

SIGHUP — Уведомление об отключении или перезагрузке системы
SIGINT — Уведомление об interrupt (прерывание), например, от команды kill или Ctrl+C
SIGKILL — Уведомление об убийстве процесса, непрерываемое
SIGTERM — Уведомление об завершении процесса, например, перед удалением файла
SIGSEGV — Уведомление об ошибке сегментации (например, неправильный доступ к памяти)
SIGPIPE — Уведомление об ошибке передачи данных в несуществующий канал
SIGALRM — Уведомление об истечении таймера alarm
SIGUSR1 — Уведомление пользователя 1
SIGUSR2 — Уведомление пользователя 2
SIGWINCH — Уведомление об изменении размера окна
SIGIO — Уведомление об ожидании ввода/вывода

Если оболочка bash получает сигнал SIGHUP когда вы закрываете терминал, она завершает работу. Перед выходом она отправляет сигнал SIGHUP всем запущенным в ней процессам, включая выполняющиеся скрипты.

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

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