Comment analyser l'utilisation du disque dans linux en ligne de commande?

99

duet dfsont gentils, mais je ne sais pas comment filtrer les données qu’ils fournissent comme je le fais avec SequoiaView . Je voudrais savoir quels sont les plus gros dossiers et les plus gros fichiers en un coup d’œil.

Jader Dias
la source
Avez-vous déterminé ncdu?
SDsolar

Réponses:

141

Vous pouvez également essayer l' utilisation du disque NCurses aka ncdu.

Utilisez-le comme ncdu -x -qsi vous l'invoquiez à distance (par exemple via ssh) et ncdu -xautrement.

ncdu 1.6 ~ Use the arrow keys to navigate, press ? for help
    --- /home/geek -----------------------------------------------------------------
       27.6MiB  /qm test 1 rework
      312.0kiB  /sidebar
       88.0kiB  /rackerhacker-MySQLTuner-perl-6add618
        8.0kiB  /.w3m
        4.0kiB  /.cache
    e   4.0kiB  /.ssh
      160.0kiB   ng.tar.gz
       76.0kiB   plowshare_1~svn1673-1_all.deb
        4.0kiB   .bashrc
        4.0kiB   .bash_history
        4.0kiB   .profile
        4.0kiB   .htoprc
        4.0kiB   .bash_logout
        0.0  B   .lesshst

Ceci est également disponible sous Mac OS X.

Les indicateurs suivants sur la ligne de commande peuvent être utiles:

-q Quiet mode, doesn't update the screen 10 times a second
   while scanning, reduces network bandwidth used

-x Don't cross filesystem borders (don't descend into a
   directory which is a mounted disk)

Merci à Sorin Sbarnea.

heinrich5991
la source
1
Disponible également sous OS X, via infusion. Ce peut être une bonne idée de l'appeler en utilisantncdu -x -q
sorin
1
impressionnant! la meilleure option pour moi était ncdu -q, même en ssh.
Valter Silva
46

Utilisez une combinaison des commandes et des options:

du --max-depth=1 2> /dev/null | sort -n -r | head -n20

pour ne voir que les plus grands. Si vous souhaitez l’utiliser beaucoup, associez-le à un alias, par exemple en bash en ajoutant à ~ / .bashrc

alias largest='du --max-depth=1 2> /dev/null | sort -n -r | head -n20'
Jaap Eldering
la source
2
Pour afficher le plus grand nombre, vous avez besoin de l' -roption de tri.
RedGrittyBrick
1
J'ai soumis la suggestion de @RedGrittyBrick et une redirection d'erreur en /dev/nulltant que sujet à modifier.
Jader Dias
Je voudrais aussi utiliser l' du -Hoption, mais ça casse le sortcomportement
Jader Dias
2
@jumpnett: il redirige standard error(dans ce cas dans le trou noir qui est /dev/null).
Jaap Eldering
3
Vous pouvez utiliser sort -hpour trier les valeurs avec des suffixes lisibles par l'homme.
allo
4

Vous voulez probablement xdu.

du -ax | xdu -n

Il y a aussi le plus sophistiqué Filelight basé sur KDE .

Nounours
la source
3

J'utilise habituellement

du -hsc * | sort -h

Que signifie chaque option pour du:

  • h: tailles d'affichage en format lisible par l'homme (1K, 1M, 1G, ...)
  • s: resume: affiche uniquement un total pour chaque argument
  • c: affiche également un total général

L' -hoption sur sortpermet de comprendre le -hformat (lisible par l'homme) du. Cette option étant relativement nouvelle sort, votre système ne la prend peut-être pas en charge et vous oblige à l'utiliser du -sc | sort -n.

Si vous le faites sur une machine distante et que le processus prend beaucoup de temps, vous voudrez probablement exécuter ce processus en arrière-plan ou à l'intérieur d'un système screensimilaire afin d'éviter une perte de connexion.

emi
la source
3

Je voudrais recommander dutree , qui offre une visualisation hiérarchique.

Vous pouvez sélectionner plus ou moins de niveaux de détail et exclure les chemins pour un meilleur contrôle de la visualisation. Vous pouvez également comparer différents chemins.

entrez la description de l'image ici

Il est implémenté à Rust, rapide et efficace.

$ dutree -h
Usage: dutree [options] <path> [<path>..]

Options:
    -d, --depth [DEPTH] show directories up to depth N (def 1)
    -a, --aggr [N[KMG]] aggregate smaller than N B/KiB/MiB/GiB (def 1M)
    -s, --summary       equivalent to -da, or -d1 -a1M
    -u, --usage         report real disk usage instead of file size
    -b, --bytes         print sizes in bytes
    -f, --files-only    skip directories for a fast local overview
    -x, --exclude NAME  exclude matching files or directories
    -H, --no-hidden     exclude hidden files
    -A, --ascii         ASCII characters only, no colors
    -h, --help          show help
    -v, --version       print version number
nachoparker
la source
1
du -h 2> /dev/null | sort -hr | head -n20

du -h donne une estimation lisible par l'homme de l'espace disque avec un total de
2> / dev / null supprime les erreurs telles que l'accès en lecture refusé
sort -hr trie la taille du fichier lisible par l'homme dans l'ordre inverse
head -n20 réduit la liste à 20

Sachez que l'accès en lecture aux répertoires et fichiers refusés est exclu

DB
la source