мгновенно создать пустой файл, не используя 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 самых больших файлов и папок. 🗣 **Полезно для очистки места на сервере, анализа логов и удаления ненужных файлов.** =========================== =========================== =========================== ===========================