uk
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 день
Архів дописів
А вот и долгожданное продолжение от © Tagd Tagd. Файл, который упоминается в статье будет добавлен в комментарии. Погнали 👇 Хотел писать про другое в ssh, но без блока Match ну никак не получается. Для начала лирическое отступление. Вы установили ключи, отключили парольную аутентификацию, но вас все равно брутят. Плохие парни, что, дебилы? Не видят, что у вас ключи стоят? Все они видят. Просто есть блок Match, с помощью которого можно задавать различные настройки разным пользователям.
PasswordAuthentication no
PubkeyAuthentication yes
Match User bashdays
  MaxSessions 10
  MaxAuthTries 10
  PasswordAuthentication yes
В этом примере парольная аутентификация запрещена для всех, кроме пользователя bashdays. Скажу по секрету, я тоже делаю настройки для пользователя последнего шанса. У меня на флэшке есть ключи и putty. Потому что не знаешь, когда и откуда понадобится порулить. Но я допускаю, что и флэшки может не оказаться. Вот тогда пригодится такой пользователь. Только чтобы пользователя быстро не нашли, я беру логин, сложнее, чем admin, Root student или pi. Ну и парольную фразу задаю больше 20 символов. К статейке должен быть прикреплен архив с логинами реальных простукиваний. В первой колонке - количество стуков для данного пароля. Реальная база, собранная с одной машины, с системой защиты от переборов за пару лет. Если вы нашли свой логин в этой базе - повод задуматься. Логин "_" в базе - замена пользователя пробел. Да, раньше можно было и такое. Благо сейчас эту дыру закрыли. Что-то я отвлекся. В блоке MATCH доступны ключевые слова User, Group, Host, Address, LocalAddress, LocalPort, RDomain. Первые четыре применяются наиболее часто. Если в блоке MATCH несколько ключевых слов, они объединяются по AND. Также возможно использование шаблонов. Например:
Match User *bashdays*, guest*
Address 192.168.0.0/24,!192.168.0.27 
Перечисления идут через запятую БЕЗ ПРОБЕЛОВ. Допускается несколько блоков MATCH. Ну, и последний вопрос. Раз конфиг у нас с условием, как его проверять?
sudo sshd -T -C user=bashdays,addr=192.168.0.27
Выдаст на stdout конфиг для указанного пользователя с указанного адреса. Обратите внимание. здесь ключевые слова немного отличаются: «addr», «user», «host», «laddr», «lport», «rdomain» и отсутствует группа.
man sshd
man sshd_config
продолжение следует... tags: #linux — 🔔 @bashdays

Стоит ли переезжать в другую страну ради карьеры? И если да, то с какими сложностями придётся столкнуться? Решили задать эти
Стоит ли переезжать в другую страну ради карьеры? И если да, то с какими сложностями придётся столкнуться? Решили задать эти вопросы тем, кто пережил опыт релокации. Присоединяйтесь к видеоподкасту — разберёмся, какие факторы должны помочь принять верное решение, и дадим советы по поиску работы за границей. Бесплатно, 1 августа в 19:00 мск Вы узнаете: — в чём плюсы и минусы релокации; — о чём стоит позаботиться, прежде чем собирать чемодан; — сложно ли искать работу за границей и как это делать правильно; — как оценить перспективы для развития карьеры в разных странах; — на чём сфокусироваться при переезде в новую страну. Спикеры: ◾️ Полина Димова — старший рекрутер в Яндексе ◾️ Викентий Экгарт — тимлид фронтенд-разработки в стартапе Зарегистрироваться на онлайн-событие

