Мир Линукса
407 subscribers
12 photos
22 links
Канал Мир Линукса. Новости, статьи и много интересного из мира линукса.
Download Telegram
Утилиты в линукс

Для мониторинга системы и процессов

htop: Это продвинутый топологический монитор процессов. В отличие от стандартного top, он имеет цветной вывод, удобную навигацию с помощью клавиш и отображает использование всех ядер процессора.

btop++: Это "шаг вперёд" даже по сравнению с htop. Невероятно красивый и информативный, с графиками использования CPU, памяти, диска и сети прямо в терминале. Настоятельно рекомендую!
Установка (на Ubuntu-подобных):

sudo apt install htop
sudo apt install btop

glances

Монитор "всё в одном". Показывает информацию о CPU, памяти, дисках, сети, процессах и даже температуре датчиков. Может работать в клиент-серверном режиме, чтобы мониторить удалённые машины.

Установка:

sudo apt install glances

nvtop
Аналог htop, но для видеокарт (NVIDIA, AMD, Intel). Незаменим для тех, кто занимается машинным обучением, 3D-рендерингом или майнингом.
Установка:

sudo apt install nvtop

Для анализа дискового пространства


ncdu
(NCurses Disk Usage)
Простая, но невероятно мощная TUI-утилита для анализа того, что занимает место на диске. Гораздо удобнее, чем du -sh * | sort -h. Позволяет быстро перемещаться по каталогам и удалять ненужное прямо из интерфейса.
Установка:

sudo apt install ncdu



Использование:

ncdu /path/to/directory


duf
Современная замена классическим df и du. Показывает информацию о смонтированных дисках в удобном табличном виде с цветовым выделением.
Установка:


sudo apt install duf


Для работы с сетью

httpie

Современный и дружелюбный CLI-клиент для отправки HTTP-запросов. Гораздо интуитивнее и читабельнее, чем curl, особенно для API в формате JSON.
Установка:

sudo apt install httpie


Пример:

http GET https://api.github.com/users/octocat



bandwhich
Показывает, какие процессы используют ваше сетевое соединение в реальном времени, с сортировкой по объёму трафика. Очень помогает найти "пожирателя" интернета.
Установка (часто через Cargo):

cargo install bandwhich
# или через пакетный менеджер, например, в Arch: yay -S bandwhich


mtr (My Traceroute)
Объединяет в себе ping и traceroute. В реальном времени показывает задержки и потери пакетов на каждом хопу до цели. Лучший инструмент для диагностики сетевых проблем.
Установка:

sudo apt install mtr


Для поиска и обработки текста
fzf
(Fuzzy Finder)
Утилита для нечёткого поиска по чему угодно. Молниеносно находит файлы, команды из истории, процессы и многое другое. Интегрируется с zsh, bash и vim. После знакомства с ней жить без неё уже не хочется.
Установка:

sudo apt install fzf


Пример (поиск и переход в каталог):

cd $(find * -type d | fzf)

ripgrep (rg)
Невероятно быстрый и удобный поисковик по коду. Написан на Rust, игнорирует файлы из .gitignoreпо умолчанию, умный и простой в использовании. Прямая и лучшая замена grep и ack.
Установка:

sudo apt install ripgrep


Пример:

rg "function_name" --type=py



jq
sed для JSON-данных. Позволяет парсить, фильтровать, форматировать и преобразовывать JSON прямо в командной строке. Незаменима для работы с API и логами.
Установка:

sudo apt install jq


Пример:

curl -s api.example.com/data.json | jq '.users[].name'
👍5🔥41
Сегодня у нас хардкор.
Настолько хардкор, что даже dmesg покраснеет.

Начинаем викторину: «Linux или боль: проверь свои нервы».

10 вопросов, каждый - как неожиданный SIGKILL в проде. Если наберёшь 7/10 - ты не просто линуксоид, ты натуральный init(1).

Готов? Тогда запускаем викторину.
Утилиты в Linux, часть 2

Команды, которые вы используете каждый день: ls и cd.

ls — покажи мне, что здесь лежит

Стандартная команда для просмотра содержимого каталога.
Но многие используют только ls и не знают о флагах, которые реально помогают.

Полезные параметры:

ls -l

Показывает подробный список: права, владельца, размер, дату изменения. Базовый must have.

ls -lh

То же самое, но с человеческими единицами измерения: KB, MB, GB.

ls -la

Показывает скрытые файлы. Да, те самые .env, .git, .config.

ls -lt

