59 votes

Comment trouver les plus grands répertoires ou les plus grands fichiers ?

Sous Linux, je cherche une commande permettant de lister le plus gros fichier et/ou les plus gros répertoires sous un répertoire.

1 votes

L'outil le plus utile que j'ai trouvé est xdiskusage ( xdiskusage.sourceforge.net ) Cela montre graphiquement où se trouvent les fichiers - par taille. Un outil formidable ! (et il fonctionne directement avec X11)

0 votes

En quoi cette question fait-elle double emploi avec une autre question qui a été classée comme hors sujet ? Cela n'a pas de sens.

0 votes

@jcoppens Veuillez poster une réponse, l'outil est très bon.

73voto

MikeD Points 141

Un utilitaire appelé ncdu vous donnera les informations que vous recherchez.

sudo apt-get install ncdu

Sur OS X, il peut être installé en utilisant Homebrew :

brew install ncdu

2 votes

+1 Je n'avais jamais entendu parler de celui-ci avant - il fonctionnait très bien sur le Mac aussi.

1 votes

C'est une solution beaucoup plus agréable que les deux réponses supérieures.

2 votes

C'est hallucinant. Suggérer ceci plutôt que toutes les autres réponses !

36voto

Peter Krumins Points 3365

La commande suivante vous montre un niveau de répertoires et leurs tailles

du --max-depth=1 /path | sort -r -k1,1n

Si l'un d'entre eux se démarque vraiment (le dernier de la liste est le plus important en raison de sort -r ), puis vous réexécutez la commande sur ce répertoire, et continuez jusqu'à ce que vous trouviez le répertoire/fichier incriminé.

Si tout ce que vous voulez c'est les dix plus gros fichiers, faites simplement

find /home -type f -exec du -s {} \; | sort -r -k1,1n | head

0 votes

Le plus grand nombre se retrouve en bas pour moi, peu importe si j'ajoute sort -r ou pas. Y a-t-il un moyen d'obtenir le plus grand nombre en haut ?

0 votes

Vous devez indiquer au tri la colonne par laquelle vous voulez le faire, et qu'elle est numérique (et non alphanumérique). C'est ce que ferait -k1,1rn. Par défaut, sort utilise un tri alphanumérique sur la première colonne.

0 votes

Oui, le tri se fait correctement avec cela, mais il se fait dans l'ordre croissant des chiffres les plus bas vers les plus hauts, peu importe si j'inclue sort o sort -r . Ai-je mal compris le fonctionnement de la fonction -r ? Je suppose que ce n'est pas un problème. Votre exemple est très utile et m'a permis d'obtenir l'information dont j'avais besoin.

26voto

Brent Worden Points 390

Depuis n'importe quel répertoire :

du -a | sort -n -r

3 votes

Cela montre les fichiers individuels, mais la question concerne également les répertoires.

0 votes

Du sans arguments résume l'utilisation du disque par les répertoires. du avec -a produit les mêmes informations sur les répertoires et inclut également l'utilisation du disque pour les fichiers individuels.

2 votes

On ne peut pas faire de tri quand on n'a plus d'espace :=(

6voto

Jiang Points 161

La commande suivante renvoie les 10 plus gros fichiers à partir d'un fichier donné. /path

du -a -h /path | sort -h -r | head -n 10

J'aime utiliser -h options pour la lisibilité. Les deux sites du y sort besoin d'avoir -h .

3voto

Sridharpp Points 39

du -sk * | sort -nr | head -1

Ceci montrera le plus grand répertoire/fichier dans un répertoire en KB. En changeant la valeur de head, vous obtiendrez les x premiers fichiers/répertoires.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X