es
Feedback
Bash Days | Linux | DevOps

Bash Days | Linux | DevOps

Ir al canal en Telegram

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

Mostrar más

📈 Análisis del canal de Telegram Bash Days | Linux | DevOps

El canal Bash Days | Linux | DevOps (@bashdays) en el segmento lingüístico de Ruso es un actor destacado. Actualmente la comunidad reúne a 23 782 suscriptores, ocupando la posición 5 701 en la categoría Tecnologías y Aplicaciones y el puesto 28 083 en la región Rusia.

📊 Métricas de audiencia y dinámica

Desde su creación el невідомо, el proyecto ha mostrado un crecimiento acelerado, reuniendo a 23 782 suscriptores.

Según los últimos datos del 22 junio, 2026, el canal mantiene una actividad estable. En los últimos 30 días la variación de miembros fue de -224, y en las últimas 24 horas de -6, conservando un alto alcance.

  • Estado de verificación: No verificado
  • Tasa de interacción (ER): El promedio de interacción de la audiencia es 26.21%. Durante las primeras 24 horas tras publicar, el contenido suele obtener 13.65% de reacciones respecto al total de suscriptores.
  • Alcance de las publicaciones: Cada publicación recibe en promedio 6 233 visualizaciones. En el primer día suele acumular 3 246 visualizaciones.
  • Reacciones e interacción: La audiencia responde de forma activa: el promedio de reacciones por publicación es 24.
  • Intereses temáticos: El contenido se centra en temas clave como bashdays, linux, bash, docker, скрипт.

📝 Descripción y política de contenido

El autor describe el recurso como un espacio para expresar opiniones subjetivas:
Авторский блог от действующего девопса Самобытно про разработку, devops, linux, скрипты, сисадминство, техдирство и за айтишную жизу. Автор: Роман Шубин Реклама: @maxgrue MAX: https://max.ru/bashdays Курс: @tormozilla_bot Блог: https://bashdays.r...

Gracias a la alta frecuencia de actualizaciones (últimos datos recibidos el 23 junio, 2026), el canal mantiene la vigencia y un amplio alcance. La analítica demuestra que la audiencia interactúa activamente con el contenido, lo que lo convierte en un punto de referencia dentro de la categoría Tecnologías y Aplicaciones.

23 782
Suscriptores
-624 horas
-327 días
-22430 días
Archivo de publicaciones
🗓 20 июня , 18:00 📌 Selectel Network MeetUp№10. Юбилейный, терапевтический. Коллеги из @Selectel приглашают на свой десятый
🗓 20 июня , 18:00 📌 Selectel Network MeetUp№10. Юбилейный, терапевтический. Коллеги из @Selectel приглашают на свой десятый митап, где поднимут наболевшие темы. Обсудят работу с дешевыми и дорогими коммутаторами, организацию Wi-Fi в компании и способы защиты от сетевых атак. Основные темы: ▫️ Защита от SYN-flood. ▫️ Работа с коммутаторами. ▫️ Опыт работы и заблуждения о Wi-Fi. Будет полезно всем, кто работает с сетями и сетевым оборудованием, а особенно сетевым администраторам, инженерам и архитекторам. Участие бесплатное, регистрируйтесь по ссылке и приходите в офис в Санкт-Петербурге или подключайтесь онлайн: https://slc.tl/fl4u4 Реклама ООО «Селектел» erid: 2VtzqvVQzhd

Если угораешь по оффлайн утилитам и швейцарским ножам, то эта мастхэвная штука как раз для тебя. Называется DevToys. Работает
Если угораешь по оффлайн утилитам и швейцарским ножам, то эта мастхэвная штука как раз для тебя. Называется DevToys. Работает под всеми операционками, натыкиваешь мышкой, получаешь результат. Есть даж портативная версия, чтобы не засирать систему мусором. DevToys включает в себя более 30 полезных утилит. Я обычно в онлайне подобными штуками пользуюсь, типа там json проверить, сконвертировать или наглядно кронтаб соорудить. Эта тулза прям зашла именно как оффлайн. В моей тайге не всегда есть интернет и онлайн сервисы теряют свою актуальность, а работать как-то надо. Кстати кто презирает гуёвость, есть и cli версия. А еще можно свои модули написать и расширять функционал до бесконечности. Короче полный фарш. Советую потыкать. Качнуть с гитхаба ➡️ DevToys И еще есть в официальном Microsoft Store, тыкнул Download и она у тебя. Состав, тыкай на спойлер
- Converters | - JSON <> YAML | - Timestamp | - Number Base | - CRON Parser - Encoders / Decoders | - JWT | - HTML | - URL | - Base64 Text & Image | - GZip - Formatters | - JSON | - SQL | - XML - Generators | - Hash (MD5, SHA1, SHA256, SHA512) | - UUID 1 and 4 | - Lorem Ipsum | - Checksum - Text | - Inspector & Case Converter | - Regex Tester | - Text Comparer | - XML Validator | - Markdown Preview - Graphic | - Color Blindness Simulator | - Color Picker & Contrast | - PNG / JPEG Compressor | - Image Converter ... and more are coming!
tags: #utilites — 🔔 @bashdays