Тадам! SSH часть вторая by Tagd Tagd. Сначала покажется что ты это читал, но это не так, контекст другой. Сегодня мы рассмотрим как запретить пользователям добавлять свои ключи. Если пользователь подключит свой ключ - меняй пароль, не меняй - пофигу. БЕЗДУМНАЯ НАСТРОЙКА SSH по SSH МОЖЕТ ПРИВЕСТИ К ПОТЕРЕ КОНТРОЛЯ НАД СЕРВЕРОМ. Чтобы минимизировать риски, я подключаюсь по ssh двумя сессиями. В одной правлю sshd_config, другую оставляю для возможного отката при косяках, поскольку при перезапуске sshd с измененным конфигом текущие сессии сохраняются. Наличие физического доступа к консоли - приветствуется.
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.2
Вы уже знаете, как настроить ключи. Они прописаны и работают!!! Допустим в файле /etc/ssh/sshd_config
PubkeyAuthentication yes

# перед изменениями рекомендую включить парольную аутентификацию

PasswordAuthentication yes
PermitRootLogin prohibit-password
Там же есть опция AuthorizedKeysFile и обычно она закомментирована. Она указывает, где находится файл аuthorized_кeys. делаем так:
sudo test -f /etc/ssh/authorized_keys && sudo mv /etc/ssh/authorized_keys /etc/ssh/authorized_keys.1 

sudo mkdir /etc/ssh/authorized_keys
sudo cp "/home/${USER}/.ssh/authorized_keys" "/etc/ssh/authorized_keys/${USER}"
sudo chown -R root:root /etc/ssh/authorized_keys
sudo chmod -R u=rwX,go=rX /etc/ssh/authorized_keys
в файле /etc/ssh/sshd_config
AuthorizedKeysFile /etc/ssh/authorized_keys/%u
перезапускаем sshd:
systemctl restart sshd
Всё. Будут действовать только ключи из из папки /etc/ssh/authorized_keys в файле с именем пользователя, и подключить их может только root. После успешного подключения по ключу:
PasswordAuthentication no
systemctl restart sshd
Кстати, протестировать и посмотреть все опции sshd_config можно командой sudo sshd -T Это так, к сведению. tags: #linux — 🔔 @bashdays

Онлайн-дискуссия «В поисках DevOps-ов – как найти и не потерять лучших» Как найти DevOps’а, владеющего необходимыми навыками
Онлайн-дискуссия «В поисках DevOps-ов – как найти и не потерять лучших» Как найти DevOps’а, владеющего необходимыми навыками и знаниями на профессиональном уровне? Этот вопрос актуален для многих компаний, которые занимаются развитием собственных продуктов и сталкиваются с нехваткой кадров. Обсудим ✔️Кто такие DevOps-ы и как выглядит рынок труда сегодня ✔️Чек-лист знаний и навыков хорошего DevOps-а ✔️Как найти/воспитать специалиста, готового брать ответственность за комплексную задачу ✔️Искусство собеседования – как выявить и привлечь лучших ✔️С какими инфраструктурными вызовами сталкиваются DevOps-ы Участники дискуссии 👨🏻‍💻 Василий Колосов, технический директор Smartex 👨🏻‍💻Игорь Латкин, соучредитель и системный архитектор KTS 🗓 25 июля |17:00 Подробности и регистрация по ссылке>>

Такс, всем желающим вводные разослал, проверяйте. А мы уже начали с ребятами потихоньку преисполняться. Кто не успел вписатьс
Такс, всем желающим вводные разослал, проверяйте. А мы уже начали с ребятами потихоньку преисполняться. Кто не успел вписаться в движ или проебал сообщение, проверь или напиши в бота @linuxfactorybot, разрулим. Напомню что с 1 сентября для новеньких, ценник внезапно в пару раз подрастет. Сейчас можно сказать это пилотный запуск и летние скидки. Хорошей тебе рабочей недели 🫥

