Иногда вам нужно понять, какая программа грузит диск, но
iotop показывает нули или половину правды. Есть скрытый системный счётчик, который даёт гораздо более точную картину — прямой просмотр I/O активности процессов через
/proc.Вот супер-полезный трюк:
grep -r . /proc/*/io 2>/dev/null | grep -E "read_bytes|write_bytes"
``
Что это показывает:
- real-time количество байтов, прочитанных процессом
- реальную запись на диск (даже если она буферизована)
- даже те процессы, которые iotop не показывает из-за прав или специфики I/O
Если хотите увидеть топ процессов по I/O — вот более наглядная команда:
```bash
for p in /proc/[0-9]*/io; do
pid=${p#/proc/}; pid=${pid%/io}
rb=$(grep read_bytes $p | awk '{print $2}')
wb=$(grep write_bytes $p | awk '{print $2}')
echo "$pid $rb $wb"
done | sort -k2 -nr | head
Она выводит:
- PID
- total read_bytes
- total write_bytes
и сортирует по самым «прожорливым» процессам.
Полезно, когда:
- диск “тормозит”, но виновник не виден
- iotop пустой из-за отсутствия kernel-трассировки
- скрытый сервис, демон или контейнер делает неожиданные операции
- нужно профильнуть I/O на проде без установки дополнительных инструментов
Это один из самых достоверных способов увидеть настоящую картину дисковой активности в Linux — прямо из ядра.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍28❤9
⚡️ Быстрый совет по Linux
Работаете с CSV в терминале? Сделайте вывод читабельным одной командой:
-s , указывает использовать запятую как разделитель
-t выравнивает данные в виде аккуратной таблицы
Идеально для быстрого просмотра данных без открытия таблиц или Excel
Работаете с CSV в терминале? Сделайте вывод читабельным одной командой:
cat inventory.csv | column -t -s ,
-s , указывает использовать запятую как разделитель
-t выравнивает данные в виде аккуратной таблицы
Идеально для быстрого просмотра данных без открытия таблиц или Excel
🔥23❤7👍3
Хитрая и полезная консольная фишка 🐧💡
Если хочешь быстро повторить последнюю команду, но с небольшой правкой, не нужно заново её печатать.
Используй:
fc
Эта команда откроет последнюю введённую команду в твоём $EDITOR (обычно nano или vim).
Исправляешь, сохраняешь — и она автоматически выполняется.
Пример:
1. Ты написал команду с ошибкой
2. Вводишь
3. Правишь одну букву
4. Сохраняешь
5. Команда запускается сразу с исправлением
Очень удобно, когда работаешь с длинными командами, которые сложно повторять вручную.
Изучи Linux глубже - такая магия сильно экономит время
Если хочешь быстро повторить последнюю команду, но с небольшой правкой, не нужно заново её печатать.
Используй:
fc
Эта команда откроет последнюю введённую команду в твоём $EDITOR (обычно nano или vim).
Исправляешь, сохраняешь — и она автоматически выполняется.
Пример:
1. Ты написал команду с ошибкой
2. Вводишь
fc 3. Правишь одну букву
4. Сохраняешь
5. Команда запускается сразу с исправлением
Очень удобно, когда работаешь с длинными командами, которые сложно повторять вручную.
Изучи Linux глубже - такая магия сильно экономит время
❤21👍19🔥8
This media is not supported in your browser
VIEW IN TELEGRAM
🔴 LINUX: НЕ ДЕЛАЙ ЭТУ ОШИБКУ!!!
Самая частая ошибка в Linux - запуск команд без понимания, под каким пользователем они реально выполняются. Многие уверены, что раз они используют sudo, то команда точно пойдёт с root-правами, но это не всегда так. Особенно когда дело касается переменных окружения, путей или редиректов — они могут выполняться от имени обычного пользователя и ломать логику скриптов. Всегда проверяйте, кто исполняет команду, прежде чем отлаживать «мистические» баги. Подписывайся, больше фишек каждый день !
Самая частая ошибка в Linux - запуск команд без понимания, под каким пользователем они реально выполняются. Многие уверены, что раз они используют sudo, то команда точно пойдёт с root-правами, но это не всегда так. Особенно когда дело касается переменных окружения, путей или редиректов — они могут выполняться от имени обычного пользователя и ломать логику скриптов. Всегда проверяйте, кто исполняет команду, прежде чем отлаживать «мистические» баги. Подписывайся, больше фишек каждый день !
# Проверяем контекст выполнения
whoami
sudo whoami
# Проблема с редиректом:
echo "data" > /root/test.txt # Ошибка: выполняется не от root
sudo echo "data" > /root/test.txt # Всё ещё ошибка
sudo sh -c 'echo "data" > /root/test.txt' # Правильно
# Проверка переменных окружения
echo $PATH
sudo echo $PATH
sudo -E env | grep PATH
👍27❤8🔥4🗿4
⚙️ Полезный Linux-совет: быстро найти, что занимает диск
Когда место на сервере внезапно заканчивается, большинство начинают вручную копать по папкам. Но есть команда, которая сразу покажет, что съедает пространство.
Используй:
du -h --max-depth=1 | sort -h
- du — показывает размер директорий
- -h — вывод в человекочитаемом формате (GB/MB)
- --max-depth=1 — только текущий уровень вложенности
- sort -h — сортировка по размеру
Хочешь сразу смотреть за корень ФС?
sudo du -h / --max-depth=1 | sort -h
Так моментально видно, где «раздулось» — логи, кеши, временные файлы или база данных.
Сэкономишь кучу времени на поиске виновника переполненного диска.
Когда место на сервере внезапно заканчивается, большинство начинают вручную копать по папкам. Но есть команда, которая сразу покажет, что съедает пространство.
Используй:
du -h --max-depth=1 | sort -h
- du — показывает размер директорий
- -h — вывод в человекочитаемом формате (GB/MB)
- --max-depth=1 — только текущий уровень вложенности
- sort -h — сортировка по размеру
Хочешь сразу смотреть за корень ФС?
sudo du -h / --max-depth=1 | sort -h
Так моментально видно, где «раздулось» — логи, кеши, временные файлы или база данных.
Сэкономишь кучу времени на поиске виновника переполненного диска.
👍31❤12🔥8
⚡️ Полное руководство по Bash: от основ к продвинутым темам
Bash (Bourne Again SHell) — это одна из самых популярных Unix-оболочек, широко используемая для запуска команд и написания скриптов в Linux и macOS.
Скрипты Bash позволяют автоматизировать рутинные задачи, объединять команды в программы и управлять системой через командную строку.
Данное руководство последовательно познакомит вас с основами Bash (синтаксис, переменные, условия, циклы и т.д.), а затем перейдет к продвинутым возможностям (таким как настройка strict mode, использование trap-обработчиков, планирование задач через cron и др.). Мы рассмотрим практические примеры скриптов, сопровождая их поясняющими комментариями, чтобы у вас сложилось цельное понимание создания надежных Bash-скриптов.
https://uproger.com/polnoe-rukovodstvo-po-bash-ot-osnov-k-prodvinutym-temam/
Видео: https://www.youtube.com/watch?v=ei0a1TT4ukU
Bash (Bourne Again SHell) — это одна из самых популярных Unix-оболочек, широко используемая для запуска команд и написания скриптов в Linux и macOS.
Скрипты Bash позволяют автоматизировать рутинные задачи, объединять команды в программы и управлять системой через командную строку.
Данное руководство последовательно познакомит вас с основами Bash (синтаксис, переменные, условия, циклы и т.д.), а затем перейдет к продвинутым возможностям (таким как настройка strict mode, использование trap-обработчиков, планирование задач через cron и др.). Мы рассмотрим практические примеры скриптов, сопровождая их поясняющими комментариями, чтобы у вас сложилось цельное понимание создания надежных Bash-скриптов.
https://uproger.com/polnoe-rukovodstvo-po-bash-ot-osnov-k-prodvinutym-temam/
Видео: https://www.youtube.com/watch?v=ei0a1TT4ukU
🔥13❤10👍4
🔥 Мониторинг нагрузки на сервер
Иногда нужно быстро понять, какие процессы сильнее всего нагружают систему. Этот скрипт выводит топ-5 «прожорливых» процессов по CPU и RAM 🖥️
📌 Как использовать:
1. Сохраните в файл, например
2. Сделайте исполняемым:
3. Запускайте при необходимости:
Так вы всегда будете видеть, что больше всего грузит ваш сервер 🚀
Иногда нужно быстро понять, какие процессы сильнее всего нагружают систему. Этот скрипт выводит топ-5 «прожорливых» процессов по CPU и RAM 🖥️
#!/bin/bash
# автор: https://xn--r1a.website/bash_srv
echo "=== Топ-5 процессов по CPU ==="
ps -eo pid,ppid,cmd,%cpu --sort=-%cpu | head -n 6
echo ""
echo "=== Топ-5 процессов по RAM ==="
ps -eo pid,ppid,cmd,%mem --sort=-%mem | head -n 6
📌 Как использовать:
1. Сохраните в файл, например
top_procs.sh2. Сделайте исполняемым:
chmod +x top_procs.sh
3. Запускайте при необходимости:
./top_procs.sh
Так вы всегда будете видеть, что больше всего грузит ваш сервер 🚀
❤15👍9🔥4
Профессионал по информационной безопасности раскрывает скрытые механики Bash - в виде наглядных картинок и коротких, максимально понятных разборов у себя в тг канале.
Это самый простой и быстрый способ перейти от «умею вводить команды» к настоящей профессиональной работе с командной строкой.
- Без воды.
- Без лишней теории.
Только практические приёмы, которые реально используют инженеры и специалисты по безопасности.
Если хочешь уверенно владеть Bash - здесь ты получишь всё, что нужно: t.me/bashmastter
Please open Telegram to view this post
VIEW IN TELEGRAM
❤14👎4👍3🔥3🤔1💅1
В Bash есть особенная ловушка DEBUG - она срабатывает перед выполнением каждой строки и позволяет «пошагово» проходить скрипт. Фактически это интерактивный step-through прямо в терминале.
В отличие от sh -x, который просто печатает команды, DEBUG даёт контроль: можно посмотреть строку, решить - выполнять её или нет, и лучше понять, как ведёт себя скрипт.
DEBUG - не настоящий сигнал, а псевдосигнал, который Bash вызывает перед каждой строкой. Есть и другие похожие механизмы:
EXIT - вызывается перед завершением скрипта
RETURN - срабатывает при выходе из функции или при source
ERR - ловит ошибки при set -e
Отличный способ разбираться с запутанными скриптами и находить неожиданные места.
В Bash есть особенная ловушка DEBUG - она срабатывает перед выполнением каждой строки и позволяет «пошагово» проходить скрипт. Фактически это интерактивный step-through прямо в терминале.
В отличие от sh -x, который просто печатает команды, DEBUG даёт контроль: можно посмотреть строку, решить - выполнять её или нет, и лучше понять, как ведёт себя скрипт.
DEBUG - не настоящий сигнал, а псевдосигнал, который Bash вызывает перед каждой строкой. Есть и другие похожие механизмы:
EXIT - вызывается перед завершением скрипта
RETURN - срабатывает при выходе из функции или при source
ERR - ловит ошибки при set -e
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤6🔥4👻2
Хитрый трюк оптимизации в Linux:
Хочешь моментально ускорить работу утилит, которые по умолчанию читают огромные директории, но тебе нужно лишь немного данных?
Используй переменную окружения LC_ALL=C, чтобы отключить локализацию и заставить системные вызовы работать быстрее:
Локализованные операции требуют дополнительных вычислений (сравнение строк по правилам языка, раскодировка символов, сортировка с учётом алфавита).
Режим C-locale делает всё максимально прямолинейно и быстро.
На больших логах, сортировках и файловых списках ускорение бывает несколькократным.
Хочешь моментально ускорить работу утилит, которые по умолчанию читают огромные директории, но тебе нужно лишь немного данных?
Используй переменную окружения LC_ALL=C, чтобы отключить локализацию и заставить системные вызовы работать быстрее:
$ LC_ALL=C ls -l
$ LC_ALL=C sort bigfile.txt
$ LC_ALL=C grep "pattern" huge_logs.txt
Локализованные операции требуют дополнительных вычислений (сравнение строк по правилам языка, раскодировка символов, сортировка с учётом алфавита).
Режим C-locale делает всё максимально прямолинейно и быстро.
На больших логах, сортировках и файловых списках ускорение бывает несколькократным.
👍21❤7🔥1
Выпуск дистрибутива Rocky Linux 10.1
Доступен выпуск дистрибутива Rocky Linux 10.1, развивающего свободную сборку Red Hat Enterprise Linux, способную занять место классического CentOS. Дистрибутив бинарно совместим с Red Hat Enterprise Linux и может использоваться в качестве замены RHEL 10.1 и CentOS 10 Stream. Поддержка ветки Rocky Linux 10 будет осуществляться до 2035 года. Установочные iso-образы Rocky Linux подготовлены для архитектур x86-64-v3, aarch64, ppc64le (IBM POWER), s390x (IBM Z) и riscv64. Дополнительно предложены live-сборки с рабочими столами GNOME и KDE, опубликованные для архитектуры x86_64.
https://opennet.ru/64330/
Доступен выпуск дистрибутива Rocky Linux 10.1, развивающего свободную сборку Red Hat Enterprise Linux, способную занять место классического CentOS. Дистрибутив бинарно совместим с Red Hat Enterprise Linux и может использоваться в качестве замены RHEL 10.1 и CentOS 10 Stream. Поддержка ветки Rocky Linux 10 будет осуществляться до 2035 года. Установочные iso-образы Rocky Linux подготовлены для архитектур x86-64-v3, aarch64, ppc64le (IBM POWER), s390x (IBM Z) и riscv64. Дополнительно предложены live-сборки с рабочими столами GNOME и KDE, опубликованные для архитектуры x86_64.
https://opennet.ru/64330/
👍15❤8🔥6👎1
🛡️ SilentButDeadly: Блокировщик сетевых коммуникаций для EDR/AV
SilentButDeadly предназначен для нейтрализации EDR/AV программ, блокируя их сетевую активность с помощью Windows Filtering Platform. Он фокусируется на изоляции сети, не останавливая процессы, что позволяет проводить тестирование и анализ в контролируемой среде.
🚀Основные моменты:
- Блокирует сетевые коммуникации EDR, такие как SentinelOne и Windows Defender.
- Использует высокоприоритетные фильтры WFP для управления трафиком.
- Поддерживает администраторские привилегии для выполнения операций.
- Идеален для тестирования безопасности и анализа поведения EDR.
📌 GitHub: https://github.com/loosehose/SilentButDeadly
SilentButDeadly предназначен для нейтрализации EDR/AV программ, блокируя их сетевую активность с помощью Windows Filtering Platform. Он фокусируется на изоляции сети, не останавливая процессы, что позволяет проводить тестирование и анализ в контролируемой среде.
🚀Основные моменты:
- Блокирует сетевые коммуникации EDR, такие как SentinelOne и Windows Defender.
- Использует высокоприоритетные фильтры WFP для управления трафиком.
- Поддерживает администраторские привилегии для выполнения операций.
- Идеален для тестирования безопасности и анализа поведения EDR.
📌 GitHub: https://github.com/loosehose/SilentButDeadly
❤11🔥5👍3
Forwarded from Linux Books
🧩 Редкий, но очень полезный Linux совет, о котором знают далеко не все
Если хочешь понять, кто именно удерживает файл открытым и почему диск «занят», даже когда файл уже удалён, используй команду:
Это покажет процессы, которые держат открытые дескрипторы на удалённые файлы. Да, в Linux файл может продолжать занимать место на диске, даже если его стёрли, пока процесс не завершит работу.
Зачем это нужно
• помогает найти утечки логов
• решает проблему «диск заполнен, но где именно»
• спасает от внезапного out of space на проде
• позволяет не перезапускать весь сервер, а убить только нужный процесс
Масштабировать свой Linux скилл проще, когда понимаешь такие скрытые механики.
@linux_read
Если хочешь понять, кто именно удерживает файл открытым и почему диск «занят», даже когда файл уже удалён, используй команду:
lsof -a +L1Это покажет процессы, которые держат открытые дескрипторы на удалённые файлы. Да, в Linux файл может продолжать занимать место на диске, даже если его стёрли, пока процесс не завершит работу.
Зачем это нужно
• помогает найти утечки логов
• решает проблему «диск заполнен, но где именно»
• спасает от внезапного out of space на проде
• позволяет не перезапускать весь сервер, а убить только нужный процесс
Масштабировать свой Linux скилл проще, когда понимаешь такие скрытые механики.
@linux_read
🔥33❤10👍6
Имя файла не связано с его данными. Все данные лежат в блоках на диске. Файл представлен inode - структурой, где хранятся ссылки на блоки, права, владелец и размер.
Каталог - это просто список соответствий: имя → inode.
cp:
- создаёт новый inode
- копирует все блоки данных
- фактически дублирует файл
mv (в пределах одного файлового системы):
- меняет запись в каталоге
- inode и блоки остаются прежними
- никаких данных не перемещается
Это не переезд дома, а смена адреса в записной книжке.
Примечание: mv между разными файловыми системами копирует данные полностью.
@linuxacademiya
Please open Telegram to view this post
VIEW IN TELEGRAM
👍30❤18🥰2👻1