📺 Пятый эпизод реалити «PT NGFW за стеклом» |19 июня в 14:00| Продолжаем рассказывать про разработку самого производительног
📺 Пятый эпизод реалити «PT NGFW за стеклом» |19 июня в 14:00| Продолжаем рассказывать про разработку самого производительного NGFW на российском рынке. В этот раз расскажем про движок IPS. Алексей Дядин, руководитель разработки ядра PT NGFW: 📍 Развеет мифы об IPS-модуле 📍 Поделится визионерским взглядом на привычную технологию 📍 Расскажет, почему наш PT IPS выжимает более 60 Гбит/c По традиции, участники трансляции смогут влиять на развитие PT NGFW, задавая спикерам каверзные вопросы. 👉 Зарегистрироваться

Сегодня без прелюдий. Давай через утилиту ps узнаем время, когда был запущен процесс. Делается это довольно просто. Для начал
Сегодня без прелюдий. Давай через утилиту ps узнаем время, когда был запущен процесс. Делается это довольно просто. Для начала запустим подопытного. У меня будет гуёвая убунта. Запускаю firefox.
/usr/bin/firefox
Можешь с ярлыка на рабочем столе его заранить. А если нет иксов, подставь cron или какой-нибудь свой скрипт который крутится в фоне. Дальше открываем терминал и фапаем:
ps --no-headers -C firefox -o lstart
В ответ видим строку: Sun Jun 16 05:54:24 2024 Это и есть та самая временнáя метка, когда был запущен процесс. В моем случае firefox. Аналогично можно узнать метку любой запущенной программы или процесса. Формат поля lstart универсальный и его понимает тест(-newer) из предыдущего поста про find. Давай поищем файлы в домашнем каталоге, которые были модифицированы после запуска firefox.
find ~/ -newermt "$(ps --no-headers -C firefox -o lstart)"
Выводится достаточно большой список. Это хороший кейс, когда пытаешься что-то отдебажить. Некоторые версии утилиты ps могут создать головняк с поиском процесса по имени. Но эта ситуация легко решается с помощью других утилит для поиска PIDов. Например, с помощью такой кишки:
find ~/ -newermt "$(ps --no-headers -p $(pgrep firefox) -o lstart)"
Думаю концепт ты понял, а дальше можешь самостоятельно пойти и разгрести какой-нибудь /proc/pid/stat или /proc/uptime. Пользуйтесь! ⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️ А еще подписывайся на наши полезняшки и заходи попиздеть в чатик. Поржать тут: @devopsina и @devopsgarden tags: #linux #bash — 🔔 @bashdays

Как говорится — у хорошего айтишника и бычий хуй веревка! Привет. Сегодня про find и временные метки. У утилиты find есть ключ -newer. Тест (-newer) возвращает истину, если метка X новее метки Y. Формат теста такой:
-newerXY
Y — Указывает временную метку образца. X — Указывает временную метку искомых файлов.
Временные метки:
с — время изменения m — время модификации a — время последнего доступа t — буквальное время, а не имя файла (только Y) B — время создание файла (поддерживается не везде)
Поддерживаемые форматы (t): Вот несколько из них, которые можно получить с помощью утилиты date.
date --rfc-3339=ns  
date --rfc-2822   
date +'@%s.%N'
TZ=UTC0 date +'%Y-%m-%d %H:%M:%S'  
date +'%Y-%m-%d %H:%M:%S %z'  
LC_ALL=C TZ=UTC0 date  
Также date умеет отнимать/прибавлять даты.
date -d'- 1 hours'
Более подробно можешь почитать в гнутой доке. Или заглянуть командой: info coreutils date Теперь давай поищем файлы в домашнем каталоге у которых время модификации, менялось с заданной даты. Минус 2 часа от текущего времени.
find ~/ -newermt "$(date --rfc-2822 -d '- 2 hours')"
Ага, получаем ожидаемый список. Ок, теперь создадим файл bashdays.txt, у которого время модификации будет -2 часа от текущего времени.
touch -mt $(date '+%Y%m%d%H%M.%S' -d '-2 hours' ) bashdays.txt
Проверяем:
stat bashdays.txt
Смотрим поле Modify, ага все верно, время -2 часа от текущего времени. Снова запускаем поиск файлов, у которых время модификации свежее времени модификации файла bashdays.txt
find ~/ -newermm bashdays.txt
Выводим дополнительную информацию со временем модификации найденных файлов:
find ~/ -newermm bashdays.txt -printf '%t\n'
Допускается задавать разные временные метки искомых файлов и образца. Поиск файлов у которых время модификации новее времени изменения файла bashdays.txt
find ~/ -newermc bashdays.txt -printf '%t\n'
Чтобы узнать, при каких условиях изменяются временные метки. Можете поизучать man-страницы к системному вызову stat. Где это можно применить? Ну например, для зачистки старых бэкапов, если предпочитаешь использовать для этого самописные скрипты. На самом деле дофига где применить можно, всё зависит от фантазии и потребностей. Завтра выходной строим, в воскресение вернусь. Хороших предстоящих выходных, береги себя! tags: #linux #bash — 🔔 @bashdays

🚩🚩🚩🚩🚩🚩🚩 Тема: Нужен ли 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 с правильного старта!