ch
Feedback
Bash Days | Linux | DevOps

Bash Days | Linux | DevOps

前往频道在 Telegram

Авторский блог от действующего девопса Самобытно про разработку, devops, linux, скрипты, сисадминство, техдирство и за айтишную жизу. Автор: Роман Шубин Реклама: @maxgrue MAX: https://max.ru/bashdays Курс: @tormozilla_bot Блог: https://bashdays.ru

显示更多

📈 Telegram 频道 Bash Days | Linux | DevOps 的分析概览

频道 Bash Days | Linux | DevOps (@bashdays) 俄语 语言赛道中的 是活跃参与者。目前社区聚集了 23 788 名订阅者,在 技术与应用 类别中位列第 5 701,并在 俄罗斯 地区排名第 28 125

📊 受众指标与增长动态

невідомо 创建以来,项目保持高速增长,吸引了 23 788 名订阅者。

根据 18 六月, 2026 的最新数据,频道保持稳定运转。过去 30 天订阅人数变化为 -216,过去 24 小时变化为 -5,整体触达仍然可观。

  • 认证状态: 未认证
  • 互动率 (ER): 平均受众互动率为 22.75%。内容发布后 24 小时内通常能获得 12.90% 的反应,占订阅者总量。
  • 帖子覆盖: 每篇帖子平均可获得 5 413 次浏览,首日通常累积 3 068 次浏览。
  • 互动与反馈: 受众积极参与,单帖平均反应数为 21
  • 主题关注点: 内容集中在 bashdays, linux, bash, docker, скрипт 等核心主题上。

📝 描述与内容策略

作者将该频道定位为表达主观观点的平台:
Авторский блог от действующего девопса Самобытно про разработку, devops, linux, скрипты, сисадминство, техдирство и за айтишную жизу. Автор: Роман Шубин Реклама: @maxgrue MAX: https://max.ru/bashdays Курс: @tormozilla_bot Блог: https://bashdays.r...

凭借高频更新(最新数据采集于 19 六月, 2026),频道始终保持新鲜度与高覆盖。分析显示受众积极互动,使其成为 技术与应用 类别中的关键影响点。

23 788
订阅者
-524 小时
-257
-21630
帖子存档
🚩🚩🚩🚩🚩🚩🚩 Тема: Нужен ли swap в Linux? Мы разберем: - что такое swap; - нужен ли он сегодня; - как он работает, какие да
🚩🚩🚩🚩🚩🚩🚩 Тема: Нужен ли swap в Linux? Мы разберем: - что такое swap; - нужен ли он сегодня; - как он работает, какие данные в него уходят; - за что на самом деле отвечает параметр swappiness; - структуру кеша в Linux. 🏆 Спикер Андрей Буранов — системный администратор в VK, входит в топ-3 лучших преподавателей образовательных порталов. 5️⃣6️⃣7️⃣ Не упустите возможность! Регистрируйтесь сейчас https://otus.pw/CxGq/ 🔑 Специальная цена на курс «Administrator Linux. Professional» для участников. Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

Здрасти. Такое ощущение, что сегодня понедельник. Вчера коллега принёс вопрос — часто встречаю в настройках терминала, выбор
Здрасти. Такое ощущение, что сегодня понедельник. Вчера коллега принёс вопрос — часто встречаю в настройках терминала, выбор каких-то xterm, vt100, linux, rxvt и т.п. Чо это такое и как влияет на потенцию? Вопрос на самом деле хороший, но его в приличном обществе предпочитают не задавать. Потому что мало кто про это вообще задумывался. По итогу эту настройку игнорируют и оставляют по умолчанию. Давай разберемся, что же это за зверь и какой вариант выбрать правильно. ✔ TL;DR Выбирай xterm-256color Все эти vt100, xterm и др. всё это типы терминалов. vt100 был разработан в конце 1970х, а xterm более современная версия. Но все равно все они уёбищные. Поэтому каждый из нас выбирает что-то мастхевное, Tilix, Quake, iTerm и т.п. Их можно заточить под свои хотелки и максимально кастомизировать. Давай посмотрим чем vt100 отличается от xterm. Добавляем в .bashrc экспорт и перезаходим:
export TERM=vt100
Теперь выполняем:
echo -e "\e[31mHello Bashdays\e[0m"
И видим что управляющие символы не сработали. А если экспортировать xterm-256color, то строка Hello Bashdays будет красной. А теперь попробуй в vt100 запустить midnight commander и что-то в нем поделать. Ты будешь приятно удивлён — всё сломалось. Мышка не работает, UTF-8 не работает, F10 не работает, нихуя не работает. Отличий на самом деле много, смысла нет все их перечислять. Используй современные решения и не лепи горбатого. А в современном мире вообще используется vt100? Конечно! Например, доисторические программы на каких-нибудь всратых заводах, которые заточены именно под этот вид терминала. Либо какое-то специальное оборудование, которому не требуются свистоперделки современных терминалов, а важна лишь скорость, ясность и низкие системные требования. В общем пусть прошлое остается в прошлом. А чтобы писька не отвалилась, выбирай — xterm-256color! tags: #linux — 🔔 @bashdays

