DevOps Ready | IT
6.32K subscribers
730 photos
65 videos
369 links
Авторский канал по DevOps разработке.
Ресурсы, обучения, задачи, шпаргалки.
Ежедневно информация пополняется!

Автор: @energy_it

Реклама на бирже: https://telega.in/c/devops_ready
Download Telegram
В Linux можно безопасно перезаписывать файл результатом команды, которая этот же файл читает!

Многие хотя бы раз пытались сделать что-то вроде:
$ sort users.txt > users.txt


И получали пустой файл.

Проблема в том, что shell открывает файл на запись ещё до запуска sort, поэтому содержимое уничтожается раньше, чем команда успевает его прочитать.

Для таких случаев существует sponge из пакета moreutils:
$ sort users.txt | sponge users.txt


Сначала sponge полностью считывает входной поток в память, а затем открывает файл и записывает результат.

Точно так же можно фильтровать логи или конфигурации без временных файлов:
$ grep -v debug app.log | sponge app.log


Или выполнять цепочки преобразований над одним и тем же файлом:
$ sed 's/localhost/db.local/' config.ini | sponge config.ini


🔥 Это позволяет безопасно изменять файл, не создавая временные копии и не рискуя случайно потерять данные.

🚪 Linux Ready | #совет
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥137👍4
This media is not supported in your browser
VIEW IN TELEGRAM
✍️ CommandLineFu — полезные команды для Linux и Unix!

Удобный каталог команд для Linux, Unix и macOS, где собраны готовые решения на Bash для самых разных задач: работа с файлами, сетью, процессами, логами, безопасностью и администрированием серверов. Каждая команда сопровождается пояснением.

📌 Оставляю ссылочку: commandlinefu.com

➡️ DevOps Ready | #сайт
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥4🤝3
Знали, что Bash умеет генерировать десятки путей и аргументов ещё до запуска команды?

Большинство используют циклы или копируют похожие команды несколько раз, хотя Bash умеет делать это самостоятельно.

Например, нужно быстро создать структуру нового проекта:
$ mkdir -p project/{src,tests,docs}


Shell автоматически развернёт команду в несколько аргументов ещё до запуска mkdir.

Точно так же удобно создавать резервные копии:
$ cp app.{conf,conf.bak}


Фактически Bash выполнит:
$ cp app.conf app.conf.bak


Можно работать сразу с несколькими каталогами:
$ echo /var/log/{nginx,apache2,redis}/*.log


Команда мгновенно превратится в набор путей для всех указанных директорий.

Поддерживаются и диапазоны:
$ touch file{1..10}.txt


В результате будут созданы файлы от file1.txt до file10.txt без единого цикла.

🔥 Brace expansion выполняется внутри Bash ещё до запуска программы, поэтому работает быстрее и чище, чем дополнительные shell-конструкции.

🚪 Linux Ready | #совет
Please open Telegram to view this post
VIEW IN TELEGRAM
8🔥6👍4
This media is not supported in your browser
VIEW IN TELEGRAM
😍 Linux Cheat — полезнейший репозиторий для изучения Linux!

В этом репозитории подробно разбирается внутреннее устройство Linux: процессы, память, системные вызовы, ELF и работа системы на низком уровне. Материал построен на практических примерах за счёт чего сложные темы намного проще понять. Хорошо подойдёт разработчикам, DevOps и тем, кто хочет лучше понимать, как Linux работает под капотом.

Оставляю ссылочку: GitHub 📱


➡️ DevOps Ready | #репозиторий
Please open Telegram to view this post
VIEW IN TELEGRAM
11👍5🔥4
👩‍💻 Управляем пакетами и репозиториями в Linux — стабильно и безопасно!

APT — мощный инструмент, но по-настоящему надёжной систему делает грамотная настройка источников, приоритетов и подписей пакетов.

В этом посте:
Фиксируем версии и источники пакетов с помощью pinning;

Меняем зеркала репозиториев для ускорения загрузки;

Проверяем цифровые подписи и ключи перед установкой;

Настраиваем приоритеты и предотвращаем неожиданные обновления.


Это обеспечивает контроль, скорость и безопасность системы — особенно важно для рабочих серверов и стабильных окружений.

🚪 Linux Ready | #гайд
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥86🤝1
🔥206👍5
👩‍💻 Быстро очищаем домашнюю директорию от мусора!

В этом посте мы собрали 7 команд, которые помогают находить тяжёлые файлы, скрытый хлам и старые гигабайтные объекты в домашней папке. du, ncdu, find, ls — всё, что нужно для быстрой диагностики и ручной очистки пространства.

➡️ DevOps Ready | #шпора
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12👍7🤝7
📂 Напоминалка по Pipes в Linux!

Pipes позволяют процессам обмениваться данными напрямую: вывод одной программы становится входом для другой. Именно благодаря этому работают привычные конвейеры команд через символ |.

На картинке показаны анонимные и именованные каналы (FIFO), схема их работы, примеры создания и основные команды для использования.

Сохрани, чтобы не потерять!

➡️ DevOps Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍135🔥5
This media is not supported in your browser
VIEW IN TELEGRAM
🐱 Большая Linux-шпаргалка для разработчиков!

Здесь собрано огромное количество полезных команд и практических заметок по Linux: работа с терминалом, файловой системой, процессами, сетью, сервисами, Docker, Git, PostgreSQL, Nginx и не только. Особенно ценно, что это не просто сухой список команд, а именно шпаргалка с примерами, пояснениями и полезными сценариями из практики.

Оставляю ссылочку: GitHub 📱


➡️ DevOps Ready | #репозиторий
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍6🤝51
Сидеть и работать в корпорации — страшно, жизнь-то мимо проходит. Уходить строить бизнес — страшно, а вдруг прогорит. Один из вариантов — разрабатывать свой пет-проект по вечерам. Многие успешные компании, например, Twitter, создавались именно так. Это не значит, что ваш проект обязательно заработает миллиарды, но заработать больше, чем в найме, и получить ценный опыт — вполне реально.

Перед началом разработки появляется множество вопросов, например:

• Как выбрать идею для пет-проекта?
• Что нужно знать про маркетинг
• Как запуститься и довести до первых продаж не имея бюджета на рекламу?

В телеграм-канале «Твой пет проект», Михаил Табунов делится своим опытом с разработчиками и менеджерами.

Он рассказывает, где искать идею для нового проекта, что нужно знать о маркетинге, как запустить стартап и привлечь первых 10 клиентов, а также о многих других важных вещах.

Подписывайтесь на «Твой пет проект», получайте пользу от практиков рынка!
https://t.me/+8Frwa03ciVlhNTky
👎3
Слышали, что tail умеет автоматически завершаться вместе с процессом, за которым вы наблюдаете?

Обычно при просмотре логов через tail -f возникает мелкая проблема. Процесс уже завершился, а tail продолжает висеть в терминале и его приходится останавливать вручную.

Решение встроено в GNU tail:
$ command > /tmp/out.log 2>&1 &


Команда запускается в фоне, а $! содержит PID последнего background-процесса.

Теперь можно привязать tail к этому процессу:
$ tail --pid=$! -f /tmp/out.log


tail будет следить за логом в реальном времени, но как только процесс завершится — завершится и сам.

Это удобно при сборке проектов, деплое, миграциях, тестах и long-running задачах, когда нужен live output ровно до окончания выполнения.

🔥 С --pid терминал освобождается автоматически в нужный момент.

🚪 Linux Ready | #совет
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍3🔥3