Неделя только началась, а я уже заебался. Как и обещал, публикую полезнейший пост от нашего коллеги Tagd Tagd 👇 Сегодня мы рассмотрим пару фишек настройки ssh среднего уровня. БЕЗДУМНАЯ НАСТРОЙКА SSH по SSH МОЖЕТ ПРИВЕСТИ К ПОТЕРЕ КОНТРОЛЯ НАД СЕРВЕРОМ. Чтобы минимизировать риски, я подключаюсь по ssh двумя сессиями. В одной правлю sshd_config, другую оставляю для возможного отката при косяках, поскольку при перезапуске sshd с измененным конфигом текущие сессии сохраняются. Наличие физического доступа к консоли - приветствуется.
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.1
Вы уже знаете, как настроить ключи. Они прописаны и работают!!! Допустим в файле /etc/ssh/sshd_config
PubkeyAuthentication yes
PasswordAuthentication no
PermitRootLogin prohibit-password
Там же есть опция AuthorizedKeysFile и обычно она закомментирована. Она указывает, где находится файл аuthorized_кeys. В нём хранятся публичные ключи пользователей, которым разрешено ssh. Обычно это ~/.ssh/authorized_keys делаем так:
sudo cp ~/.ssh/authorized_keys /etc/ssh/authorized_keys
sudo chown root:root /etc/ssh/authorized_keys
sudo chmod 644 /etc/ssh/authorized_keys
а в файле /etc/ssh/sshd_config
AuthorizedKeysFile %h/.ssh/authorized_keys /etc/ssh/authorized_keys
перезапускаем sshd:
systemctl restart sshd
Всё. С ключом, прописанным в /etc/ssh/authorized_keys можно заходить под любым пользователем, у которого прописан вменяемый shell, включая root!!! Наличие ключей в домашней папке пользователя теперь необязательно. Может быть удобно, если рулить сотней пользователей. Ну, или как дырочка. Лучше, конечно задать:
PermitRootLogin no
Кстати, при данной опции попытки перебора по root попадают в log, но не отмечаются в lastb. Это так, к сведению. Продолжение следует... tags: #linux — 🔔 @bashdays

Мир DevOps состоит из непрерывного обучения и совершенствования навыков. Новичкам часто приходится тратить много времени на п
Мир DevOps состоит из непрерывного обучения и совершенствования навыков. Новичкам часто приходится тратить много времени на поиск качественных и полезных материалов. Чтобы помочь, коллеги из @Selectel решили поделиться рекомендациями ⭐️ В подборку вошли материалы для углубления знаний и улучшения практических навыков в DevOps: книги, плейлисты, каналы и курсы. Переходите по ссылке, чтобы ознакомиться, а потом подписывайтесь на их канал. Там каждый день выходят топовые IT-материалы в удобном формате. Реклама АО «Селектел». ИНН: 7810962785 Erid: 2VtzqwPKueJ

Ёпта! Работа над Linux Factory идет полным ходом, всем кто принес мне свой емейл в бота, все котики и записаны. Кому я еще не ответил — отвечу, ничо не потерялось. Я тут в одну харю ща всё разгребаю и отбиваюсь от менеджеров тибанка с помощью их же разработки — автоответчика Олега. В начале следующей неделе буду рассылать инвайты в закрытый канал, ну и инструкции чо каво делать. ✔️ Так, теперь по сегодняшней теме — Awk и пасхальное яйцо. Если запустить:
awk --nostalgia
Всё нахуй упадет с ошибкой — awk: bailing out near line 1 Aborted nostalgia это не документированная опция, которая была добавлена в версии 2.11 beta и сопровождалось странным комментарием:
undocumented feature, inspired by nostalgia, and a T-shirt
Чо за херня? Ранние версии awk аварийно завершались при различных эксепшенах выводя подобную ошибку. Утилиту отладили, но осталась — ностальгия. Но кто знает, возможно это ключ к отвеу на главный вопрос жизни. Еще из интересного. Gawk использует GNUтое расширение предоставляемое функциями разбора аргументов командной строки. При активации этого расширения доступен специальный синтаксис -W long_option.
awk -Wnos
awk -Wcopy
Эти команды аналогичны:
awk --nostalgia
awk --copyright
Странное конечно поведение учитывая содержимое этого поста. Ну да ладно, хуй с ним. Чо только не придумают… Хороших тебе предстоящих выходных и береги себя.
Кстати кто сегодня винду обновил и получил синьку, самое быстрое решение опубликовал Дима в полезняшках. Репостить не буду, кому надо сами сходите посмотрите.
Ааа еще забыл, Tagd Tagd написал нам две пиздатых статьи, на днях выложу. Спасибо Tagd Tagd с меня бонусы! tags: #linux #bash — 🔔 @bashdays