MaxPatrol SIEM — не делайте это сами 🦾 27 июня в 14:00 (мск) 💥 MaxPatrol SIEM берет на себя рутинную работу аналитика по мониторингу и управлению событиями. Регистрируйтесь на онлайн-запуск MaxPatrol SIEM 8.2, чтобы узнать, как ML-модуль BAD 🤖 не только выдает второе мнение по событию в виде risk score, но и самостоятельно обнаруживает целенаправленные атаки. Регистрируйтесь, чтобы узнать обо всех обновлениях системы и получить гайд по подключению источников. Авторы лучших вопросов получат памятные призы! 👉 Зарегистрироваться

Как говорится никогда не строй планы заранее. Вчера я успешно задрых и проебал момент с чаркой пива и сериальчиками. Ну хоть
Как говорится никогда не строй планы заранее. Вчера я успешно задрых и проебал момент с чаркой пива и сериальчиками. Ну хоть выспался, 12 часов сна пошли на пользу. А сегодня я принес тебе Puter. Это операционка прям в браузере. Даже терминал есть, но урезанный. Фишка этой операционки — ты можешь ее в докере поднять у себя и радоваться, прекрасно подходит для всяких малинок если иксы ставить прям впадлу. Ну и куча софта предустановлено, открывай и пиши код до посинения. ✔ Вся эта кухня в оупенсорсе на гитхабе. В демо версии есть хром браузер. Через него можно побегать по сайтам не светя свою жопку с айпишником. Айпишники кстати там разные попадаются, сейчас мне показывает — Пиздастан Редмонд. Ну ты понял, как этим можно воспользоваться 😲
Кстати отлично запускается порнохабина, даже ЗВУК есть!
Короче я принес, а ты уже сам смотри, мож где сгодится в хозяйстве. Увидимся! tags: #services — 🔔 @bashdays

Итак, вы успешно завершили все этапы миграции в облачное хранилище. Дело за малым - установить надежную защиту для обеспечения информационной безопасности! Kaspersky Cloud Workload Security предлагает обширный набор инструментов для комплексной защиты виртуальных серверов и контейнеров от угроз, таких как фишинг и вредоносное ПО. Особенно это актуально в таких турбулентных ситуациях, вроде недавней блокировки (или не блокировкой) Docker Hub для российских IP, когда все в панике стали обращаться к прокси и зеркалам. Теперь вы можете спокойно заниматься своими делами, пока Kaspersky CWS ищет и устраняет уязвимости. Защитите свои облака от киберрисков! Реклама АО "Лаборатория Касперского". ИНН 7713140469

Привет. Завтра оказывается внеплановый выходной, придется вечером идти за пивом и досматривать «Задача трёх тел» и «Сёгуна».
Привет. Завтра оказывается внеплановый выходной, придется вечером идти за пивом и досматривать «Задача трёх тел» и «Сёгуна». И раз такие пироги, расскажу тебе про очередную хуйню, с помощью которой я в данный момент делаю себе ой как больно. Все посты для этого канала я пишу в Obsidian, это не только текстовый редактор, но и вообще комбайн для сбора и структурирования информации. Короче если ищешь куда складировать знания, рекомендую присмотреться к Obsidian, работает на любой операционке, включая мобилки. ✔ И еще это основной инструмент адептов Zetelkasten.
Цеттелькастен (нем. Zettelkasten, буквальный перевод «ящики для заметок») — система ведения заметок и управления личными знаниями, используемая в исследованиях и учёбе.
Звучит это правда как — Флюгегехаймен! Теперь про боли. В последни год я редко пишу код, совсем забросил свой любимый vim и успешно забыл все комбинации клавиш. Ситуация конечно интересная — тратишь кучу времени на изучение комбинаций в vim, доводишь их до инстинктов и мышечной памяти. Но спустя месяц, все эти скиллы куда-то бесследно испаряются. Походу как у бодибилдиров, накачал за год банки, на месяц сделал паузу и превратился снова в дрища. Ну пиздец же. А чтобы не просрать эти скиллы, нужно ежедневно их применять. А как их применять, если нет необходимости? Просто так дрочить вприсядку тоже не хочется, хочется чем-то полезным заниматься и не деградировать. В общем в Obsidian есть нативная поддержка vim. Я конечно знатно прихуел, но воодушевился. То есть я могу теперь писать для вас посты в комфортной для себя среде и не проёбывать скиллы по виму. Это же прекрасно! 🤙 Правда я растерял всю свою прыть и поэтому приходится заново затачивать свои зажившие пальцы под аккорды вима. Мыши кололись, плакали, но продолжали есть кактус… Ты наверное предложишь мне писать посты сразу в виме, идея хорошая, но от Obsidian я тащусь не меньше чем от вима. Все же это немного разные инструменты. Вот те ссылка на Obsidian чтоб не искать Так что, теперь я совмещаю приятное с полезным. Люблю изобретать. Может и тебя этот пост натолкнет на какие-то правильные мысли. И ты скрестишь своего бульдога с носорогом. Кстати когда я в Obsidian включил режим VIM, он мне выдал интересный попапчик, в котором до включения режима, предложил пройти небольшой квест. Прям повеселило! 👇 tags: #рабочиебудни — 🔔 @bashdays

