У нас есть следующие тома:
$ df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 3.8G 0 3.8G 0% /dev
tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs 3.9G 377M 3.5G 10% /run
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/mapper/rhel-root 13G 12G 1.3G 91% /
/dev/sda1 1014M 274M 741M 27% /boot
/dev/mapper/vg_data1-lv_www1 25G 18G 8.0G 69% /var/www
/dev/mapper/vg_data1-lv_mysql 8.0G 6.5G 1.6G 81% /var/lib/mysql
/dev/mapper/vg_data1-lv_logs1 5.0G 3.4G 1.7G 68% /var/log
10.40.33.40:/var/www/html/mnt 35G 23G 13G 65% /var/www/html/mnt
tmpfs 781M 0 781M 0% /run/user/1000
Так объем /dev/mapper/rhel-root
использует 91% памяти. Теперь я хотел бы узнать, где больше всего данных /
, но только в том объеме, а не во всем. Могу ли я сделать это как-нибудь легко? Я бы хотел сделать что-то вроде du -sch /dev/mapper/rhel-root/*
, то есть /
без /boot
, /var/www
, /var/lib/mysql
и так далее.
В конце концов, я хотел бы найти потенциально большие и ненужные (забытые) файлы, которые занимают место в томе. /dev/mapper/rhel-root
, так что я могу удалить их, если возможно.
Для меня одна из следующих команд решает цель:
дю -к | sort -n | perl -ne 'если (/ ^ (\ d +) \ s + (.$) /) {$ l = журнал ($ 1 + .1); $ m = int ($ l / журнал (1024)); printf ("% 6.1f \ t% s \ t% 25s% s \ n", ($ 1 / (2 ** (10$ m))), (("K", "M", "G", "T", "P") [$ m]), ""х (1,5$ 1), $ 2);} '
найти . -xdev -printf "% s% p \ n" | sort -nr | head -20
du -a / opt | sort -n -r | голова -n 30