summaryrefslogtreecommitdiff
path: root/LINUX/DISK/DF, DU.md
diff options
context:
space:
mode:
authorvlapa <vlapa@ya.ru>2026-06-13 20:33:26 +0300
committervlapa <vlapa@ya.ru>2026-06-13 20:33:26 +0300
commite5abc1fe99340b979b18864d978179f71fe8f5c5 (patch)
tree98fd0ad7c6d0744894d6e74e446daacd9e6dd1b5 /LINUX/DISK/DF, DU.md
First
Diffstat (limited to 'LINUX/DISK/DF, DU.md')
-rw-r--r--LINUX/DISK/DF, DU.md101
1 files changed, 101 insertions, 0 deletions
diff --git a/LINUX/DISK/DF, DU.md b/LINUX/DISK/DF, DU.md
new file mode 100644
index 0000000..a06b473
--- /dev/null
+++ b/LINUX/DISK/DF, DU.md
@@ -0,0 +1,101 @@
+мгновенно создать пустой файл, не используя touch:
+`>text.txt
+
+================================
+
+команда `du` дает вам возможность исключить файлы определенного типа при расчете размера каталога
+
+`du -h --exclude="*.txt" tutorials
+
+================================
+
+`df -help`
+`df -h` - размер и информация о дисках
+`df -i` - inode
+
+. du -help`
+`du -h` - размер директории
+`du -d1 / | sort -nr - с сортировкой по весу папки
+
+$ **du** **опции** **/путь/к/папке**
+
+А вот опции утилиты:
+
+_**-a, --all**_ - выводить размер для всех файлов, а не только для директорий, по умолчанию размер выводится только для папок;
+_**-B, --block-size**_ - указать единицы вывода размера, доступно: K,M,G,T,P,E,Z,Y для 1024 и KB, MB и так далее для 1000;
+_**-c, --total**_ - выводить в конце общий размер всех папок;
+_**-d, --max-depth**_ - максимальная глубина вложенности директорий;
+_**-h, --human-readable**_ - выводить размер в единицах измерения удобных для человека;
+_**--inodes**_ - выводить информацию об использованию inode;
+_**-L, --dereference**_ - следовать по всем символическим ссылкам;
+_**-l, --count-links**_ - учитывать размер файла несколько раз для жестких ссылок;
+_**-P, --no-dereference**_ - не следовать по символическим ссылкам, это поведение используется по умолчанию;
+_**-S, --separate-dirs**_ - не включать размер подпапок в размер папки;
+_**--si**_ - выводить размер файлов и папок в системе си, используется 1000 вместо 1024;
+_**-s, --summarize**_ - выводить только общий размер;
+_**-t, --threshold**_ - не учитывать файлы и папки с размером меньше указанного;
+_**--time**_ - отображать время последней модификации для файла или папки, вместо времени модификации можно выводить такие метки: atime, access, use, ctime;
+_**-X, --exclude**_ - исключить файлы из подсчёта;
+_**-x, --one-file-system**_ - пропускать примонтированные файловые системы;
+_**--version**_ - вывести версию утилиты.
+
+Здесь перечислены не все опции. Если вам надо больше, смотрите в:
+
+_**man du**_
+
+## Bash скрипт мониторинга свободного места в Linux
+
+Рассмотрим простой bash скрипт, для мониторинга дискового пространства на сервере и отправке email уведомления администратору, если места недостаточно.
+
+```sh
+#!/bin/bash
+CURRENT=$(df /dev/sdd5 | grep / | awk '{ print $5}' | sed 's/%//g)
+THRESHOLD=90
+if [ "$CURRENT" -gt "$THRESHOLD" ] ; then
+echo "Осталось слишком мало дискового пространства. Используется: $CURRENT%" | mail -s 'Заканчивается дисковое пространство !' -r home@server.ru vlapa@yandex.ru
+fi
+```
+
+При достижении заполняемости директории / до 90% к вам на почту будет отправляться уведомление. Добавьте данный скрипт в [cron](https://winitpro.ru/index.php/2020/04/21/planirovshhik-zadach-cron-v-linux/) и мониторьте вашу систему. Можно изменить скрипт, чтобы он смотрел за размером определенного раздела или каталога.
+
+===========================
+**du** — позволяет быстро и эффективно проанализировать использование дискового пространства, найти самые «тяжёлые» файлы и папки, чтобы освободить место.
+
+🟠 **Показать размер папки:**
+`du -sh /path/to/folder
+➡️ Выводит общий размер папки в удобном формате (МБ/ГБ).
+
+🟠 **Посмотреть размеры всех вложенных папок:**
+`du -h /path/to/folder
+➡️ Отлично подходит для поиска «тяжёлых» файлов.
+
+🟠 **Сортировка по размеру:**
+`du -h /path/to/folder | sort -h
+➡️ Самые большие файлы окажутся внизу списка.
+
+===========================
+**Быстрое удаление больших файлов в Linux**
+
+Когда на диске заканчивается место, полезно быстро находить и удалять самые "тяжелые" файлы. В Linux это можно сделать несколькими способами.
+
+**🟢 Найти файлы больше 1ГБ:**
+find / -type f -size +1G 2>/dev/null
+Отобразит файлы больше 1ГБ во всей системе.
+
+**🟢 Найти и удалить файлы больше 500МБ в указанной папке:**
+find /var/log -type f -size +500M -delete
+Удаляет файлы в /var/log, превышающие 500МБ.
+
+**🟢 Найти самые "тяжелые" каталоги:**
+du -ah / | sort -rh | head -10
+Выведет 10 самых больших файлов и папок.
+
+🗣 **Полезно для очистки места на сервере, анализа логов и удаления ненужных файлов.**
+
+===========================
+
+===========================
+
+===========================
+
+===========================