Умеете кодить и хотите узнать, в каком направлении можно развивать свою карьеру? Интенсивы с упором на практику вам в помощь!
Умеете кодить и хотите узнать, в каком направлении можно развивать свою карьеру? Интенсивы с упором на практику вам в помощь! Зачастую на таких коротких программах не просто учат востребованным скилам, но и объясняют, в каких сферах и профессиях они нужны. Например, недавно Школа анализа данных Яндекса анонсировала SRE Week. На открытом интенсиве будут рассказывать как об эксплуатации больших информационных систем, так и о задачах SRE-специалистов: траблшутинге, SLA, capacity planning и многом другом. Это отличный шанс для разработчиков попробовать себя в новой сфере, а для студентов — построить траекторию развития в IT. SRE Week пройдёт с 17 по 22 июня. Участие бесплатное. Доступ к лекциям дают всем зарегистрированным, однако, чтобы получить сертификат, нужно пройти отбор и успешно сдать итоговую работу. Подайте заявку до 16 июня и слушайте лекции топовых экспертов

И снова понедельник и снова на работу. Сегодня про оптимизацию и управляющие последовательности. Бест-практики, трувей ёпта!
И снова понедельник и снова на работу. Сегодня про оптимизацию и управляющие последовательности. Бест-практики, трувей ёпта! Если в своих скриптах или программах ты часто используешь одинаковые управляющие последовательности, имеет смысл сохранить результаты работы утилиты tput в переменную. Скучная теория
tput используется для управления терминалом и выполнения различных задач, связанных с его настройкой и управлением. Управляющие последовательности — это специальные последовательности символов, используемые для управления поведением терминала. Они позволяют изменять цвета текста, перемещать курсор, очищать экран и выполнять другие действия, не изменяя сам текст.
✔️ Практика Чтобы не усложнять, рассмотрим пример на основе clear. Эта команда очищает экран.
clear=$(tput clear)
Помещаем в переменную очистку экрана. Теперь проверяем:
printf '%s' $clear  
echo -n $clear
После выполнения одной из этих команд, экран терминала будет очищен. А почему просто не выполнить команду clear без этих вонючих tput? Потому, что это самый простой пример, чтобы ты въехал в суть. Получается мы не плодим в своих скриптах кучу tput clear а используем оптимизированный вариант с переменной. Чем больше параметров в tput, тем больше треша в скриптах. Проще же один раз закинуть в переменную эту кишку и не маяться хуйнёй. Посмотреть управляющую последовательно ты можешь так:
echo ${clear@Q}
На экран выведется:
$'\E[H\E[2J\E[3J'
Конструкция: ${clear@Q} это использование параметра расширения в Bash, который отображает значение переменной clear в форме, пригодной для использования в качестве строки в программном коде. Это означает, что специальные символы будут экранированы. Начиная с версии 4.4 в Bash, значение parameter заключаются в одинарные кавычки.
${parameter@Q}
Экранирование помогает избежать интерпретации специальных символов терминалом и позволяет безопасно выводить последовательности на экран.
Пример одной строкой:
tput cup 20 60 | { read -r BASHDAYS; echo ${BASHDAYS@Q}; }
1. Генерируем управляющую последовательность для перемещения курсора терминала на 20 строку и колонку 60. 2. Передаем полученную строку по пайпу. 3. Читаем строку и присваиваем ее переменной BASHDAYS. 4. Выводим значение переменной BASHDAYS. По итогу получаем такое:
$'\E[21;61H'
Еще вариант:
tput cup 1 10 | cat -v ; echo
Результат сам посмотришь если интересно. Для многих это тема не новая, но я частенько наблюдаю в скриптах избыточное применение этих управляющих последовательностей. Короче пихай это говнище в переменную и будет заебись! На закуску держи интересный пример определения и сохранения последовательностей. Давай краба, увидимся! tags: #bash #linux — 🔔 @bashdays

