en
Feedback
BashMaster

BashMaster

Open in Telegram

Удобные консольные наработки на каждый день для разработчиков, девопсов и сисадминов. Реклама: @Kone4noVasya Канал на бирже: https://telega.in/c/bash_help

Show more
8 882
Subscribers
-524 hours
-157 days
+630 days
Posts Archive
📚Библиотека промптов для самых разных задач и профессий Внутри - сотни проверенных запросов для ChatGPT, которые удобно разб
📚Библиотека промптов для самых разных задач и профессий Внутри - сотни проверенных запросов для ChatGPT, которые удобно разбиты по категориям (от домашнего обучения до маркетинга и разработки) Библиотека постоянно обновляется, а доступна она здесь - Нейрон Сохраняй и пользуйся!💾

⚙️ 18 отборных однострочных команд Linux ✔️В этой статье описан ряд функциональных, полезных, а порой и опасных команд, чтобы
⚙️ 18 отборных однострочных команд Linux ✔️В этой статье описан ряд функциональных, полезных, а порой и опасных команд, чтобы продемонстрировать потенциал использования оболочки Bash в Linux. Некоторые из них, действительно, потребуют соблюдения осторожности, так как иначе можно потерять все свои данные. Другие же, наоборот, окажутся очень покладистыми и полезными для повышения эффективности работы. ▶️Опасные команды! Выполняйте их, только если уверены в своих действиях. В начало и конец каждой добавлены символы - - , чтобы их нельзя было просто скопировать и вставить. ➡️ fork-бомба ▶️Эта «команда» при выполнении на ПК не представляет особой угрозы, но вот ее запуск на сервере может привести к отказу в обслуживании. ▶️Выглядит она как странный набор символов, хотя на деле это реальное определение функции bash. ▶️В bash допускается использовать в качестве имени функции — : И в случае выполнения команды :(){ :|:& };:, именно такую функцию мы и создаем. Внутренне она рекурсивно вызывает сама себя, то есть выполняется бесконечно, а с помощью & мы инструктируем процесс выполняться фоново.
$ -- :(){ :|: & };: -- 
➡️ Прямая запись на жесткий диск Вы легко повредите файловую систему, если при выполнении любой команды сохраните ее вывод на диск. Так кому же это может понадобиться?
$ -- "a command" > /dev/sda --
▶️Запись на диск случайных данных Эта команда может пригодиться, например, для перезаписи секторов диска с целью исключения возможности восстановления данных. Напомню, что при наличии правильного инструмента вернуть данные после форматирования диска трудностей не составит. ▶️Если использовать эту команду в цикле и выполнить ее 3-4 раза, то она в достаточной степени гарантирует невозможность восстановления удаленной информации.
$ -- dd if=/dev/urandom of=/dev/disk --
//for i in {1..10}; do dd if=/dev/urandom of=/dev/disk; done
➡️ Удалить все ▶️Эта команда удаляет все, включая файлы на жестком диске и подключенных устройствах, что делает ее очень опасной, поскольку разрешения она не спрашивает. ▶️С помощью флага rf мы инструктируем ее выполняться рекурсивно и удалять все файлы без запроса разрешения. ▶️Символ / указывает, что начинать нужно с корневого каталога, который содержит все файлы и все смонтированные устройства с данными, включая удаленные файловые ресурсы и съемные диски. (прим. пер.: современные дистрибутивы не дают просто так удалить /, надо либо добавить --no-preserve-root, либо удалять /* (все файлы в корневом каталоге).
$ -- rm -rf / --
🖼️ Дочитать статью 🔨 bash_help

Большинство разработчиков стремится повысить свой грейд, но как и куда расти, если ты амбициозный мидл или уже синьор? Откуда
Большинство разработчиков стремится повысить свой грейд, но как и куда расти, если ты амбициозный мидл или уже синьор? Откуда брать насмотренность и опыт, если ты ограничен задачами своей компании, а одними статьями на Хабре проблему не решить? Чтобы расти в профессии и получать крутые офферы, разработчик может прокачать навык построения архитектуры. Он может собрать библиотеку из каналов, статей и видео или пройти полноценный курс. Курс «Архитектор ПО» от Практикума поможет развить навык решения архитектурных задач. Техлиды Яндекса и других компаний покажут противоположные архитектурные подходы. Благодаря этому разработчику не придётся учиться на своих ошибках — он научится на опыте коллег. За 6 месяцев курса он разработает и добавит в портфолио 5 архитектур. Курс подойдёт бэкенд-разработчикам, которые: — работают 2+ лет; — хотят развиваться на текущей позиции и повышать свой грейд; — хотят получить должность лида или архитектора ПО. Успейте записаться на ближайший поток по ссылке

⚙️ Объектно-ориентированное программирование на bash ✔️Оболочка bash не имеет возможностей создания объектов и работы с ними.
⚙️ Объектно-ориентированное программирование на bash ✔️Оболочка bash не имеет возможностей создания объектов и работы с ними. Тем не менее, можно написать скрипты таким образом, чтобы скрипт был достаточно сильно похож на объектно-ориентированную программу, и реализовать таким образом объектно-ориентированное программирование на bash. ➡️ Давайте посмотрим, как можно написать скрипты, которые похожи на программу с объектами. Для этого нам надо сэмулировать методы и свойства объектов. И единственная возможность это сделать — это использование функций. ▶️В первую очередь надо определиться с названием класса. Пусть это будет класс «obj». А объект мы назовем «myobject». В скрипте объект будет создаваться следующим образом:
obj myobject
▶️Это чем-то похоже на другие языки, где вы сначала пишете название типа переменной, а затем название переменной. Пусть в нашем скрипте это будет тоже так же, чтобы было больше похоже на другие языки. ▶️При создании объекта нам по логике вещей необходимо вызвать конструктор экземпляра объекта. И этим конструктором будем именно функция obj. Для лучшего вида программы сделаем следующее: вынесем obj в отдельный файл, и для сходства с другими языками назовем его «obj.h». Это будет заголовочный файл, мы будем его подключать. Этот заголовочный файл будет иметь всего одну функцию: obj
obj(){

}
▶️И пока отложим эту функцию. Наша программа тем временем выглядит вот так:
. obj.h
obj myobject
Давайте добавим в программу работу с методами и свойствами объекта.
. obj.h
obj myobject

# вызов метода
myobject.sayHello

# работа со свойствами объекта
myobject.fileName = "file1"
▶️И добавим для красоты еще один объект — stdout, это будет объект, реализующий вывод на экран.
stdout.printString "Property value is:"
stdout.printValue myobject.fileName
▶️Для него нам тоже понадобится заголовочный файл, назовем его «system.h». Теперь наша программа выглядит так:
. obj.h
. system.h

obj myobject

myobject.sayHello

myobject.fileName = "file1"

stdout.printString "value is"
stdout.printValue myobject.fileName
▶️Теперь надо всё это заставить корректно работать. 🖼️ Дочитать статью в источнике 🔨 bash_help

Скидка 35% раз, скидка 35% два, ПРОДАНО: аукцион выделенных серверов от Selectel Если вам нужны вычислительные мощности для в
Скидка 35% раз, скидка 35% два, ПРОДАНО: аукцион выделенных серверов от Selectel   Если вам нужны вычислительные мощности для ваших проектов, сейчас самое время арендовать сервер в Selectel по выгодной цене. Аукцион выделенных серверов — акция от Selectel, когда цена не растет, а снижается каждую секунду.   Ежедневно к заказу доступно более десятка готовых конфигураций с отличными скидками. Список серверов на аукционе и размер скидки постоянно обновляются, так что не упустите выгодное предложение, их быстро разбирают.   Почему стоит арендовать выделенный сервер в Selectel? - Серверы на базе процессоров Intel и AMD справятся с любыми нагрузками - Скидка аукциона закрепляется за вами и сохраняется навсегда - Безлимитный бесплатный интернет со скоростью 1 Гбит/сек - Защита от DDos атак входит в стоимость аренды - Полное соответствие стандартам 152-ФЗ   Все конфигурации протестированы и готовы к работе, на их запуск потребуется от 2 минут. Заказать инфраструктуру и управлять ею можно в одном окне браузера — через удобную панель.   Арендуйте выделенный сервер от Selectel по выгодной цене, пока это не сделал кто-то другой: https://slc.tl/06fgf Реклама АО «Селектел». ИНН: 7810962785 Erid: 2VtzqxgUA7L

⚙️ Пять терминальных программ для вывода информации о дистрибутиве Linux ➡️ Neofetch Простая утилита, написанная на Bash и пр
⚙️ Пять терминальных программ для вывода информации о дистрибутиве Linux ➡️ Neofetch Простая утилита, написанная на Bash и предназначенная для вывода информации о программном и аппаратном обеспечении вашего дистрибутива. «Выхлоп» приятен взгляду: выводится логотип вашего дистрибутива в формат ASCII и краткая информация о дистрибутиве. После первого запуска утилиты создается конфигурационный файл, в котором можно поменять логотип и вывод информации. «Выхлоп» утилит прост и понятен для любого пользователя. ➡️ Screenfetch Полезная консольная утилита также написанная на Bash, позволяющая выводить информацию о процессоре, видеокарте, потребляемой оперативной памяти, типе дистрибутива, версии ядра и иную информацию. В отличие от предыдущей утилиты Screenfetch не создает конфигурационный файл, содержание выводимой информации управляется посредством использования ключей. Чтобы посмотреть какие ключи можно использовать, введите команду с ключом -h (help). ➡️ Nerdfetch В отличие от предыдущих двух утилит, эта отличается минимализмом в плане выводимой информации. Она более для красоты «выхлопа», чем для его пользы и содержательности. Перед тем как использовать Nerdfetch необходимо установить в дистрибутив шрифты Nerd. Скачать нужные шрифты вы можете с официального сайта или использовать встроенный в систему пакетный менеджер. ➡️ Macchina Еще одна минималистичная утилита, выводящая информацию о дистрибутиве. В отличие от всех предыдущих она имеет встроенную поддержку тем и поддерживает кастомизацию через конфигурационный файл (прям как у Neofetch). С одной стороны это является преимуществом утилиты, но новичку нужно будет время, чтобы разобраться (при желании) в конфиге и настроить его под себя. ➡️ Pfetch Еще одна минималистичная утилитка, выводящая информацию о дистрибутиве. Настраивать вывод можно посредством изменения переменных окружения. Примеры конфигурирования разработчики приводят на официальной странице проекта в Github. 🖼️ Ссылка на источник 🔨 bash_help

✋ 14 октября (пн) приглашаем вас на встречу потенциальных докладчиков с Программным комитетом DevOpsConf 2025. Собираемся в 1
14 октября (пн) приглашаем вас на встречу потенциальных докладчиков с Программным комитетом DevOpsConf 2025.  Собираемся в 19.00 Мск.  📌 Форматы: Офлайн. Москва, офис Газпромбанк, Коровий Вал 5, БЦ «Оазис». Онлайн. Ссылка придёт после регистрации на встречу, участие свободное. 😎 От Программного комитета во встрече будут участвовать: Дмитрий Зайцев (Flocktory) — руководитель Программного комитета DevOpsConf, Александр Коротков (Т-Банк), Игорь Курочкин (Enabling.team).  ✍ Обсудим новости и планы, поговорим о том, что болит и волнует, обменяемся идеями. Вы узнаете актуальна ли ваша тема и нет ли похожих докладов от других спикеров, а также мы расскажем, как проходит процесс отбора заявок в программу и подготовка принятых докладов к выступлению. Зарегистрироваться на встречу и подать заявку на доклад можно на сайте.  До встречи 14 октября! Ждём вас 🤝 Реклама. ООО "КОНФЕРЕНЦИИ ОЛЕГА БУНИНА". ИНН 7733863233.

⚙️ Фейковый SMTP-сервер на bash ✔️Когда вы разрабатываете веб-приложение, вам, возможно, надо будет отправлять какую-то элект
⚙️ Фейковый SMTP-сервер на bash ✔️Когда вы разрабатываете веб-приложение, вам, возможно, надо будет отправлять какую-то электронную почту. Например, со ссылкой на подтверждение регистрации нового пользователя. И использовать для этого реальные адреса может быть проблематично, если не используется полноценный почтовый сервер, так как почта, отправленная с сервера, на котором ведется разработка, или с виртуальной машины, доставлена скорее всего не будет. К тому же, если при отправке формируются реальные адреса, скажем, из базы, то отправлять наружу такие письма никак нельзя. Эту проблему можно решить достаточно просто. ▶️Для этого нам может пригодиться почтовый сервер, который никуда отправлять почту не будет, он будет работать как нормальный почтовый сервер, но фактически будет складывать отправленные через него письма в директорию в виде файлов, либо просто выводить на экран. Реализовать его можно, например, на bash. ➡️ Требования Каким требованиям должен удовлетворять такой сервер: ▶️Слушать порт 25/tcp, на котором работает обычно SMTP-сервер ▶️Принимать само письмо и записывать его в файл, либо на терминал ▶️Поддерживать команды протокола SMTP ➡️ Протокол SMTP Сам по себе протокол SMTP очень простой, но реализовывать его целиком мы не будем. Нам нужны будут только следующие команды: HELO имя/IP-адрес — Начало сессии MAIL FROM: отправитель — Отправитель письма RCPT TO: получатель — Может быть несколько таких заголовков DATA — Начало ввода данных . (точка) — Окончание ввода данных (Строка, состоящая из одного символа) QUIT — Окончание сессии ➡️ Фейковый SMTP-сервер Это будет достаточно небольшой скрипт. Его первая задача — открыть порт 25/tcp и слушать его. Как только на этом порту будет введена команда, ее надо обработать и соответствующим образом прореагировать. ▶️Для того, чтобы запустить скрипт, нам понадобятся права пользователя root, поскольку порт 25 является привелегированным, а также установленный пакет netcat.
#!/bin/bash

# Адрес, на котором будет слушаться порт
LISTEN="192.168.0.6"

S=./tmp
[ -p $S ] || mkfifo $S

start_smtp(){
(tail -f $S) | ( netcat -l -p 25 $LISTEN ) | (
    # Баннер почтового сервера
    echo "220 fake smtp server" > $S
    # Разделителем значений будет перевод строки
    # Это нужно для считывания текста целыми строками
    IFS='
'
    # Флаг режима ввода данных
    DATA_INPUT=0
    while read
    do
    echo $REPLY
    if [ $DATA_INPUT -eq 0 ]
    then
        case $REPLY in
            HELO*)
                # Здесь и далее ответ на команды клиента
                echo "250 bash SMTP stub" > $S
            ;;
            DATA*)
                # После ввода команды DATA включаем режим ввода данных
                echo "354 Start mail input; end with ." > $S
                DATA_INPUT=1
            ;;
            QUIT*)
                # Окончание сессии
                echo "221 2.0.0 Bye" > $S
                # Находим запущенные нами процессы tail и netstat и убиваем их
                # Без окончания этих процессов следующая сессия не запустится 
                TAIL_PID=$(ps ax | grep "tail -f $S" | grep -v grep | cut -d' ' -f 1)
                NETCAT_PID=$(ps ax | grep "netcat -l -p 25" | grep -v grep | cut -d' ' -f 1)
                kill -9 $TAIL_PID $NETCAT_PID
                # Выход в главную программу
                return
            ;;
            MAIL\ FROM*)
                echo "250 2.1.0 OK" > $S
            ;;
            RCPT\ TO*)
                echo "250 2.1.0 OK" > $S
            ;;
            *)
                echo "502 5.5.2 Error: command not recognized" > $S
            ;;
        esac
    else
        # Ввод данных пока не встретится "."
        case $REPLY in
            .*)
                echo "250 2.1.0 OK" > $S
                DATA_INPUT=0
            ;;
        esac
    fi
    done
)

}

while true
do
echo "*** Starting session"
start_smtp
done
▶️Информация, которую передает клиент, выводится на экран терминала, в котором запущен скрипт. При желании ее можно перенаправить в файл лога. 🖼️ Ссылка на источник 🔨 bash_help

Курс "Профессия Пентестер" стартует 21 октября! - Научитесь атаковать сети, WEB-сайты, операционные системы и локальные устро
Курс "Профессия Пентестер" стартует 21 октября! - Научитесь атаковать сети, WEB-сайты, операционные системы и локальные устройства и проводить внутренний и внешний пентест - Участвуйте в BugBounty программах или постройте карьеру в сфере информационной безопасности Полный цикл обучения: - от освоения Kali Linux и администрирования, до написания эксплойтов и обхода антивирусных решений - от сетевой разведки до эксплуатации уязвимостей, повышения привилегий и закрепления в сети Хотите стать пентестером? Присоединяйтесь к нам – защищайте мир от угроз, находя уязвимости и предотвращая кибератаки! Пишите нам @Codeby_Academy Узнать подробнее

⚙️ Ресурс, описывающий самые популярные инструменты DevOps ✔️Здесь описывается Docker, GitHub Actions, k8s, Go, Helm, Prometh
⚙️ Ресурс, описывающий самые популярные инструменты DevOps ✔️Здесь описывается Docker, GitHub Actions, k8s, Go, Helm, Prometheus, ArgoCD, Jenkins. ▶️Помимо инструментов, внимание здесь уделяется таким методологиям как GitOps, DevSecOps, описываются базовые команды Linux, основы написания Bash-скриптов и много всего другого. 🖼️ Перейти на сайт 🔨 bash_help

Cамый простой способ изучить Java — залезть в голову профи Один из лучших айтишников России учит базе кодинга в Telegram. Даже гуманитарий поймёт, как создавать приложения, сайты, игры и чат-боты. Достаточно подписаться на «Секреты Java», где каждый день появляются гайды, готовые примеры кода и лучших практик. И всё это бесплатно — вместо сотен тысяч рублей за курсы. Стартовать в прибыльной профессии с нуля вы сможете гораздо проще! Теперь обучиться Java может каждый: @java_secrets

⚙️ Introduction to Bash scripting — бесплатная электронная книга В некоторых ситуациях проще и быстрее написать костыль на Ba
⚙️ Introduction to Bash scripting — бесплатная электронная книга В некоторых ситуациях проще и быстрее написать костыль на Bash, чем мониторить готовые решения. И как раз для желающих прокачать свои скиллы написания Bash-скриптов и была написана эта книга. 🐙 Перейти на Github 🔨 bash_help

Лучше, выгоднее, удобнее: нашли отечественный аналог Cloudflare. Более 10 лет DDoS-Guard защищает бизнес любых масштабов и обеспечивает отказоустойчивость даже при самых интенсивных нагрузках. Также DDoS Guard: - Сертификация ФСТЭК - Фиксированные цены без сюрпризов - Бесплатный пробный период - Интуитивно понятный личный кабинет Проверьте защиту в действии. Подключитесь к бесплатному пробному периоду и убедитесь, что DDoS-Guard — самая надежная защита от DDoS-атак для вашего бизнеса #реклама О рекламодателе

🎬 Docker и Docker Compose - Полный Курс Docker Для Начинающих с Нуля 🔴Описание: 00:00 Интро в курс 01:26 Что вошло в курс д
🎬 Docker и Docker Compose - Полный Курс Docker Для Начинающих с Нуля 🔴Описание: 00:00 Интро в курс 01:26 Что вошло в курс для начинающих на YouTube 02:43 Что в расширенном курсе на Udemy 04:43 Что нужно для прохождения курса 06:16 Зачем нужен Docker - проблемы разработки и деплоймента 13:22 VM (виртуальная машина) разница с Docker 17:38 Принцип работы Docker 23:22 Docker образ и Docker контейнер 28:19 Слои образа (теория о принципе) 32:49 Начало установки и нюансы о Docker-Desktop 37:24 Установка Docker на Mac 38:56 Установка Docker на Windows 46:32 Установка Docker на Linux 50:40 Проверка работоспособности Docker Desktop 55:15 Базовые команды Docker с образами и контейнерами 1:16:19 Настройка потребления ресурсов Docker-Desktop 1:17:17 Работаем с образом Ubuntu 1:26:35 Интерактивный терминал контейнера Ubuntu 1:27:39 О файловой системе контейнеров 1:32:21 Установка компонентов в контейнер 1:35:33 Dockerfile. Сборка своего образа и установка компонентов 1:45:31 Уменьшаем количество слоев в образе 1:51:46 Потребление ресурсов контейнерами Live stats 1:57:06 Слои контейнера и сборка образа! из контейнера 2:01:20 Образ Python 2:02:34 Упаковка файлов(проекта) в образ (на простом примере) 2:11:06 О буферизации потока вывода 2:15:01 Разница между RUN и CMD 2:15:37 Очистка системы Docker от кеша, ненужных образов и прочего мусора 2:18:43 Установка доп библиотек в образ из requirements.txt или package.json... 2:19:41 Обзор кода (чекаем пару BTC/USDT))) 2:23:03 Правило структуры Dockerfile (правильной очередности слоев) 2:26:20 Образ Nginx 2:31:22 Монтирование портов и ip адреса хоста к контейнеру Docker 2:38:32 Поработаем в Linux терминале контейнера, редактор Nano 2:51:43 Монтирование директорий хоста к контейнеру 3:00:46 Docker Compose (первый пример с Nginx, портами и директориями) 3:10:13 Сборка руками 4 контейнера Mongo + Mongo-Express + Flask + API Checker 3:12:18 Создание сетей 3:28:05 Онлайн график стоимости (смотрим что получилось)) 3:30:03 Compose сборка 4 контейнера Mongo + Mongo-Express + Flask + API Checker ▶️ Смотреть на YouTube 🔻Канал: Python Hub Studio 🔴#docker

⚙️ Команда exit в Bash и коды выхода ✔️Часто при написании сценариев Bash вам необходимо завершить сценарий при выполнении оп
⚙️ Команда exit в Bash и коды выхода ✔️Часто при написании сценариев Bash вам необходимо завершить сценарий при выполнении определенного условия или выполнить действие на основе кода выхода команды. ➡️ Статус выхода ▶️Каждая команда оболочки возвращает код выхода, когда она завершается успешно или безуспешно. ▶️По соглашению нулевой код выхода указывает, что команда завершилась успешно, а ненулевое значение означает, что произошла ошибка. ▶️Специальная переменная $? возвращает статус выхода последней выполненной команды:
date &> /dev/null
echo $?
▶️Команда date завершена успешно, код выхода равен 0 Если вы попытаетесь запустить ls в несуществующем каталоге, код выхода будет отличным от нуля:
ls /nonexisting_dir &> /dev/null
echo $?
2
▶️Код состояния можно использовать для выяснения причины сбоя команды. На странице руководства каждой команды содержится информация о кодах выхода. ▶️При выполнении многокомандного конвейера статус выхода конвейера соответствует состоянию последней команды:
sudo tcpdump -n -l | tee file.out
echo $?
▶️В приведенном выше примере echo $? напечатает код выхода команды tee . ➡️ Команда exit Команда exit закрывает оболочку со статусом N Он имеет следующий синтаксис:
exit N
▶️Если N не задано, код состояния выхода — это код последней выполненной команды. ▶️При использовании в сценариях оболочки значение, указанное в качестве аргумента команды exit возвращается оболочке как код выхода. ➡️ Примеры ▶️Статус выхода команд может использоваться в условных командах, таких как if . В следующем примере grep завершит работу с нулем (что означает истину в сценариях оболочки), если «строка поиска» найдена в filename :
if grep -q "search-string" filename then
  echo "String found."
else
  echo "String not found."
fi
▶️При запуске списка команд, разделенных && (И) или || (ИЛИ), статус выхода команды определяет, будет ли выполнена следующая команда в списке. Здесь команда mkdir будет выполнена, только если cd вернет ноль:
cd /opt/code && mkdir project
▶️Если сценарий завершается exit без указания параметра, код выхода из сценария — это код последней команды, выполненной в сценарии.
#!/bin/bash

echo "doing stuff..."

exit
▶️Использование только exit — это то же самое, что и exit $? или пропуская exit . ▶️Вот пример, показывающий, как завершить сценарий, если он запущен пользователем без полномочий root:
#!/bin/bash

if [[ "$(whoami)" != root ]]; then
  echo "Only user root can run this script."
  exit 1
fi

echo "doing stuff..."

exit 0
▶️Если вы запустите сценарий как root, код выхода будет нулевым. В противном случае скрипт выйдет со статусом 1 . ➡️ Выводы ▶️Каждая команда оболочки возвращает код выхода при завершении. Команда exit используется для выхода из оболочки с заданным статусом. 🖼️ Ссылка на источник 🔨 bash_help

Есть ли жизнь DevOps после 40? 🚩 Признайтесь, кто тоже боится войти в новую профессию, потому что думает, что возраст — поме
Есть ли жизнь DevOps после 40? 🚩 Признайтесь, кто тоже боится войти в новую профессию, потому что думает, что возраст — помеха? В Слёрме знают, как избавиться от этого страха. До 6 октября приглашаем вас присоединиться к курсу-профессии «DevOps Upgrade» с карьерной поддержкой. Внутри: 275 часов интенсивной практики видеолекции и живые встречи с экспертами курса 2 сертификации и 1 большой финальный проект (можно добавить в портфолио!) диплом государственного образца 🔗 карьерная консультация от наставника 🔗 подготовка к собеседованию 🔗 рекомендательное письмо Вы сможете не только освоить новую профессию, но и подготовиться к старту в ней и выгодно подсветить своё резюме. Переходите на сайт, выбирайте тариф «Комфорт Карьера», и начните учиться уже сегодня 🏃‍♂️

⚙️ Руководство по использованию команды ulimit в Linux с примерами ✔️Команда ulimit в Linux позволяет ограничивать ресурсы, д
⚙️ Руководство по использованию команды ulimit в Linux с примерами ✔️Команда ulimit в Linux позволяет ограничивать ресурсы, доступные для оболочки и её дочерних процессов. Эти ограничения включают максимальное количество открытых файлов, максимальный объём виртуальной памяти, размер файла дампа памяти и многое другое. ▶️Команда ulimit является важным инструментом для управления доступными ресурсами, предотвращая ситуации, когда один процесс может заблокировать все ресурсы системы. Она также помогает поддерживать стабильность системы, ограничивая ресурсы для каждого пользователя и процесса. ▶️В этой статье мы рассмотрим команду ulimit и приведём примеры её использования. Также будут рассмотрены практические аспекты её применения. ➡️ Виды ограничений Ограничения, управляемые командой ulimit, можно разделить на два типа: жёсткие и мягкие ограничения. Рассмотрим их подробнее. ▶️Мягкие ограничения Мягкие ограничения — это значения, которые можно изменить в пределах жёстких ограничений. Они позволяют временно менять пределы ресурсов для конкретного процесса. ▶️Жёсткие ограничения Жёсткие ограничения — это максимальные значения ресурсов, которые можно установить для пользователя или процесса. Эти ограничения могут быть изменены только суперпользователем. Жёсткие ограничения задают строгие пределы для использования ресурсов, предотвращая злоупотребление ими. ➡️ Содержание статьи: ▶️Использование ▶️▶️Установка предела размера файла ▶️▶️Увеличение числа открытых файловых дескрипторов ▶️▶️Ограничение времени работы процессора ▶️Практическое применение ▶️▶️Предотвращение перегрузки системы ▶️▶️Улучшение безопасности ▶️▶️Разработка и тестирование ▶️▶️Оптимизация производительности системы ▶️Сохранение ограничений ▶️Заключение 🖼️ Дочитать статью 🔨 bash_help

Развертывание кластера Kubernetes — долгая, сложная и рутинная работа А что если мы скажем, что это можно сделать за нескольк
Развертывание кластера Kubernetes — долгая, сложная и рутинная работа А что если мы скажем, что это можно сделать за несколько кликов 🤯 8 октября Cloud․ru проведет бесплатный вебинар и в прямом эфире покажет, как быстро и просто развернуть приложение в кластере Kubernetes, при этом сэкономить на инфраструктуре. Ну и в целом эксперт расскажет про нюансы управления кластером и ответит на вопросы. Будет интересно разработчикам, DevOps-инженерам, архитекторам облачных решений и всем, кто работает с Kubernetes. ➡️ Регистрируйтесь на сайте

⚙️ Несколько способов ускорить bash-скрипты ✔️Думаю, не сделаю открытия, если скажу, что в принципе bash-скрипты штука доволь
⚙️ Несколько способов ускорить bash-скрипты ✔️Думаю, не сделаю открытия, если скажу, что в принципе bash-скрипты штука довольно медленная. Но это обычно не критично, потому что все-таки главная задача bash-скриптов — это автоматизация тех действий, которые выполняются руками. Так что по сравнению с ручным выполнением скорость просто фантастическая. Тем не менее, бывает необходимо ускорить скрипты, если обрабатываются какие-то большие объемы данных. ➡️ Скорость выполнения скриптов Есть определенные факторы, которые влияют на скорость выполнения скриптов. К ним можно отнести: ▶️Использование внешних команд ▶️Использование излишне сложных или просто неоптимальных регулярных выражений ▶️Вывод в консоль каких-то данных ▶️Использование лишних команд ▶️Использование круглых или фигурных скобок ▶️и т.д. ➡️ И, соответственно, хороший скрипт ▶️Не использует специфические программы, которые есть не везде (требуют установки дополнительных пакетов) ▶️Использует минимум внешних команд ▶️Использует оптимизированные регулярные выражения (которые, как ни печально, многие вообще не используют), например, с минимальным использование захватывающих квантификаторов. Регулярки — это вообще отдельная интересная тема, по поводу которой могу порекомендовать книгу Джеффри Фридла «Регулярные выражения» (если ваш английский позволяет, то лучше в оригинале) и много практики. ▶️Не использует переменные для хранения данных, когда можно использовать пайп и запускать два процесса параллельно вместо последовательного запуска Кроме скорости, естественно, есть еще такой фактор как совместимость. Если вы уверены, что в других оболочках скрипт выполняться не будет, или будет работать медленно, лучше откажитесь от совместимости в пользу скорости. Какой смысл писать скрипты, которые будут в 99% случаев выполняться в bash, но работать будут в 100% случаев медленно? Тем более что bash есть буквально везде, даже на смартфонах и роутерах. В наше время написание совместимых скриптов — это чаще вопрос предпочтений, чем реальной необходимости. Не очень приятного бывает осознавать, что скрипт может работать под разными оболочками, но работает 100% в баше, и, в связи с отсутствием «заточки» под баш, работает он заметно медленнее, чем мог бы. ➡️ Поэтому давайте рассмотрим некоторые моменты, касающиеся скорости скриптов на примерах ▶️Использование внешних команд ▶️Использование регулярных выражений ▶️Вывод в консоль данных ▶️Использование лишних команд 🖼️ Дочитать статью 🔨 bash_help

Хотите научиться программировать на одном из самых мощных и востребованных языков? Запишитесь на бесплатный мини-курс Skillbo
Хотите научиться программировать на одном из самых мощных и востребованных языков? Запишитесь на бесплатный мини-курс Skillbox по разработке на C++ и создайте своё первое приложение всего за 5 дней: https://epic.st/rkQ-iw?erid=2VtzqwQRW48 На мини-курсе вас ждут: — Погружение в C++: даже если вы никогда не занимались программированием, всё равно поймёте основы языка и напишете своё первое финансовое приложение — Доступ к материалам навсегда: смотрите видео в удобное время и повторяйте пройденный материал, когда потребуется — Поддержка эксперта: общение со спикером и разбор ваших практических работ на вебинаре Запишитесь на мини-курс и получите 5 чек-листов разработчика на C++, а также год бесплатного изучения английского языка! Реклама. ЧОУ ДПО «Образовательные технологии «Скилбокс (Коробка навыков)», ИНН: 9704088880