web-dev-qa-db-fra.com

Recherche de tous les fichiers volumineux dans le système de fichiers racine

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 /?

136
Abhishek dot py

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
234
cuonglm

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
50
zee

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 ..

47
kenorb