❓Как 1С-разработчику без стресса перейти из Конфигуратора в EDT? Ждем вас на практическом открытом уроке для начинающих и опы
❓Как 1С-разработчику без стресса перейти из Конфигуратора в EDT? Ждем вас на практическом открытом уроке для начинающих и опытных разработчиков, администраторов и DevOps 1С, где мы разберем: - процесс адаптации к разработке в EDT; - различия в подходе к повседневным действиям разработчика в 1С; - как выстроить постепенное освоение интерфейса EDT. Спикер Юрий Пасхин — программист-разработчик в компании ЕАЕ-Консалт, опытный руководитель команд, архитектор и наставник. Встречаемся 13 июня в 20:00 мск в преддверии старта курса «Профессиональная разработка в 1С:EDT + Git». Все участники вебинара получат специальную цену на обучение! 👉Регистрируйтесь прямо сейчас, чтобы не пропустить бесплатный урок: https://otus.pw/otCu/ Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Прочитал недавно в полезняшках — про кириллические символы, ну и пошел экспериментировать, но немного в другом векторе. Раскроем так сказать тему сисек. Сегодня займемся поиском шрифтов в Linux, которые поддерживают русскую букву «А». И посмотрим какие из них могут использоваться совместно с утилитой convert. Чо еще в субботу делать 🍷 Завтра пауза с постами, приведу к нам сюда еще единомышленников. Для начала нужно узнать какие вообще шрифты в системе поддерживают этот символ. Для этого используем утилиту «fc-list» из пакета «fontconfig». Для поиска возьмем код символа «0410» в utf-8. Он соответствует кириллической букве «А». Также можно указать диапазон :charset=0410-044f (охватывает все заглавные и строчные буквы русского алфавита от А до Я) ну или язык :lang=ru. ✔️ Поехали! Выводим все шрифты, которые поддерживают кодовую точку «0410».
fc-list ':charset=0410' --format '%{file}\n'
Есть нюанс. В список могут попасть шрифты, которые будут содержать кодовые точки, но у них не будет изображений символов. Далее сопоставляем найденные шрифты, с теми которые поддерживает утилита convert.
Утилита convert является частью пакета программного обеспечения ImageMagick. Это мощный инструмент для создания, редактирования, преобразования и отображения растровых изображений.
fc-list ':charset=0410' --format '%{file}\n' | grep -wof - <(convert -list font)
Чо тут происходит. Мы отдаём через pipe результаты отработки команды fc-list на стандартный ввод grep. w = шаблон, соответствует слову o = выводим только совпадения, а не всю строку f = файл строки в качестве шаблона поиска Конструкция <(convert -list font) это подстановка процессов. Доступна в системах, поддерживающих именованные каналы (FIFO) или метод именования открытых файлов через /dev/fd. Она имеет вид: <(список) или >(список) Запускается процесс список и его входной или выходной поток связывается с именованным каналом FIFO или одним из файлов в /dev/fd. Имя этого файла передается в качестве аргумента текущей команде как результат подстановки. Если использовать >(список), запись в файл будет давать входные данные процессу список. Если используется <(список), файл, переданный в качестве аргумента, необходимо читать для получения результатов работы процесса список. Получается в качестве аргумента команда grep получит файл. Содержимым которого будет результат работы команды convert -list font. Проверяем:
echo <(convert -list font)
cat <(convert -list font)
В итоге получаем нужный список шрифтов.
  Font: URWGothic-Book
    family: URW Gothic
    style: Normal
    stretch: Normal
    weight: 400
    glyphs: URWGothic-Book.otf
  Font: URWGothic-BookOblique
    family: URW Gothic
    style: Oblique
    stretch: Normal
    weight: 400
    glyphs: URWGothic-BookOblique.otf
Ну а дальше можем заряжать все это в bash скрипт и гордится, какие мы с тобой охуенные. Для примера давай сгенерим кучу изображений с русской буквой «А» используя найденные шрифты.
#!/bin/bash  

