Подробное руководство по Linux для системных администраторов и разработчиков.
Материал охватывает весь путь — от первых команд в терминале до работы с облачной инфраструктурой, контейнерами и виртуализацией.
Внутри:
Подойдёт как тем, кто только переходит с Windows на Linux, так и опытным администраторам, желающим систематизировать знания и освоить современные инструменты управления инфраструктурой.
#books
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from [PYTHON:TODAY]
https://youtu.be/fpFgpqnBpsE
#youtube
Please open Telegram to view this post
VIEW IN TELEGRAM
grep — стандартная утилита Linux для поиска текста в файлах, логах и выводе команд.grep "python" file.txt
Ищет все строки со словом python.
grep -i python file.txt
Найдет:
Python
PYTHON
python
grep -v error log.txt
Показать все строки без слова
error.grep -w cat file.txt
Найдет
cat
Но пропустит
category
concatenate
grep -n TODO main.py
Результат
15: # TODO
42: # TODO
grep -c ERROR app.log
Например
128
grep -r "password" .
Просканирует все файлы текущей директории.
grep -rn "TODO" . --include="*.py"
grep -r "TODO" . --exclude-dir=node_modules
Очень полезно для больших проектов.
grep -A 5 ERROR app.log
Если ошибка занимает несколько строк.
grep -B 5 ERROR app.log
grep -C 3 ERROR app.log
Самый популярный вариант при анализе логов.
Любой символ
.
Любое количество символов
*
Один или больше
+
Начало строки
^
Конец строки
$
Диапазон цифр
[0-9]
Любой символ A или B
[AB]
Найти IP
grep -Eo "([0-9]{1,3}\.){3}[0-9]{1,3}" access.logНайти email
grep -E "[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}"Найти все ошибки
grep ERROR app.log
Найти строки, начинающиеся с INFO
grep "^INFO" app.log
Найти строки, заканчивающиеся словом OK
grep "OK$" app.log
💡 95% повседневной работы с `grep` закрывают именно эти команды. Сохраняйте — пригодится каждому, кто работает с Linux, DevOps, Python или анализом логов.
#doc #cheatsheet
Please open Telegram to view this post
VIEW IN TELEGRAM
Хайлоад: производительность и планирование мощностей
Приглашаем на практический курс для Middle/Senior-разработчиков, техлидов, архитекторов, EM и CTO, которые хотят не просто “знать про хайлоад”, а руками разобраться, как работают производительность, нагрузочное тестирование и масштабирование.
Будем выжимать 20–100K RPS из своих сервисов на своей инфраструктуре, строить latency/RPS-диаграммы, искать ограничения в стеке и использовать эти данные для capacity planning. В программе: Linux-инфраструктура, nginx, Prometheus/Grafana, нагрузочное тестирование через wrkx, тюнинг производительности, планирование мощностей.
Вас жду живые онлайн-сессии и практические домашние задания, в ходе которых вы прокачаетесь в вопросах хайлоада, инфраструктуры и переосмыслите архитектурные подходы в более прагматичном, экономичном и инженерном ключе.
📌 Старт потока 13 июля.
Кто мы: R&D-центр Devhands, основатель и автор курса Алексей Рыбак, ex-СТО Badoo и Yum! Brands, член программного комитета Highload.
Изучайте программу и записывайтесь.
Реклама. ИП Рыбак А.А. ИНН 771407709607 Erid: 2VtzquZx6p5
Приглашаем на практический курс для Middle/Senior-разработчиков, техлидов, архитекторов, EM и CTO, которые хотят не просто “знать про хайлоад”, а руками разобраться, как работают производительность, нагрузочное тестирование и масштабирование.
Будем выжимать 20–100K RPS из своих сервисов на своей инфраструктуре, строить latency/RPS-диаграммы, искать ограничения в стеке и использовать эти данные для capacity planning. В программе: Linux-инфраструктура, nginx, Prometheus/Grafana, нагрузочное тестирование через wrkx, тюнинг производительности, планирование мощностей.
Вас жду живые онлайн-сессии и практические домашние задания, в ходе которых вы прокачаетесь в вопросах хайлоада, инфраструктуры и переосмыслите архитектурные подходы в более прагматичном, экономичном и инженерном ключе.
📌 Старт потока 13 июля.
Кто мы: R&D-центр Devhands, основатель и автор курса Алексей Рыбак, ex-СТО Badoo и Yum! Brands, член программного комитета Highload.
Изучайте программу и записывайтесь.
Реклама. ИП Рыбак А.А. ИНН 771407709607 Erid: 2VtzquZx6p5