Почему grep выводит данные с задержкой в пайпах?
Бывало
Это не баг. Большинство CLI-утилит буферизуют
Классический сценарий мониторинга логов без задержек:
Альтернатива специально для
Работает и с другими командами:
🔥 Если команда в пайпе не отвечает, почти всегда виновата буферизация.
➡️ DevOps Ready | #совет
Бывало
tail -f app.log | grep ERROR - лог пишется, а grep молчит и выводит всё сразу через секунды?Это не баг. Большинство CLI-утилит буферизуют
stdout, когда работают не в TTY, а в пайпе. Отключаем буферизацию:stdbuf -oL grep "ERROR" app.log
-oL — построчный вывод (line-buffered).Классический сценарий мониторинга логов без задержек:
tail -f app.log | stdbuf -oL grep "ERROR"
Альтернатива специально для
grep:tail -f app.log | grep --line-buffered "ERROR"
Работает и с другими командами:
journalctl -f | stdbuf -oL grep nginx
stdbuf -oL (или grep --line-buffered) возвращает вывод без переписывания пайпа.Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤6🔥6🤝4
Например, tar czf создаёт архив с сжатием, а tar xzf позволяет быстро распаковать .tar.gz.
На картинке — команды tar, которые стоит держать под рукой: создание архивов, распаковка, просмотр содержимого и работа с gzip / bzip2 / xz.
Сохрани, чтобы не забыть!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤12🔥7👍5🤝3
This media is not supported in your browser
VIEW IN TELEGRAM
Этот ресурс объясняет основы и важные концепции через примеры и живые объяснения. Тут ты найдёшь темы по синтаксису, функциям, структурам данных, алгоритмам и архитектуре. Полезно как новичкам, так и тем, кто хочет укрепить фундамент, понять внутренние механизмы и перестать путаться в деталях.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13👍9❤4🤝4
В этом посте собраны ключевые параметры и типы проверок (Liveness, Readiness, Startup), которые помогут кластеру понять, когда ваш контейнер готов принимать трафик, а когда его пора перезагрузить.Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10🔥10👍5🤝1
NAT позволяет устройствам из приватной сети выходить в интернет через один публичный IP, подменяя IP и порты на роутере.
На картинке — как меняется пакет до и после NAT, как работает NAT-таблица и почему несколько устройств могут использовать один public IP.
Сохрани, чтобы не забыть!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥10🤝7❤1
Работа с символическими и жёсткими ссылками!
Ссылки используются для повторного доступа к файлам и каталогам без дублирования данных. Применяются в пакетных менеджерах, конфигурациях, деплое и файловых структурах.
Создание жёсткой ссылки:
Жёсткая ссылка указывает на тот же inode, что и исходный файл. Удаление одного имени не удаляет данные, пока существует хотя бы одна ссылка.
Ограничения жёстких ссылок: они практически всегда применимы только к файлам; на каталоги, как правило, запрещены на уровне файловой системы.
Создание символической ссылки:
Симлинк — это отдельный файл, содержащий путь к целевому объекту (файлу или каталогу).
Просмотр ссылок и inode:
Одинаковый inode — жёсткие ссылки на один файл. Симлинк имеет собственный inode.
Проверка, куда указывает символическая ссылка:
Перезапись существующей символической ссылки:
Удаление ссылки:
Для жёсткой ссылки это удаление имени, а не данных.
🔥 Симлинки зависят от пути и могут «сломаться»; жёсткие ссылки устойчивы, но ограничены одной файловой системой и практически не применяются для каталогов.
➡️ DevOps Ready | #практика
Ссылки используются для повторного доступа к файлам и каталогам без дублирования данных. Применяются в пакетных менеджерах, конфигурациях, деплое и файловых структурах.
Создание жёсткой ссылки:
ln original.txt hardlink.txt
Жёсткая ссылка указывает на тот же inode, что и исходный файл. Удаление одного имени не удаляет данные, пока существует хотя бы одна ссылка.
Ограничения жёстких ссылок: они практически всегда применимы только к файлам; на каталоги, как правило, запрещены на уровне файловой системы.
Создание символической ссылки:
ln -s /path/to/original symlink
Симлинк — это отдельный файл, содержащий путь к целевому объекту (файлу или каталогу).
Просмотр ссылок и inode:
ls -li
Одинаковый inode — жёсткие ссылки на один файл. Симлинк имеет собственный inode.
Проверка, куда указывает символическая ссылка:
readlink symlink
readlink -f symlink
-f разворачивает цепочку ссылок до реального пути.Перезапись существующей символической ссылки:
ln -sfn /new/path symlink
-s — symbolic-f — удаляет существующий путь назначения перед созданием-n — не разыменовывать симлинк на каталогУдаление ссылки:
rm symlink
rm hardlink.txt
Для жёсткой ссылки это удаление имени, а не данных.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤13👍8🔥7
Например, HTTP/1.1 использует постоянные соединения, HTTP/2 умеет мультиплексировать запросы в одном TCP-канале, а HTTP/3 работает поверх QUIC и UDP.
На картинке — наглядная эволюция HTTP от первых версий до современных стандартов.
Сохрани, чтобы не забыть!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10👍6🤝6❤3
Параллельные команды в Bash!
Cразу получаешь PID процесса и FD для
Так отправляешь данные в stdin фоновой команды напрямую, без
Читаешь ответ синхронно, управляя порядком чтения и записи из Bash.
Ожидание завершения без busy-loop и sleep:
🔥
➡️ DevOps Ready | #совет
coproc запускает команду асинхронно и создаёт для неё каналы ввода и вывода, доступные из Bash через файловые дескрипторы.Cразу получаешь PID процесса и FD для
stdin/stdout и можешь работать с ним как с обычным I/O:echo "ping" >&"${WORKER[1]}"Так отправляешь данные в stdin фоновой команды напрямую, без
cmd | cmd и без временных файлов:read -r result <&"${WORKER[0]}"Читаешь ответ синхронно, управляя порядком чтения и записи из Bash.
Ожидание завершения без busy-loop и sleep:
wait "$WORKER_PID"
coproc - встроенный механизм параллелизма Bash, который даёт управляемые фоновые процессы с явным I/O-контролем.Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤8🔥8
В этой статье:
• Показано, как превратить рутинные задачи в быстрые и удобные команды под себя;
• Разобраны реальные алиасы и скрипты для git, systemd, сети, дисков и мониторинга системы;
• На примерах видно, как со временем вырастает персональный набор инструментов, который реально экономит время работы.🔊 Продолжайте читать на Habr!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9❤8🤝7👍2
Например,
ls показывает файлы в директории, ps и top помогают понять, какие процессы сейчас работают, а df и du — быстро проверить использование диска.На картинке — часто используемые команды, которые стоит держать под рукой.
Сохрани, чтобы не забыть!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15❤11🤝7🔥2
Разбор логов в Linux — это 90% работы при поиске причин падения сервисов. Правильное использование фильтров journalctl позволяет мгновенно отсечь системный шум и найти ту самую строку, из-за которой упал Nginx или Docker.Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14❤6👍6🤝5
This media is not supported in your browser
VIEW IN TELEGRAM
Здесь основной упор сделан на реальные команды и рабочие приёмы. Разбирают повседневные задачи администрирования, работу в терминале, настройку системы и полезные мелочи, которые реально экономят время. Простой и понятный формат: прочитал и сразу применил. Отличный ресурс, если хочется расширять набор рабочих решений.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤7🤝7