J'ai un serveur Linux, qui a actuellement moins d'espace utilisé:
/dev/sda3 20G 15G 4.2G 78% /
/dev/sda6 68G 42G 23G 65% /u01
/dev/sda2 30G 7.4G 21G 27% /opt
/dev/sda1 99M 19M 76M 20% /boot
tmpfs 48G 8.2G 39G 18% /dev/shm
Comme vous pouvez le voir. /
est à 78%. Je veux vérifier quels fichiers ou dossiers consomment de l'espace.
J'ai essayé ceci:
find . -type d -size +100M
Ce qui montre un résultat comme ceci:
./u01/app/june01.dbf
./u01/app/temp01.dbf
./u01/app/smprd501.dbf
./home/abhishek/centos.iso
./home/abhishek/filegroup128.jar
Maintenant, c'est mon problème. Je veux uniquement le nom de ces fichiers situés dans des dossiers qui consomment de l'espace à /
et pas à /u01
ou /home
. Depuis /
est la base de tout, il me montre tous les fichiers de mon serveur.
Est-il possible d'obtenir de gros fichiers qui contribuent à 78% de /
?
Essayer:
find / -xdev -type f -size +100M
Il répertorie tous les fichiers dont la taille est supérieure à 100M.
Si vous voulez connaître le répertoire, vous pouvez essayer ncdu
.
Si vous n'utilisez pas Linux, vous devrez peut-être utiliser -size +204800
ou -size +104857600c
, car le suffixe M
signifiant mégaoctets n'est pas dans POSIX.
find / -xdev -type f -size +102400000c
En plus de la réponse @Gnouc, vous pouvez également ajouter ls -la
pour obtenir plus de détails. Tu aurais dû Sudo privileges
pour faire ça .
$ find / -xdev -type f -size +100M -exec ls -la {} \; | sort -nk 5
Pour ne voir que les fichiers qui se trouvent dans le gigbyte, procédez comme suit:
root# du -ahx / | grep -E '\d+G\s+'
1.8G /.Spotlight-V100/Store-V2/A960D58E-A644-4497-B3C1-866A529BF919
1.8G /.Spotlight-V100/Store-V2
La commande suivante vous trouve non seulement les 50 fichiers les plus volumineux (> 100M) sur votre système de fichiers, mais trie également (GNU sort
) par les plus grands:
find / -xdev -type f -size +100M -exec du -sh {} ';' | sort -rh | head -n50
-xdev
Ne descendez pas de répertoires sur d'autres systèmes de fichiers.Sur BSD
find
utilisez-x
ce qui équivaut à la version obsolète-xdev
primaire.
Pour tous les fichiers et répertoires, c'est encore plus simple:
du -ahx / | sort -rh | head -20
(le -x
flag est ce qui est nécessaire pour contraindre du
à un seul système de fichiers)
Si vous n'utilisez pas GNU sort
(from coreutils
), utilisez-le sans -h
:
du -ax / | sort -rn | head -20
Pour le répertoire actuel uniquement (pour des résultats plus rapides), remplacez /
avec .
.