Сортировка по времени. Отлично подходит для поиска последнего изменённого файла.

ls -lhS

Сортировка по размеру — помогает понять, что занимает место.

Комбо, которое используется чаще всего:
ls -lha - всё и сразу, в удобочитаемом виде.

cd - одна команда, половина вашей жизни

Переход между каталогами - основа работы в терминале.
Но и здесь есть удобные трюки.

Полезные приёмы cd:

cd -

Переключение между двумя последними директориями.
Работает как Alt+Tab, только для терминала.

cd ..

Подняться на уровень выше.

cd ../..

Подняться на два уровня сразу.

cd ~

Перейти в домашний каталог.

cd /path/to/folder

Перейти куда угодно по абсолютному пути.

cd !$

Перейти в каталог, который только что использовался в предыдущей команде.
Например:
mkdir newdir
cd !$

И ты уже в новой директории.

А если ты используешь zsh или fzf — всё становится ещё удобнее:

cd **<pattern>

Нечёткий поиск по каталогам (zsh).
Очень экономит время, когда не помнишь точное название директории.

Если установлен fzf:
cd $(find . -type d | fzf)

Выбор каталога из списка, как в GUI, только быстрее.
👍73👎1🔥1
#Linux_или_боль_викторина 2

Какое состояние процесса означает, что его нельзя ни убить, ни прервать?
Anonymous Quiz
41%
D (uninterruptible sleep)
46%
Z (zombie)
3%
R (running)
10%
S (interruptible sleep)
😢6
⭐️ Состояния процессов в Linux

Разберём основные состояния процессов в Linux простым языком - от «обычных» до самых редких.

🔂R - Running / Runnable

Процесс работает или готов работать.
Стоит в очереди планировщика и может быть выполнен прямо сейчас.

Чаще всего это самые «живые» процессы в системе.

🔂S - Interruptible Sleep

Обычный сон.
Процесс ждёт событие: ввод, сокет, системный вызов, таймер.

Главное:
🟢может быть прерван любым сигналом
🟢безопасен
🟢встречается чаще всего

🔂D - Uninterruptible Sleep (ожидание I/O)

Тот самый «неубиваемый» процесс. Это сон внутри ядра, когда процесс ждёт завершения операции I/O.

Например:
🟢зависший диск
🟢NFS / SMB недоступны
🟢драйвер «залип»

Почему нельзя убить:
🟢процесс в ядре
🟢сигналы до него просто не доходят
🟢SIGKILL бесполезен

Обычно лечится:
🟢фиксом железа
🟢восстановлением сети
🟢в худшем случае - перезагрузкой

🔂Z - Zombie

Процесс уже умер, но его родитель не сделал wait() и не забрал код завершения.

Особенности:

🟢ресурсов не занимает
🟢убивать нечего
🟢исчезает, когда родитель вызовет wait() или завершится сам

Если зомбиков много - ищите кривой родительский процесс.

🔂T - Traced / Stopped

Процесс остановлен:
🟢Ctrl+Z
🟢SIGSTOP
🟢отладчиком (ptrace)

Он не выполняется, но жив и ждет продолжения.

🔂I - Idle (Kernel Thread)

Означает, что это поток ядра, который не спит и не выполняется, а «ждёт» работы.

Обычно встречается у kthread’ов.

🔂W - Paging (устаревшее)

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

🔂K - Wakekill

Процесс может быть прерван только «фатальным» сигналом, когда система убивает всё подряд (например, при OOM).

В обычной работе почти не встречается.

🔂X - Dead

Процесс «мертв», но ещё не удалён из таблицы процессов.
Редкое и кратковременное состояние.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍43
Всеми полюбившаяся подборка статей теперь и про линукс 🔥

Как патчить ядро Linux: подробное руководство - Статья объясняет, как шаг за шагом собрать, протестировать и пропатчить ядро Linux - включая настройку окружения (виртуалки + Docker + Debian/QEMU), сборку ядра, упаковку в deb-пакет, установку и проверку изменений (на примере добавления поддержки опции PROTO_DOWN для Ethernet-интерфейсов).

Установка Fedora Linux на MacBook Pro 2019 с чипом T2 - как установить Fedora Linux на MacBook Pro 2019 с чипом Apple T2 Security Chip - пошагово: от отключения Secure Boot и разметки диска до настройки ядра и активации Wi-Fi, Bluetooth, звука, тачпада и других компонентов.