code=0410  
char=$(printf '%b' '\U'$code)  
fc-list ':charset='$code --format '%{file}\n' |\  
grep -wof - <(convert -list font) | while read line  
do  
    name=${line##*/}  
    name=${name%.*}  
    convert -font "$line" -pointsize 48 label:"$char" ./${name}.png  
done
После запуска скрипта, в каталоге появится портянка файлов с изображениями, учти этот момент, чтобы не засрать себе поапочку. Лучше сразу в tmp это делай. У меня всё, не смею тебя больше отвлекать. Изучай. Увидимся! tags: #bash #linux — 🔔 @bashdays

Есть ли DevSecOps в Самаре? На Positve Tech Day 18 июня он точно появится! 🙂 В Самаре впервые пройдет конференция Positive T
Есть ли DevSecOps в Самаре? На Positve Tech Day 18 июня он точно появится! 🙂 В Самаре впервые пройдет конференция Positive Tech Day от Positive Technologies, на которой соберутся топовые эксперты компании по безопасной разработке — они выступят на треке «DevSecOps на Волге», где расскажут об Application Security. Так что если у вас еще не было планов на июнь — сохраняйте дату, приходите бесплатно послушать доклады и задать вопросы! Будет полезно как новичкам, так и тем, что уже давно в теме. 🤔 На «DevSecOps на Волге» вы узнаете: • из чего состоит практика безопасной разработки и как ее внедрить; • как защитить конвейер CI/CD и ничего не испортить; • как выбирать и применять AppSec-инструменты; • как выстроить взаимодействие между людьми, чтобы DevSecOps работал. Участие бесплатное по предварительной регистрации.

Делать если честно совсем ничего не хочется, вчера к примеру закинули охуенную задачу — чтобы внести цифровой продукт в реест
Делать если честно совсем ничего не хочется, вчера к примеру закинули охуенную задачу — чтобы внести цифровой продукт в реестр отечественных ПО, нужно написать подробнейшую документацию к проекту. Чтобы специалисты «миницифер», смогли локально у себя его развернуть и всё проверить. Ну это ладно, вся соль в том, что нужно это подробно и в мельчайших подробностях расписать (без матов). От начала создания сервера (консольные команды, пайплайны, апстримы, фаерволы и т.п.) и заканчивая — а теперь открываем браузер и видим главную страницу нашего приложения. Отдать код ансибла — не канает. Заебись да? Короче пезда какая-то, чувствую себя как ребенок, который ненавидит делать домашку. Ладно, лирика. Поехали по сегодняшней теме. ✔️ Как узнать какие сигналы слушает процесс Требуется проверить поймает ли запущенный процесс сигнал, проигнорирует или заблокирует его. Короче нужен список сигналов для конкретного приложения.
➡️ Про сигналы писал тут и тут
В Linux ты можешь найти PID процесса, а затем посмотреть:
cat /proc/$PID/status
В выхлопе будут строки описывающие какие сигналы SigBlk - заблокированы SigIgn - проигнорированы SigCgt - перехвачены Для примера беру PID=1, получаю такое:
SigBlk: 0000000000000000
SigIgn: fffffffe57f0d8fc
SigCgt: 00000000280b2603
Роман ты заебал! Опять какие шифры нечитабельные. Давай разберемся что это значит. Все эти числа справа, являются битовой маской. Если преобразовать это из шестнадцатеричного в двоичный, то каждый 1 бит представляет собой пойманный сигнал, считая справа налево, начиная с 1. Итак, интерпретируя строку SigCgt, видим, что мой init процесс улавливает следующие сигналы:
00000000280b2603 ==> 101000000010110010011000000011
На телефонах вся эта поебота выглядит очень стрёмно, поэтому смотрим картинку к этому посту 👆
Как сопоставить числовые сигналы с именем? Я выполнил команду:
kill -l
И получил список всех сигналов от 1-31, а дальше уже дело техники. И помним, что мы не можем заблокировать сигнал, если программа не готова к его перехвату. Если сигнал не был пойман, происходит действие по умолчанию, обычно это — завершение процесса. Нахера всё это нужно? Ну если ты рядовой потребитель, то конечно оно тебе и не нужно. А если ты «автомеханик», то извините, хош не хош, а как оно внутри работает знать обязан. Вот те скрипт, который покажет какие сигналы прослушивает программа. Да, скрипт преобразует криптошифры в нормальные имена сигналов. Избавляю вас от еботни, как говорится все для вас мои дорогие подписчики 🙃
#!/bin/bash

set -e

grep -m3 -P '^Sig(?:Blk|Ign|Cgt):' "/proc/$1/status" | while read field value  
    do  
        bits=$(printf 'ibase=16; obase=2; %X\n' '0x'$value | bc)  
        sigs=()  
        i=0  
        while [[ $bits ]]  
            do  
                ((++i))  
                [[ ${bits:$((${#bits} - 1))} -eq 1 ]] && sigs+=($i)  
                bits=${bits::-1}  
        done  
        (( ${#sigs[*]} )) && sigs=( $(kill -l ${sigs[*]}) )  
        echo $field ${sigs[*]}  
done   
exit
При запуске нужно указать PID процесса: script.sh <pid> Вроде всё. Если есть чо добавить, велком в комменты. Ну и всех с пятницей, хороших предстоящих выходных, берегите себя! Пользуйтесь! tags: #bash #linux #debug — 🔔 @bashdays

❓Хотите разобраться в управлении пакетами в Debian-системах? 🎁 Ждём вас на бесплатно открытом практическом уроке от OTUS по
❓Хотите разобраться в управлении пакетами в Debian-системах? 🎁 Ждём вас на бесплатно открытом практическом уроке от OTUS по Linux. - важнейшие элементы пакетной системы в дистрибутивах на основе Debian; - пакетные менеджеры; - основы сборки deb-пакетов. 💪 Спикер Николай Лавлинский — PhD Economic Sciences, опытный разработчик, автор курсов по администрированию и оптимизации веб-приложений, ведущий каналов «Ускорение сайтов» и «Поддержка сайтов». ⏰ Встречаемся 11 июня в 19:00 мск в рамках курса «Administrator Linux. Professional». Все участники вебинара получат специальную цену на обучение! ======== 👉 Зарегистрируйтесь прямо сейчас https://otus.pw/Egwe/ 🎁 Все участники получат бесплатный урок по Docker ======== Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

Сегодня заумных простыней не будет, тем не менее следующая кишка на bash тебе пригодится.
strace -o "| grep -Eo '/home/[^\"]+' >&2" -zfe '/^open' mc
✔️ Делает она следующее При запуске программы (в моём случае это mc), в терминал вываливается список всех файлов, которые программа открывает в домашнем каталоге. Штука очень полезная для дебага. Когда не знаешь к каким файлам программа обращается, а очень хочется. Эту команду можно усовершенствовать, поменяв пути и добавив например вызовы write. Тут уже от ситуации зависит. При первом запуске mc я получил такой список:
/home/user/.config/mc/ini
/home/user/.config/mc/ini
/home/user/.config/mc/panels.ini.E4M2O2
/home/user/.config/mc/ini
/home/user/.config/mc/ini
/home/user/.config/mc/ini~
/home/user/.config/mc/ini
/home/user/.bash_history
Если в твоём сознании живёт стройный и прекрасный мир программ, и ты человек с утончённой душевной организацией, воздержись от использования этого инструмента, лучше сходи на pornhub.
Пользуйтесь! tags: #bash #linux #debug — 🔔 @bashdays

🚀 Приглашаем на звонок для начинающих DevOps'ов! 📅 Когда: 15го июня в 10.00 МСК 📍 Где: Онлайн, ссылка для подключения буде
🚀 Приглашаем на звонок для начинающих DevOps'ов! 📅 Когда: 15го июня в 10.00 МСК 📍 Где: Онлайн, ссылка для подключения будет в группе DevOps фабрики https://t.me/devops_factory Ты узнаешь: 🔹 Что учить, чтобы стать DevOps специалистом 🔹 Какой начальный уровень нужен На звонке от DevOps фабрики рассмотрим: Хард скиллы: какие технические знания и навыки необходимы Софт скиллы: как развивать коммуникативные и управленческие умения Обсудим, как потренироваться с нужными технологиями и куда расти, чтобы достичь успеха в этой сфере. 🎤 Задай свой вопрос: Что предпринять в твоем конкретном случае? Мы поможем разобраться! Ссылку опубликую в канале : https://t.me/devops_factory Не упусти шанс начать свой путь в DevOps с правильного старта!

Что делать если хочется поебаться с Bash, но мамка отключила тебе интернет? Выход есть! Я обычно всю эту трихомудию с синтаксисами, ключами и т.п. в голове не таскаю. Серой оперативки вроде хватает, но мозг ленивая штука. Поэтому если что-то нужно подсмотреть, сразу в гугол. А в последнее время в gpt накидываю.
Зачем хранить фильмы на dvd дисках и mp3 скачивать, когда есть стриминговые сервисы.
Когда мы жили в пещерах и подтирались зайцами, таких ништяков у нас не было. А был какой-нибудь blackcat linux и ты. ВСЁ! Ну и фидошка временами. Ответ на свой вопрос в фидошке иногда приходилось ждать неделями и то не факт. Книги? Неа, максимум ZX-ревью и прочие нечитабельные клоны. А хотелось Башить! Оставалось изучать исходники чужих скриптов, которые шли из коробки в дистрибутиве linux. Ну и естественно man, в который особо никто не въезжал, потому что с английским были небольшие проблемы — заебешься по словарику переводить, а уроки английского успешно прогуляны. И что самое интересное, это было гораздо эффективнее, чем в нынешние времена. Информация записывалась на подкорку. Как скилл — умение ездить на велосипеде. А сейчас — прочитал книгу, вроде всё понятно, грейд — крепкий мидл. Прошла неделя, ты отупел и уже ничего не помнишь. Информация записалась в голову, но потом могз — блядь, говнище какое-то, нужно срочно это забыть, есть же интернет! ✔️ Короче, к чему это я. Если пишешь на каком-то языке и нужны примеры конкретных функций или команд. Далеко ходить не надо, всё нужное хранится на твоём диске. Давай заглянем на диск и посмотрим на примере Shell скриптов, которые валяются в /usr/bin, /usr/sbin, /bin, /sbin.
file /{,usr/}*bin/* | grep -Po '^.+?(?=:\s+.+?shell script)' | xargs grep -wl -m1 'getopts'
Команда идет по каталогам и ищет нужное слово, в нашем случае ищем пример работы с функцией «getops». По ключам расписывать не буду, интернет у тебя явно пока еще есть. По итогу отработки этой кишки, получаем пути и имена файлов, где эта функция используется. Открываем и смотрим как оно применяется на практике. Даже если оказался в глубокой жопе тайге без интернета, один на один с Linux, выход есть! В своё время люди на папирусе код писали. Было бы желание. Пользуйтесь! tags: #bash #linux — 🔔 @bashdays

Здрасти. Наш товарищ Tagd Tagd написал для канала еще одну статейку, ловите. Предыдущая была тут. В остальном оставляйте свой фидбек в комментах. 👇👇👇
spr.sh
Решил написать справочник. Получился консольный гугл для бедных. Консольный справочник для поиска инфы по тегам. В В ТЭГАХ КОНФИГА ИСПОЛЬЗОВАТЬ СИМВОЛ ПОДЧЕРКИВАНИЯ "_" НЕЖЕЛАТЕЛЬНО. Вся инфа хранится в конфигурационном файле в виде:
# spb director ivanov ivan petrovich may
Иванов Иван Петрович
tel 123456789 director@mail.ru
ats 12587
loip 10.10.18.07
birth 22.05.1956
https://ya.ru
# bash if then else fi
declare -i $COND=0
if [[ "$COND" -eq 1 ]];then
  echo "FALSE"
else
  echo "TRUE"
fi
Набираем spr.sh regexp mail и получаем все записи, содержащие эти оба тэга. Порядок не важен. При поиске можно использовать "_" для уточнения.
spr.sh bcd   = вхождение bcd (найдет bcd, abcd, bcde, abcde)
spr.sh _bcd  = начинается на bcd (найдет _bcd, _bcde)
spr.sh bcd_  = заканчивается на bcd (найдет bcd, abcd)
spr.sh _bcd_ = строго bcd (найдет bcd)
Обращаю внимание, поиск только по ВХОЖДЕНИЮ тэгов, но не комментов. В общем, можно быстро получить список телефонов любого филиала, отдела, именинников в этом месяце... Или забить примеры кода и получить справочник для студентов/админов по конструкциям bash sed awk grep regexp в одном флаконе. Если нужно что-то поправить: spr.sh edit и конфигурашка открывается в редакторе. Этот режим можно использовать для поиска средствами редактора по всему конфигу, включая комменты. ✔️ Описание скрипта:
EDITOR - в каком редакторе открывать конфиг (vim mcedit)
CONF - имя конфига получаем из текущего имени скрипта.
$# -eq 0 - если нет параметров - выводим help.
${0##*/} - bash-аналог basename
eval "$(which $EDITOR) $CONF" ищем редактор и открываем конфиг
Далее awk. Передавать $* (параметры скрипта) внутрь через переменную не стал, сразу встроил в однострочник (да-да. это однострочник) BEGIN{split("'"$*"'",s," ")} до начала чтения файла разбиваем тэги по разделителю " " и записываем в массив s. обработка строк файла: ($0 ~ /^#/) Для строк, начинающихся с символа # (тэг-строка)
k0=$0 - сохраняем строку тэгов на время поиска.
gsub(/^#/, "# ") - добавляем пробел после #
Теперь поле №1 for(i=2;i<=NF;i++){$i="_" $i "_"} обрамляем тэги "_" для более удобного поиска. p=1 и проверяем в цикле наличие КАЖДОГО тэга во всей строке. ($0 !~ s[i]) Если искомого тэга в строке нет, p=0 и выход из цикла. $0=k0 - восстанавливаем строку тэгов. Если p=1 - (флаг печати) выводим строки. Обращаю внимание, изменение переменной p только в тэг-строках Использовать для хранения учетных данных нежелательно. Для этого есть KeePassXC и аналоги.
#/bin/bash
declare -r EDITOR=nano
declare -r CONF=${0%.*}.conf
declare -r SCR=${0##*/}
if [[ $# -eq 0 ]];then
  echo "Search by tag1 && tag2 && ... in $CONF"
  echo "Usage: $SCR tag1 [tag2 ...[tagN]]"
  echo "Example:"
  echo "$SCR bcd ~> (seek bcd, abcd, bcde, abcde)"
  echo "$SCR _bcd ~> (seek bcd, bcde)"
  echo "$SCR bcd_ ~> (seek bcd, abcd)"
  echo "$SCR _bcd_ ~> (seek bcd)"
  echo
  echo "To edit conf: $SCR edit"
  exit
fi
if [[ "$1" == "edit" ]];then
  eval "$(which $EDITOR) $CONF"
  exit
fi
awk 'BEGIN{split("'"$*"'",s," ")}
{if($0 ~ /^#/){
   k0=$0
   gsub(/^#/, "# ")
   for(i=2;i<=NF;i++){
     $i="_" $i "_"}
   p=1
   for(i in s){
     if($0 !~ s[i]){
       p=0
       break}}
   $0=k0}
 if(p){print}
}' "$CONF"
tags: #bash — 🔔 @bashdays

Онлайн-запуск MaxPatrol VM 2.5 13 июня в 14:00 (мск) Веб-приложения стали неотъемлемой частью ИТ-инфраструктуры и популярной
Онлайн-запуск MaxPatrol VM 2.5 13 июня в 14:00 (мск) Веб-приложения стали неотъемлемой частью ИТ-инфраструктуры и популярной точкой проникновения в периметр компании. По статистике, эксплуатация их уязвимостей входит в топ-3 методов реализации кибератак. CRM-системы, интернет-магазины, веб-порталы — все это находится под угрозой. 13 июня Positive Technologies представят новую версию системы MaxPatrol VM, которая выявляет уязвимости веб-приложений раньше, чем их обнаружат хакеры. Подключайтесь, чтобы узнать, почему нужно включать веб-уязвимости в процесс vulnerability management, как правильно выстроить работу с ними и обеспечить защищенность внешнего периметра компании.

Привет. В пятницу пришел клиент с вопросом — а как вы нам пайплайны со сломанным докером починили после блокировки в РФ? Вопрос был с явным «подъебом». Почему я так решил? Сейчас объясню. Как большинство решило проблему? Правильно, прочитали хайповую тему с хуёкером и проксяки ну и в моменте пофиксили, включая продакшены. Я тоже хотел провернуть нечто подобное, сделать за 5 минут, затрекать 8 часов, получить денежку. Гениальный план! НО, за годы появилось «чутьё». Поэтому решено было сделать всё правильно — перенести официальные образы в инфраструктуру клиента и поправить пайплайны. По итогу накидал bash скрипт, забрал 200 образов, залил. Делов на полчаса. Ты спросишь, а как обновлять образы? А никак, все образы зафиксированы на определенные версии, глупо использовать latest. На моей практике, ни раз новая версия образа ломала совместимости. ✔️ Вернемся к вопросу клиента. На вопрос я честно и прозрачно ответил. Клиент одобрительно покивал головой и сказал:
Респект и уважуха. Я думал вы как и все, воспользовались инструкцией с хабра, а это категорически недопустимо по нашим политикам безопасности. Спасибо за работу, я никогда не сомневался в ваших компетенциях. Оплатим по двойному тарифу. Сделано быстро и профессионально.
Собственно в этом и скрывался «подъебон». Если бы я сделал как ВСЕ, получается, мне плевать на клиента, на его проекты и бизнес. Хотя отчасти так и есть, чо лукавить 😲 Естественно мне пришлось бы всё переделывать, не говоря уже про доверие и дальнейшее сотрудничество. Всегда думай своей кабиной. Пофиксишь быстро, все обрадуются, получишь денежку, но через неделю будут яростно ебать в жопу. Когда инфраструктура встанет раком из-за какого-нибудь встроенного майнера в образ или MITM атаки.
В крайнем случае можешь поднять свою доверенную, личную проксюшку и через неё забирать образы.
Дело конечно твоё, с советами не лезу. Личные наблюдения. Есть такая прекрасная поговорка — мой ишак, хочу еду, хочу ебу! Так, что если ты CTO, задай вопрос своим девопсам и админам, как они решили эту проблему с образами. Будет прекрасный повод распилить их премию и устроить оргию на ретроспективе. Короче нормально делай, нормально будет! Хорошей рабочий недели и береги себя! tags: #рабочиебудни — 🔔 @bashdays

Вендор и производитель IT-инфраструктуры, пользовательского и телеком - оборудования YADRO в поиске опытных DevOps-специалист
Вендор и производитель IT-инфраструктуры, пользовательского и телеком - оборудования YADRO в поиске опытных DevOps-специалистов: 1️⃣ Senior DevOps engineer/Старший DevOps инженер 2️⃣ DevOps engineer (telecom) Ты сможешь раскрыть свой творческий и инженерный потенциал в команде профессионалов, которые создают инновационные решения мирового уровня. А ещё у тебя будут: – Гибридный или удалённый формат работы; – Возможность гибкого начала и окончания рабочего дня; – Конкурентный уровень заработной платы и премирование по результатам работы; – Возможность горизонтального и вертикального роста; – Обучение за счёт компании: учебный портал с курсами и лекциями от экспертов, дополнительное профессиональное обучение, изучение английского, участие в конференциях; – Личное участие в становлении процессов и продуктов, возможность увидеть результат своей работы; – Большое инженерное сообщество, которое постоянно развивается; – ДМС со стоматологией с первого дня, консультации юристов, психологов, экспертов по ЗОЖ и управлению финансами; – Программа поддержки инноваций; – Скидки для сотрудников, дополнительные day-off; – Комфортные офисы в Москве, Санкт-Петербурге, Нижнем Новгороде и Минске. Скорее переходи по ссылкам и оставляй отклики!