Есть ли в Unix способ увидеть самые большие каталоги на диске?
Мне нужно знать, почему я почти закончил с пространством на сервере, и я не знаю, где используется большая часть пространства ..
Спасибо
Пытаться: du --max-depth=7 /* | sort -n
- он не просто сообщит вам каталоги и будут дубликаты, но он перечислит все на 7 уровней и отсортирует их по размеру.
Мой любимый инструмент для этой задачи - ncdu.
Я предлагаю вам использовать баобаб, который даст вам графический обзор использования вашего диска. Его также можно использовать для удаленной папки (через ssh, ftp, ...), например, для сканирования использования диска на удаленном сервере.
Редактировать: Если вы хотите исследовать использование диска непосредственно на сервере с доступом к вашей оболочке, а не удаленно, и вам нужен инструмент более удобный, чем du
, вы также можете попробовать дюреп который создаст отчет об использовании диска с гистограммами.
Обычно я использую что-то вроде этого:
du -ch / | sort
Вы можете применить ограничение глубины с помощью --max-depth =, если вы не хотите видеть дальше определенного уровня от вашей цели, например:
du -ch --max-depth=4 /
Пытаться df
& du -sh /
. И рекурсивно du -sh
. Но не лучшее решение.
Что-то вроде
sudo du / | sort -n
Дам вам быстрый ответ (последние записи - это самые большие файлы / каталоги)
# cd /; du -shb | sort -nr > /root/home/disk-space-report.txt
Я всегда использую синтаксис вроде
du -sm --max-depth=4 /path/i/want/to/drill | sort -nr | head -n 20
.
Параметры max-depth и head, конечно, могут варьироваться, но в приведенном выше списке перечислены 20 самых больших каталогов.
Я регулярно бегаю du -dak > du-dak.out
в верхней части каждой файловой системы. Затем я могу получить графический дисплей с xdu < du-dak.out
. Это можно сделать удаленно после передачи файла du-dak.out по сети, если у вас есть только текстовый доступ.