Хватит кормить облака: переезд пет-проектов на старый ThinkPad с разбитым экраном - о том, как автор перенёс свои pet-проекты с облачного хостинга на старый списанный ноутбук - фактически превратив его в домашний сервер с Linux + Docker + Cloudflare Tunnel + Traefik - чтобы сэкономить на хостинге, и делится плюсами и проблемами такого DIY-решения.

#подборка_статей_Linux
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4
Forwarded from Хабр Новости
В начале декабря 2025 года Linux 6.18 официально стал выпуском ядра с долгосрочной поддержкой (LTS) — до декабря 2027 года.

#ОС #разработка
👍1
Викторина «Linux или боль» завершена 🔥

Если ты набрал:
8–10 - ты человек, который однажды забудет пароль root, но всё равно зайдёт через initramfs.
5–7 - у тебя устойчивость к боли. Ты ещё вернёшься.
0–4 - ты или джун, или уже слишком опытный, чтобы снова страдать.
Напиши свой результат в комментариях.

И выбери, какую следующую линукс-викторину запускать:
«Найди ошибку в bash-скрипте»
«Угадай, какой сервис упал»
«Сетевой Linux: выживет только один»
Please open Telegram to view this post
VIEW IN TELEGRAM
5
📱 Новая подборка статей по Линуксу

🟢Алиас в помощь - начинающим линуксоидам о такой интересной возможности, как использование алиасов.

🟢 Собираем Linux, который весит меньше, чем мем с котиком, ну или почти… - как собрать максимально лёгкую минималистичную сборку Linux так, что система будет занимать минимум места и станет отличным упражнением для изучения работы ОС «с нуля».

🟢 Мониторинг в Linux на уровне ядра. Краткое практическое введение в eBPF+Cilium - короткий гайд по работе с eBPF с уклоном в практику.

🟢 Автоматизация рутинных задач на VPS с помощью cron и скриптов - как автоматизировать рутинные задачи на Linux-сервере при помощи cron и немного с помощью скриптов.

#подборка_статей_Linux
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥52
📱 Подборка статей по Linux вам на изучение

🔵6 Docker-фич для продвинутого использования. Часть 2 - про инструменты, которые помогают анализировать, оптимизировать и улучшать контейнерные образы и процессы их использования.

🔵Два режима SPEC: разгоняемся на Peak, притормаживаем на Base - статья объясняет различие двух режимов бенчмарков SPEC CPU - Base и Peak, рассказывает, как они отличаются ограничениями на оптимизации при измерении производительности и для чего оба режима используются при оценке скорости и возможностей систем.

🔵Android-смартфон как веб-камера под Linux - как быстро и бесплатно превратить Android-смартфон в полноценную веб-камеру для Linux.

🔵Я установил k3s на Arch, чтобы вам не пришлось - полное руководство по ручной установке с реальными командами и решениями.

#подборка_статей_Linux
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥1
Что на самом деле делает kill -0 <PID> и почему это один из самых недооценённых приёмов в Linux

Что делает kill -0 <PID>?

Проверяет, существует ли процесс и можно ли к нему обращаться сигналами - при этом не посылает никакого сигнала.

Это просто тест на доступность процесса.

Почему это важно?

Потому что иногда нужно узнать:
⚪️ жив ли процесс?
⚪️ есть ли права взаимодействовать с ним?
⚪️ не “повис” ли PID после падения?
⚪️ стоит ли перезапускать сервис или это ложная тревога?

И всё это - без риска его случайно убить.

Как это работает?

Команда
kill -0 <PID>  

делает системный вызов kill(), но с “нулевым” сигналом.
Нулевой сигнал - это не сигнал. Это проверка.

Возможные результаты:

⚪️Выходит без ошибки → процесс существует, доступен, жив.
⚪️ESRCH → процесса с таким PID нет.
⚪️EPERM → процесс есть, но нет прав для сигналов.

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

Где используют kill -0 в реальной работе

1. В health-check скриптах
Перед тем как перезапустить сервис, проверяют, жив ли текущий PID.

2. В init-скриптах systemd и supervisord
Чтобы не запустить дублирующие процессы.

3. В CI/CD пайплайнах
Для проверки зависших тестов или фоновых задач.

4. В мониторинге
Zabbix, Prometheus exporters, cron - все любят быструю проверку на существование процесса.

Почему не стоит игнорировать этот приём

Это очень безопасный, надёжный и почти бесплатный способ понять текущее состояние процесса без взаимодействия с ним.
ps, pgrep, pidof - полезны, но kill -0 проверяет ещё и права, что особенно критично в мультипользовательских системах и контейнерах.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16👎2