Хочешь войти в мир DevOps, но не знаешь с чего начать? 🚀 Приглашаем тебя на бесплатный курс по Git – идеальный старт для нач
Хочешь войти в мир DevOps, но не знаешь с чего начать? 🚀 Приглашаем тебя на бесплатный курс по Git – идеальный старт для начинающих! Git - это основной инструмент для DevOps и разработчиков, без которого невозможно представить современную работу. 🔸 Что ты получишь за 10 занятий и 2 недели? 🔧 Понимание базовых терминов: репозиторий, коммит, пулл-реквест, мердж-конфликт. 🔧 Навык внесения изменений в удаленный репозиторий. 🔧 Умение создавать пулл-реквесты и работать с ними. 🔧 Решение мердж-конфликтов. 🔧 Навык отката изменений. 🔧 Уверенность в работе с Git. Этот курс поможет тебе уверенно шагнуть в мир DevOps и разработки! 🖥 📌 Узнать больше и записаться можно в канале DevOps фабрики. https://t.me/devops_factory/49 Реклама. ООО Байкалтим, ИНН: 3851008933, erid: 2VtzqvWY7zi

Magic SysRq в Linux Чо эт такое? Ооо брат, это комбинация клавиш которая позволяет выполнять низкоуровневые команды независимо от состояния системы. ✔ Тема достаточно полезная, прочитай, пригодится. Ядро реагирует на такие команды моментально, независимо от того, что оно делает в данный момент. При условии, что само ядро не заблокировано. Чтобы послать ядру Magic SysRq, нужно нажать ALT+SysRq+key. А где взять клавишу SysRq? На современных клавиатурах это клавиша PrintScreen. А какой key нажимать в конце? Ну например: +b - немедленная перезагрузка системы +o - выключение системы +s - синхронизация всех файловых систем +u - перемонтирование файловых систем в read only +r - возвращение управления с клавиатуры X-сервера к консоли +k - завершение всех процессов на текущей консоли В моем случае, чтобы послать эту комбинацию клавиш в Virtualbox, мне пришлось нажать — Правый ALT+PrintScreen+h. После нажатия этой комбинации, в терминале выводится справка по доступным командам SysRq. После вывода справки, смотрим логи ядра:
dmesg -tk | grep -m1 '^sysrq: HELP :'
и видим, что ядро триггернулось и записало в журнал:
sysrq: HELP : loglevel(0-9) reboot(b) crash(c) terminate-all-tasks(e) memory-full-oom-kill(f) kill-all-tasks(i) thaw-filesystems(j) sak(k) show-backtrace-all-active-cpus(l) show-memory-usage(m) nice-all-RT-tasks(n) poweroff(o) show-registers(p) show-all-timers(q) unraw(r) sync(s) show-task-states(t) unmount(u) force-fb(v) show-blocked-tasks(w) dump-ftrace-buffer(z)
Грубо говоря, если система встала раком и не отвечает, можешь ребутнуть её магическими клавишами: ALT+SysRq+b. Ну либо поиграться с read only на проде. В официальной доке, этот функционал шикарно расписан, прям рекомендую почитать, хоть и с переводчиком. Изучай...
PS: А если у меня нет клавиши PrintScreen? Ну значит, не судьба!
tags: #linux — 🔔 @bashdays

