Comment trouver les plus grands répertoires sous unix / Ubuntu?


34

Existe-t-il un moyen dans Unix de voir les plus gros répertoires sur disque?

J'ai besoin de savoir pourquoi j'ai presque fini avec l'espace sur le serveur, et je ne sais pas où la plus grande partie de l'espace est utilisée.

Merci



En voici un bon exemple: unix.stackexchange.com/questions/4681/… - il est dit d’utiliser du | sort -hpuis d’utiliser tail- ou, vous pouvez utiliser sort -rhpour que les plus grands soient au début et vous pouvez utiliser morepour le voir. Cela fonctionne très bien sur Ubuntu 16.04 LTS en août 2017.
SDsolar

Réponses:


54

Essayez: du --max-depth=7 /* | sort -n- il ne vous dira pas que les répertoires, il y aura des doublons, mais il listera tous les 7 niveaux et les triera par ordre de taille.


13
7 niveaux en même temps pourraient être écrasants. Je voudrais commencer par --max-depth=0(ou plutôt utiliser --summarize/ -s), puis explorer à la main les répertoires les plus volumineux.
Steven lundi

Bon point, il suffit de choisir ce nombre, car c’est à quelle distance je finis généralement par aller avant de trouver quelque chose d’utile.
James L

3
qu'en est-il du -cs * | sort -npour un aperçu de quel répertoire est le plus grand?
lorenzog

Je préfère:du -ch | sort -nr | head -10
Sklavit

47

Mon outil préféré pour cette tâche est ncdu .

exemple d'écran ncdu


3
Agréable. Cela fonctionne à peu près comme je le ferais à la main (avec du | sort), mais avec WAY moins de frappe.
Steven lundi

Ceci est vraiment mieux. installez simplement ncdu et tapez la commande ncdu sur le répertoire que vous souhaitez analyser, cela fonctionne très vite.
Jamol

6

Je vous suggère d'utiliser le baobab , qui vous donnera un aperçu graphique de votre utilisation du disque. Il peut également être utilisé pour les dossiers distants (via ssh, ftp, ...) pour analyser l'utilisation du disque sur un serveur distant, par exemple.

Edit: Si vous souhaitez étudier l’utilisation du disque directement sur le serveur avec votre accès shell et non à distance, et que vous souhaitez un outil plus pratique que celui-ci du, vous pouvez également essayer avec procédurep qui générera un rapport sur l’utilisation du disque. avec des graphiques à barres.


cool, mais je n'ai accès au shell que sur mon VPS (RAM faible)
aneuryzm

3

J'utilise habituellement quelque chose comme ça:

du -ch / | sort

Vous pouvez appliquer une restriction de profondeur en utilisant --max-depth = si vous ne voulez pas voir au-delà d'un certain niveau depuis votre cible, comme suit:

du -ch --max-depth=4 /

0

Essayez df& du -sh /. Et récursivement du -sh. Pas la meilleure solution cependant.


0

Quelque chose comme

sudo du / | trier -n

Vous donnera une réponse rapide (les dernières entrées sont des fichiers / répertoires volumineux)


2
Définir vite? D'après mon expérience, cela prend habituellement au moins 5 à 10 minutes.
James L

0

# cd /; du -shb | sort -nr > /root/home/disk-space-report.txt


0

J'utilise toujours la syntaxe comme

du -sm --max-depth=4 /path/i/want/to/drill | sort -nr | head -n 20.

Les paramètres de profondeur maximale et de tête peuvent varier, bien sûr, mais la liste ci-dessus énumérerait les 20 plus grands répertoires.


0

Je cours régulièrement du -dak > du-dak.outau sommet de chaque système de fichiers. Ensuite, je peux obtenir un affichage graphique avecxdu < du-dak.out . Cela peut être fait à distance après avoir transféré le fichier du-dak.out sur le réseau si vous ne disposez que d'un accès texte.

http://sd.wareonearth.com/~phil/xdu/

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.