Например, ядро управляет процессами, памятью, устройствами, сетью и файловыми системами — именно эти подсистемы обеспечивают работу всей операционной системы.
На картинке — 5 основных компонентов ядра, которые важно понимать разработчикам, DevOps-инженерам и системным администраторам.
Сохрани, чтобы держать базовую архитектуру Linux под рукой!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤14👍10🤝8👎1
Иногда нужно на короткое время сохранить пароль, токен, ключ или конфигурацию — так, чтобы данные не утекли в историю команд, не остались в открытом файле и не лежали на диске дольше необходимого.
В этом посте:
• Создаём файл с правами только для текущего пользователя;
• Вводим секрет скрыто, без отображения на экране и записи в history;
• Настраиваем автоудаление через заданный интервал;
• Получаем одноразовое локальное хранилище без сторонних сервисов.
Полезный приём для работы с ключами, паролями, временными доступами и любыми чувствительными данными.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍25❤9🤝8👎1
This media is not supported in your browser
VIEW IN TELEGRAM
Это подробный курс, который последовательно проводит от самых основ до уверенного использования системы. Материал разбит на разделы с примерами команд, пояснениями и практическими приёмами работы с файлами, процессами и окружением. Особое внимание уделено Bash и тому, как с помощью терминала автоматизировать задачи и управлять системой без графического интерфейса.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤9🔥9
Знали, что Linux умеет реагировать на события файловой системы в реальном времени?
Ядро через
Команда блокируется и просыпается только при событии, поэтому почти не расходует CPU:
Можно отслеживать целую директорию (важно, если редактор сохраняет через temp-файл + rename) и автоматизировать любые действия - перезапуск сервисов, сборку проекта или бэкап:
Очень удобно для авто-reload без Docker, IDE и сторонних инструментов:
🔥 Такой прием пригодится для CI-скриптов, авторазвертывания, hot-reload и администрирования.
🚪 Linux Ready | #совет
Ядро через
inotify сообщает, когда файл изменился, создан или заменён.Команда блокируется и просыпается только при событии, поэтому почти не расходует CPU:
inotifywait -e close_write config.yaml
Можно отслеживать целую директорию (важно, если редактор сохраняет через temp-файл + rename) и автоматизировать любые действия - перезапуск сервисов, сборку проекта или бэкап:
inotifywait -m -e create,delete,modify,moved_to ./src
Очень удобно для авто-reload без Docker, IDE и сторонних инструментов:
while inotifywait -e close_write app.py; do
pkill -f "python app.py"; python app.py &
done
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥16👍13🤝8❤2
В этой статье:
• Собран практический набор инструментов для быстрой диагностики производительности системы и сервисов;
• Показано, как находить реальные причины тормозов — от CPU и памяти до дисков и сети;
• Даны команды и подходы, которые пригодятся и на сервере в продакшене.🔊 Продолжайте читать на Habr!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🔥8🤝7❤2
Переменные окружения в Linux: управление поведением процессов!
Переменные окружения (environment variables) задают контекст выполнения программ. Через них настраиваются shell, компиляторы, интерпретаторы, библиотеки и большинство CLI-утилит. Это базовый механизм конфигурации в Unix-подобных системах.
Посмотреть все переменные окружения текущего процесса (shell):
или:
Обе команды выводят окружение текущего процесса (экспортированные переменные).
Посмотреть значение конкретной переменной:
Кавычки важны при подстановке переменных: они предотвращают нежелательное разбиение на слова и обработку спецсимволов (особенно если значение содержит пробелы или символы glob).
Временная переменная для одного запуска программы:
Переменная будет доступна только процессу
Экспорт переменной в текущей сессии shell:
После
Удаление переменной:
Удаляет переменную из текущего shell и его окружения.
Постоянные переменные пользователя - задаются в конфигурационных файлах shell и применяются при старте сессии. Для Bash обычно используют:
Конкретный файл зависит от способа запуска shell в системе.
Пример:
После изменения применить настройки можно:
или просто открыть новый терминал.
Глобальные переменные для всех пользователей - можно задать в файле:
Этот файл обычно обрабатывается при входе в систему через PAM. Он поддерживает только простые присваивания без shell-синтаксиса, экспорта и подстановок.
Пример:
Посмотреть окружение конкретного запущенного процесса:
Переменные хранятся в памяти процесса как строки, разделённые нулевым байтом. Обычно доступно только для своих процессов или с правами root (может ограничиваться настройками безопасности).
Порядок PATH критичен - поиск исполняемых файлов идёт слева направо:
Будет запущена первая найденная программа с совпадающим именем.
🔥 Переменные окружения передаются процессам через механизм fork/exec, существуют только в памяти процесса и наследуются его потомками. Они не изменяют систему глобально сами по себе и являются стандартным способом управления поведением программ в Linux.
🚪 Linux Ready | #практика
Переменные окружения (environment variables) задают контекст выполнения программ. Через них настраиваются shell, компиляторы, интерпретаторы, библиотеки и большинство CLI-утилит. Это базовый механизм конфигурации в Unix-подобных системах.
Посмотреть все переменные окружения текущего процесса (shell):
printenv
или:
env
Обе команды выводят окружение текущего процесса (экспортированные переменные).
env также часто используют для запуска команды с заданными переменными.Посмотреть значение конкретной переменной:
echo "$PATH"
Кавычки важны при подстановке переменных: они предотвращают нежелательное разбиение на слова и обработку спецсимволов (особенно если значение содержит пробелы или символы glob).
Временная переменная для одного запуска программы:
DEBUG=true ./app
Переменная будет доступна только процессу
./app и его дочерним процессам. В текущем shell она не сохранится.Экспорт переменной в текущей сессии shell:
export NODE_ENV=production
После
export переменная становится частью окружения текущего shell и наследуется всеми дочерними процессами, но не влияет на другие терминалы и будущие входы в систему.Удаление переменной:
unset NODE_ENV
Удаляет переменную из текущего shell и его окружения.
Постоянные переменные пользователя - задаются в конфигурационных файлах shell и применяются при старте сессии. Для Bash обычно используют:
~/.bashrc — интерактивные shell; ~/.profile или ~/.bash_profile — login-shellКонкретный файл зависит от способа запуска shell в системе.
Пример:
export EDITOR=vim
export PATH="$HOME/bin:$PATH"
После изменения применить настройки можно:
source ~/.bashrc
или просто открыть новый терминал.
Глобальные переменные для всех пользователей - можно задать в файле:
/etc/environment
Этот файл обычно обрабатывается при входе в систему через PAM. Он поддерживает только простые присваивания без shell-синтаксиса, экспорта и подстановок.
Пример:
JAVA_HOME=/usr/lib/jvm/java-17
Посмотреть окружение конкретного запущенного процесса:
cat /proc/<PID>/environ | tr '\0' '\n'
Переменные хранятся в памяти процесса как строки, разделённые нулевым байтом. Обычно доступно только для своих процессов или с правами root (может ограничиваться настройками безопасности).
Порядок PATH критичен - поиск исполняемых файлов идёт слева направо:
echo "$PATH"
Будет запущена первая найденная программа с совпадающим именем.
Please open Telegram to view this post
VIEW IN TELEGRAM
🤝17❤10🔥9👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Сайт одного из ведущих мировых экспертов по производительности вычислительных систем, где собраны статьи, инструменты, документация, презентации и исследования по Linux, трассировке, оптимизации и анализу работы инфраструктуры. Материалы ориентированы на разработчиков, DevOps-инженеров и системных администраторов.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14❤8🤝8
Полный лог выполнения команды без потери вывода в терминале!
Когда команда пишет ошибки в stderr, обычный
Перенаправление
Можно сразу фильтровать поток, не теряя оригинальный лог:
Связка
🔥 Особенно полезно при долгих сборках, CI-задачах и отладке, когда важно видеть вывод в реальном времени и одновременно сохранять полный отчёт.
🚪 Linux Ready | #совет
Когда команда пишет ошибки в stderr, обычный
| tee file сохраняет только stdout. В результате лог оказывается неполным и бесполезным для анализа.Перенаправление
2>&1 объединяет stderr со stdout — теперь в файл попадает абсолютно всё:docker build . 2>&1 | tee build.log
Можно сразу фильтровать поток, не теряя оригинальный лог:
pytest -v 2>&1 | tee test.log | grep -E "FAILED|ERROR"
Связка
2>&1 | tee превращает любую команду в одновременно интерактивную и логируемую.Please open Telegram to view this post
VIEW IN TELEGRAM
👍18🔥9❤8
This media is not supported in your browser
VIEW IN TELEGRAM
Репозиторий представляет собой подробный чек-лист по хардненингу системы: настройка безопасного SSH-доступа, файрвола, ограничение прав пользователей, аудит действий, антивирусная защита и другие меры повышения безопасности. Материал ориентирован на реальные сценарии эксплуатации серверов и может применяться как для домашних, так и для облачных систем.
Оставляю ссылочку: GitHub📱
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥8🤝7❤2
🔥14👍8🤝8
В этом посте собраны утилиты для эффективной обработки текстовых файлов в командной строке. Рассмотрены сортировка строк, подсчёт повторений, устранение дубликатов, а также объединение данных построчно и по ключевым полям. Полезно для анализа логов, работы со списками и построения конвейеров обработки данных.Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20🔥16❤7🤝4
This media is not supported in your browser
VIEW IN TELEGRAM
В репозитории собраны статьи, доклады, инструменты, стандарты, курсы и реальные практики внедрения безопасности в процесс разработки, от анализа кода до защиты контейнеров и облаков. Здесь можно найти материалы по SAST/DAST, безопасности Docker и Kubernetes, IaC-сканированию, compliance-подходам и другим важным аспектам современной инфраструктуры.
Оставляю ссылочку: GitHub📱
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🤝9🔥8❤3