Нижний Новгород, встречаемся 24 июля на IT Talk by Sber! Мы проведём технологический митап для всех IT-support специалистов и
Нижний Новгород, встречаемся 24 июля на IT Talk by Sber! Мы проведём технологический митап для всех IT-support специалистов и экспертов надёжности. Поговорим об инженерных процессах, улучшении качества IT-поддержки и автоматизации работы с помощью программных решений. Спикеры и темы ⤵️ ✔️ Дмитрий Цуканов, руководитель команды сопровождения SmartContact — «Отказ от Legacy-стандартов. Как мы строили свой SRE?» ✔️ Молчанов Василий, ведущий инженер по сопровождению, Баюсова Ирина, исполнительный директор — «ML OPS: как мы используем ML для улучшения систем мониторинга?» ✔️ Руслан Насимов, руководитель Центра управления сетью Сбера — «Как управлять сетью крупнейшей компании?» ✔️ Наталья Ерютова, корпоративный тренер Сбера — «Управление собой для IT-шников». Адрес: co-working Garage, г. Нижний Новгород, Октябрьская, 35. Регистрируйтесь и приходите 24 июля в 18:00! ⏰

Привет, коллега Вадим Белоус, эксклюзивно написал для нашего канала пост. Пост не проплачен. Если тоже хочешь опубликоваться,
Привет, коллега Вадим Белоус, эксклюзивно написал для нашего канала пост. Пост не проплачен. Если тоже хочешь опубликоваться, скидывай Максу, если годнота — залетит. Спасибо Вадим! Публикуем 👇 Подержите лайками, дело хорошее!
Создаем стильные PDF из мануалов в Linux 📁 Если вы устали от привычных мануалов в Linux, то представляю вашему вниманию команду, которая преобразует их в документы в формате PDF с хакерским шрифтом! Установите все необходимые зависимости
sudo apt install texlive-full pandoc fonts-jetbrains-mono 
1. texlive-full - полный пакет TeX Live, который предоставляет все необходимые компоненты для работы с LaTeX 2. pandoc - универсальный конвертер документов. На официальной странице можно ознакомиться с диаграммой, которая отображает поддерживаемые форматы файлов 3. fonts-jetbrains-mono - хакерский шрифт Выполните скрипт в оболочке командной строки
zcat /usr/share/man/man1/cat.1.gz | nroff -man | col -b | pandoc -f markdown -t pdf -V geometry:margin=0.5in -V 'mainfont=JetBrains Mono' -V 'sansfont=JetBrains Mono' -V 'monofont=JetBrains Mono' -V fontsize=16pt --pdf-engine=lualatex -o cat.pdf
Разберём эту команду по этапам 1. zcat /usr/share/man/man1/cat.1.gz - чтение сжатого мануала cat 2. nroff -man - форматирование текста мануала cat, полученного на предыдущем этапе, согласно указанным макросам для страниц man (-man) 3. col -b - удаление управляющих символов для корректного отображения текста 4. pandoc -f markdown -t pdf -V geometry:margin=0.5in -V 'mainfont=JetBrains Mono' -V 'sansfont=JetBrains Mono' -V 'monofont=JetBrains Mono' -V fontsize=16pt --pdf-engine=lualatex -o cat.pdf - преобразование Markdown в PDF с применением указанных стилей (хакерский шрифт, отступ) На выходе в качестве артефакта получится отформатированный файл в формате PDF с содержимым мануала cat P.S. Этот небольшой пост можно посмотреть на вебсайте по ссылке Также всем причастным предлагаю ознакомиться с постом про мою подборку интересных трюков на Bash Вебсайт: vadimbelous.com Автор: Вадим Белоус Хэштеги: #linux #bash #trick #man #latex #pdf #pandoc — 🔔 @bashdays

