⚙️ Полезный 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
🔥32❤10👍6
Имя файла не связано с его данными. Все данные лежат в блоках на диске. Файл представлен inode - структурой, где хранятся ссылки на блоки, права, владелец и размер.
Каталог - это просто список соответствий: имя → inode.
cp:
- создаёт новый inode
- копирует все блоки данных
- фактически дублирует файл
mv (в пределах одного файлового системы):
- меняет запись в каталоге
- inode и блоки остаются прежними
- никаких данных не перемещается
Это не переезд дома, а смена адреса в записной книжке.
Примечание: mv между разными файловыми системами копирует данные полностью.
@linuxacademiya
Please open Telegram to view this post
VIEW IN TELEGRAM
👍30❤18🥰2👻1
Что такое /dev/null и почему туда направляют данные?
Если вы активно работаете в командной строке, то, вероятно, использовали файл /dev/null для следующих целей:
1️⃣ Убрать из вывода всю ненужную инфу (предупреждения, ошибки и т.д.):
2️⃣ Передать утилите пустой ресурс в качестве аргумента. Делаться это может с целью исключения пользовательских и системных конфигов и применения дефолтных настроек на стороне программы:
3️⃣ Полностью очистить файл:
❓ Окей, принято, а чем является этот самый /dev/null?
В сущности - это cимвольное псевдо-устройство, которое создается на этапе запуска системы и работает с потоками данных:
О типе устройства говорит первый бит режима файла -
Ресурс удаляет все записанное в него и возвращает при чтении EOF (End of File). Когда мы взаимодействуем с /dev/null, неявно отрабатывает специальный драйвер ядра, в который и зашита логика.
Если интересно, можно порыться в исходниках с реализацией: drivers/char/mem.c. Код имеет отношение не только к /dev/null, но и к другим символьным устройствам.
Развернем более подробную информацию:
Этот вывод показывает, что файл имеет размер 0 байт, для него выделено 0 блоков на диске, дата создания = дата запуска системы:
Права доступа установлены таким образом, что любой может читать и записывать в него, но никто не может его выполнять:
Поскольку файл не исполняемый, мы не можем использовать конвейер
Если вы активно работаете в командной строке, то, вероятно, использовали файл /dev/null для следующих целей:
$ find / -name "*.conf" 2>/dev/null
$ picom --config /dev/null
$ cat /dev/null > bigfile
В сущности - это cимвольное псевдо-устройство, которое создается на этапе запуска системы и работает с потоками данных:
$ ls -l
crw-rw-rw- 1 root root 1, 3 Sep 6 08:37 null
О типе устройства говорит первый бит режима файла -
c "character". Ресурс удаляет все записанное в него и возвращает при чтении EOF (End of File). Когда мы взаимодействуем с /dev/null, неявно отрабатывает специальный драйвер ядра, в который и зашита логика.
Если интересно, можно порыться в исходниках с реализацией: drivers/char/mem.c. Код имеет отношение не только к /dev/null, но и к другим символьным устройствам.
Развернем более подробную информацию:
$ stat /dev/null
File: /dev/null
Size: 0 Blocks: 0 IO Block: 4096 character special file
Access: (0666/crw-rw-rw-) Uid: (0/ root) Gid: (0/ root)
Access: 2025-01-25 14:42:20.101000002 +0300
...
Этот вывод показывает, что файл имеет размер 0 байт, для него выделено 0 блоков на диске, дата создания = дата запуска системы:
$ who -b
system boot 2025-01-25 14:42
Права доступа установлены таким образом, что любой может читать и записывать в него, но никто не может его выполнять:
$ echo hello | /dev/null
-bash2: /dev/null: Permission denied
Поскольку файл не исполняемый, мы не можем использовать конвейер
|. Единственный способ — использовать перенаправление файлов >, >>.Please open Telegram to view this post
VIEW IN TELEGRAM
❤23👌7👍5🔥2🤔1
🕷️ Venom C2: Легкий C2 фреймворк для красной команды
Venom C2 — это беззависимый фреймворк на Python3 для управления и контроля, созданный для работы на системах без установки дополнительных пакетов. Он включает сервер на Flask, GUI на Electron и одностраничный агент, который использует AES-шифрование для безопасной передачи данных.
🚀 Основные моменты:
- Беззависимый Python3 агент для управления системами
- Поддержка нескольких операторов через Flask сервер
- AES-шифрование сообщений для безопасности
- GUI на Electron для удобного управления
- Автоматизированная обфускация для обхода EDR
📌 GitHub: https://github.com/boku7/venom
#python
Venom C2 — это беззависимый фреймворк на Python3 для управления и контроля, созданный для работы на системах без установки дополнительных пакетов. Он включает сервер на Flask, GUI на Electron и одностраничный агент, который использует AES-шифрование для безопасной передачи данных.
🚀 Основные моменты:
- Беззависимый Python3 агент для управления системами
- Поддержка нескольких операторов через Flask сервер
- AES-шифрование сообщений для безопасности
- GUI на Electron для удобного управления
- Автоматизированная обфускация для обхода EDR
📌 GitHub: https://github.com/boku7/venom
#python
🤷♀9👍8❤5🔥4👎1🥴1
В часовом видео Линус Торвальдс вместе с Линусом Себастьяном собрали «идеальную машину» под Linux и обсудили нюансы разработки ядра. Получился редкий взгляд на то, каким железом пользуется создатель Linux.
Выбор комплектующих:
- AMD Ryzen Threadripper 9960X
- Intel Arc B580
- материнская плата GIGABYTE TRX50 AERO D
- SSD Samsung 9100 PRO 2 TB
- кулер Noctua NH-U14S TR5-SP6
- монитор Asus ProArt PA32QCV (31.5", 6K HDR)
Из дистрибутивов Торвальдс по-прежнему отдаёт предпочтение Fedora.
Видео получилось живым и информативным — отличный вариант для просмотра вечером.
https://www.youtube.com/watch?v=mfv0V1SxbNA
Please open Telegram to view this post
VIEW IN TELEGRAM
❤42🥴10🔥3🙈3