Курс по Kubernetes для администраторов. Видеокурс по Docker в подарок⤵️ Привет! На связи команда Слёрма, учебного центра для
Курс по Kubernetes для администраторов. Видеокурс по Docker в подарок⤵️ Привет! На связи команда Слёрма, учебного центра для айти-специалистов middle+. 22 июля мы запускаем 12-й поток нашего знаменитого базового курса по Kubernetes. Если вы давно хотели войти в команду с k8s — эта новость для вас😎 KUBERNETES БАЗА Вы изучите: ✅ основы работы с Kubernetes, устройство кластера и отказоустойчивость; ✅ продвинутые абстракции в Kubernetes; ✅ DNS в кластере; ✅ подключение системы хранения данных на примере Ceph; ✅ CI/CD в Kubernetes. Курс построен так, чтобы после теории, практики и прохождения сертификации вы были полностью готовы к работе с Kubernetes в продакшене. 🎁 При оплате обучения до 22 июля — видеокурс по основам Docker в подарок🎁 🔗 ПРОЙТИ ПЕРВЫЕ ТРИ УРОКА БЕСПЛАТНО Реклама ООО «Слёрм» ИНН 3652901451

Раз пошла такая пьянка, эта awk`ашка подсветить вхождения подстроки, сохраняя, весь контекст. Грубо говоря выделит цветом только те строки, которые ты укажешь.
sed 's/string/\x1b[31m&\x1b[m/g' bashdays.txt
String нужно заменить на то слово, которое нужно подсветить. Это случай когда использование sed оправдано. Изучай… tags: #linux #bash — 🔔 @bashdays

Новый бесплатный курс об информационной безопасности🔒 В Академии Selectel рассказываем, с помощью каких инструментов защищат
Новый бесплатный курс об информационной безопасности🔒 В Академии Selectel рассказываем, с помощью каких инструментов защищаться от киберугроз. Внутри курса — инструкции по настройке средств защиты, советы по их использованию и интересные задачи для проверки знаний. В рамках курса вы: 🔹 проверите защищенность вашего сервиса, 🔹 узнаете о распространенных атаках полным перебором и о методах противодействия им, 🔹 ознакомитесь с ИБ-инструментами на реальных примерах. Переходите в Академию Selectel (ссылка), чтобы начать изучение курса прямо сейчас ➡️ https://slc.tl/0cih1 Реклама АО «Селектел». ИНН: 7810962785 Erid: 2VtzqxWGe9f

Tagd Tagd порадовал нас еще одним постом. Спасибо друг! В редакцию тебя что-ли на ставку забрать, складно пишешь 🥳. Пиши еще! Как я офигел и полюбил AWK. AWK - сильно недооценен. Мало кто его использует кроме как - вывести вторую колонку. А между тем - это полноценный язык программирования. Я решил выучить AWK, когда на хабре увидел конструкцию:
awk '!a[$0]++' ./file
Эта конструкция убирает дубли строк файла, оставляя только уникальные. Причем делает это за один проход чтения файла! Работает она очень просто: Считывается строка файла ($0), Если a[$0] не (!) равен 0, то строка выводится в stdout. После этого, a[$0] инкрементируется. Если далее встретится такое же значение строки $0, то a[$0] уже будет ненулевым и строка проигнорируется. У этой конструкции есть и подводные камни. Весь файл фактически считывается в массив и хранится в памяти. Так что если файл больше половины свободной памяти - используйте uniq. И теперь несколько примеров без объяснений:
awk '++a[$0]==3'
Уникальные строки, c числом вхождений >=3.
awk '++a[$0]>=3'
Все вхождения, начиная с третьего. Эти конструкции могут быть полезны, когда хочется выявить особо настырных. Ну, и еще. AWK поддерживает вещественные числа. Поэтому когда нужно что-то посчитать:
awk 'BEGIN'{print 1/3}' 
или
echo 1 3|awk '{print $1/$2}'
Не так красиво, как bc. Но bc/dc может и не быть в системе, а awk, есть, практически везде. В общем, если припрёт awk'ом можно заменить cat, sed, grep, tr, cut, head, tail, wc... Ну, и ложка дегтя. Есть несколько версий awk: MAWK NAWK GAWK Базовый функционал у них одинаковый. Так что не заморачивайтесь. Если кто-то заинтересовался - help по GAWK. 👉 Вопросы, комментарии приветствуются. tags: #linux — 🔔 @bashdays

Отвлекитесь от экрана — оторвитесь на ИТ-пикнике 17 августа У фестиваля больше 17-ти ИТ-партнеров. Вас ждут воркшопы, лекции
Отвлекитесь от экрана — оторвитесь на ИТ-пикнике 17 августа У фестиваля больше 17-ти ИТ-партнеров. Вас ждут воркшопы, лекции от спикеров известных компаний, нетворкинг, выступления топовых музыкантов и даже детская зона. Будут TRITIA, Дайте танк (!), Драгни, Найк Борзов, Нееет, ты что и еще один секретный хедлайнер. Вы же не пропустите такое событие? Успейте зарегистрироваться erid:2Vtzqv3t6N5 Реклама. АО "Тинькофф Банк", ИНН 7710140679, лицензия ЦБ РФ № 2673

Привет. Сегодня нассым в чайник. А если конкретнее, рассмотрим более подробно команду man. Это с виду она дохуя скучная, на деле там всё по полочкам. Man содержит разделы от 1 до 9 + дополнительные (n, l, p). В дополнительные разделы входят всё то, что по каким-то причинам не попало в первые 9. Все это дело сконфигурировано в файле: /etc/manpath.config, в него можно не смотреть, там хуйня какая-то непонятная для не подготовленного человека. Ну дак вот. В каждом man разделе, есть страница intro. То бишь «вступление», которое описывает что содержит раздел. ✔ Давай тыкать палкой. Ставим пакет:
apt install manpages-dev
Запускаем:
man 1 intro
Выведется список с содержимым 1го раздела:
- Login
- The shell
- Pathnames and the current directory
- Directories
- Disks and filesystems

и т.п.
Теперь пройдемся по разделам: 1. Справка по стандартным командам (программы и утилиты). Это самый огромный раздел в справочной системе. Глаза разбегутся. Но есть лайкфак, можно воспользоваться поиском.
man -k copy
Выведется ограниченный список команд и утилит, которые содержат слово «copy»
cp (1) - copy files and directories
cpgr (8) - copy with locking the given file
cpio (1) - copy files to and from archives
cppw (8) - copy with locking the given file
dd (1) - convert and copy a file
В скобках выводится цифра раздела, в котором была найдена справка. А дальше можно сделать например так:
man 8 cppw
Херак и ты получил желаемое. С поиском намного удобнее и приятнее работать. 2. Раздел содержит описание системных вызовов. В этом разделе можно найти понимание этих ваших линуксов. Например, смотрим справку по mkdir.
man 2 mkdir
Кончаем и получаем список системных вызовов с которыми работает mkdir. 3. Раздел с библиотечными функциями. Тут больше для программистов. 4. Описание файлов-устройств расположенные в /dev 5. Описание форматов файлов. Конфигурационные файлы приложений и их синтаксис. Например, синтаксис файла теневых паролей.
man 5 login.defs
Чтиво весьма занятное. Именно в этом файле задаются «SYS_UID_MAX», «SYS_UID_MIN». Это диапазон UID, который будет присвоен пользователю, при использовании утилит «useradd» или «newusers» когда, ты добавляешь нового пользователя. 6. Раздел игр. 7. Описание стандартов и соглашений. Например, последовательность загрузки ОС.
man 7 boot
или параметры ядра при загрузке:
man 7 bootparam
или шаблоны имён файлов:
man 7 glob
8. Команды для системного администрирования. Например, информация о портах/сокетах:
man 8 netstat
монтирование устройств:
man 8 mount
отображение информации о дисках и их настройка:
man 8 hdparm
9. Функции ядра. В большинстве случаев этот раздел отсутствует в современных дистрибутивах. Раздел не является стандартом. Если нужно узнать про функции ядра, тут только поиск через man -k <ключевое слово>. Так же ты можешь встретить разделы n, l, p, но опять-же они не всегда присутствуют, все зависит от того, какой софт ты ставил себе на машину. Ну и закончим эту простыню вишенкой. Для этой команды нужны Иксы.
apt install man-db groff
man -H bash
Страница со справкой Bash будет отформатирована в «html» формате и открыта в браузере по умолчанию. Без Иксов просто сформируется «html» файл в папке tmp, у меня он появился тут: /tmp/hmanU3yORv/bash.html Ладно, изучай. Увидимся завтра!
PS: Все кто подал заявки на вписку в Linux factory, все ок. Как только решу вопросы с эквайрингом Тибанка (бекенд у них отвалился), всем напишу. Терпения вам и мне дорогие подписчики. Всех обнял!
tags: #linux #bash — 🔔 @bashdays

Ну вот и пришло время…
TL;DR если хочешь в девопс, я тебя научу
Привет. В личку регулярно заходят наши подписчики и интересуются наставничеством, обучением и т.п. Ладно, чо тянуть, закроем вопрос. Встречаем Linux Factory! 1.08 выпускаю кракена. Но кракен будет для маленьких. Матёрые заскучают, но кто знает… Курс пилить я ебал, поэтому покажу протоптанные дорожки и основы. И если ты ими правильно воспользуешься — слава тебе и почет + 100500 денег в секунду. Живописнее и подробнее можешь ознакомиться тут, всё утро красоту наводил 🥳 Чтобы стать частью прекрасного, подавай заявку через бота и я отвечу на все твои вопросы. Программа: https://bashdays.ru/intro/ Контакты: @linuxfactorybot 👇👇👇

ДА или НЕТ? Давай разберемся! Запускай:
cd /tmp
touch bashdays.txt
rm -i bashdays.txt
Получаем интерактивный запрос:
rm: remove regular empty file 'test.txt'?
Выбор зависит от потребности. Либо да, либо нет. Но что вводить? Очевидно же — y или n. Справедливо. Но что если… Запускаем:
locale -k noexpr yesexpr
Выхлоп:
noexpr="^[-0nNНн]"  
yesexpr="^[+1yYДд]"
Это все возможные варианты, которыми ты можешь воспользоваться. Если вместо «y» ты введешь знак «+» — файл удалится. Аналогично можно ввести 0 или 1. Либо «Д» или «Н». Не везде из коробки прописаны такие регулярки, например на англоязычной убунте хуй с маслом.
noexpr="^[nN]"
yesexpr="^[yY]"
Функция оценивающая ответ пользователя, учитывает локализацию. Для подтверждения, или отмены может быть использован любой символ в квадратных скобках из вывода вышеприведённой команды. А любой символ не совпадающий с символами из набора yesexpr будет равносилен отмене, в том числе и пустой ввод. Как на это можно повлиять? Всё это забиндино в файлах которые лежат в папке: /usr/share/i18n/locales Например, в файле ru_RU есть такое:
LC_MESSAGES
yesexpr "^[+1yY<U0414><U0434>]"
noexpr  "^[-0nN<U041D><U043D>]"
yesstr  "<U0434><U0430>"
nostr   "<U043D><U0435><U0442>"
END LC_MESSAGES
Тут присутствует как раз «0» и «1» / «+» и «-». Если хочется упороться, можешь собрать свою локаль и добавить свои символы в регулярку:
cp /usr/share/i18n/locales/ru_RU ~/my_ru_RU
localedef -f UTF-8 -i ~/my_ru_RU ru_RU.UTF-8
После первой команды, нужно отредактировать файл ~/my_ru_RU и затем запускать вторую команду. Такие вот перлы и приколы. Изучай. 👉 Многие этого ждали, завтра закину анонс про личное наставничество и обучение в рамках проекта Linux Factory. tags: #linux — 🔔 @bashdays