Comment comprendre ce qui prend de l'espace disque?

86

Je cherche une alternative linux à WinDirStat . Je voudrais savoir ce qui prend de la place sur mes disques durs.

Un programme qui fonctionne sur la console et ne nécessite pas d'interface utilisateur est préférable.

ripper234
la source
ncduC’est ma réponse préférée, mais je vois dans la première réponse que vous rencontrez des problèmes qui ne figurent pas dans votre question.
SDsolar

Réponses:

74

Sur la base de vos problèmes dans l' installation ncdu ma recommandation serait d'utiliser duet sortensemble.

Par exemple:

  • du /home | sort -rn (va chercher tous les fichiers / répertoires sous / home et les trier par ordre croissant.
  • du -h /home | sort -rh(idem mais l'affichera en Mo / Ko / etc) - Notez que cela nécessite coreutils 7.5 ou plus récent ( sort --versionà vérifier)

Vous pouvez remplacer / home par n’importe quel répertoire de votre choix.

New Jersey
la source
C'est excellent, merci pour l'aide. Mon coreutils est 5,97 - est-ce pour cela que l'ordre de tri du -h n'est pas correct?
ripper234
Oui, vous devriez vous contenter de du /home | sort -rncoreutils 5.97 ou utiliser un peu de "magie" avec perl, etc., comme indiqué sur ServerFault ( serverfault.com/q/62411/60012 )
NJ
2
OTOH s'il y a un gros sous-sous-répertoire, sa masse affichera plusieurs fois le temps (pour ce répertoire et chaque répertoire parent) en haut des résultats, et IMHO qui détourne l'attention de la réalité. En utilisant "ncdu" suggéré ci-dessous pourrait aider avec ça, je vais l'essayer. =)
lapo le
2
Je trouve l’option -size de "trouver" utile aussi, car elle vous permet de trouver tous les fichiers d’un fichier. Au moins pour GNU find, vous pouvez faire quelque chose comme: "find. -Size + 100M" pour trouver des fichiers de plus de 100M sous le répertoire actuel.
Gabe.
89

Si vous voulez un outil en ligne de commande, je préfère ncdu , une version de ncurses de du. Il analyse le disque (ou un dossier donné), puis affiche les utilisations de l'espace de niveau supérieur. vous pouvez sélectionner un répertoire donné pour obtenir le résumé correspondant à ce répertoire, et revenir en arrière sans avoir à réanalyser:

Capture d'écran de ncdu


Si vous êtes d'accord avec un programme d'interface graphique, Filelight est ce que j'ai trouvé de plus proche de WinDirStat. il montre une vue graphique de la consommation d'espace:

Capture d'écran de Filelight

Comme ncdu, Filelight vous permet de sélectionner un répertoire donné pour obtenir la ventilation de ce répertoire.

Michael Mrozek
la source
4
Ne pensez-vous pas que QDirStat est plus proche de WinDirStat?
Janus Troelsen
39

Vous devez savoir que WinDirStat est en fait un port de KDirStat , qui est un programme Linux / KDE. Donc, si vous cherchez une alternative Linux à WinDirStat, vous devriez certainement jeter un coup d'œil à KDirStat . Il est déjà emballé dans la plupart des distributions, il suffit de l’installer.

Une autre alternative est FileLight, déjà cité par Michael Mrozek, et le plugin Konqueror fsview(vous pouvez l'exécuter de manière autonome à partir de la ligne de commande).

Juliano
la source
16
Wow, je n'ai jamais réalisé que (je suppose que "Win" dans le nom aurait dû être un cadeau). Un collègue m'a un jour demandé s'il existait une version Linux de WinSCP ; Je suis mort un peu plus
tard
3
@ commentaire précédent. Aie. Juste ouch.
David Oneill
2
Notez qu'il s'appellera K4DirStat pour Ubuntu si l'installation est effectuée via le centre logiciel
y3sh
ousudo apt-get install k4dirstat
y3sh
34

Un autre programme graphique est: baobab

texte alternatif

sudobash
la source
En fait, si je suis sur Ubuntu, je ne chercherai aucune alternative. baobapest juste suffisant.
Phunehehe
Il indique également le nombre de fichiers, qui doivent parfois être vérifiés, ainsi que l’espace disque
Golimar
9

Utilisez QDirStat (anciennement KDirStat).

Il inclut un script Perl qui génère un fichier cache sur le serveur / la console sans qu’une interface utilisateur soit en cours d’exécution / installée; transférez-le sur votre ordinateur de bureau et affichez-le dans le client d'interface graphique.

Voir https://unix.stackexchange.com/a/256516/186308 pour plus de détails.

icyerasor
la source
c'est ridiculement rapide. très bel outil
phil294
7

Je préfère la ligne de commande suivante:

$  du -s -m -x * | sort -n

Le décomposer, dumontre l'utilisation du disque; -sdit imprimer le total pour chaque argument (chaque élément du répertoire en cours), -mdit afficher la taille en mégaoctets. Cela facilite le tri au travail; sorte ne comprend pas vraiment la -hsortie. Le -xignore les autres systèmes de fichiers; Ceci est utile lorsque vous essayez de trouver des porcs d'espace /var, et /var/spool/fooest un système de fichiers différent.

P Joslin
la source
La réponse du haut n'utilise- dut- elle pas déjà ?
muru
Oui, mais du / home sur mes systèmes renvoie des dizaines de milliers de fichiers. Je me soucie rarement de ce que sont (par exemple) les 100 plus gros de ces fichiers; Je veux généralement savoir quels sous-répertoires occupent le plus d'espace.
P Joslin
Au lieu de -s, j'ai spécifié --max-depth = 2, car je voulais descendre d'un répertoire à partir du répertoire racine, mais votre réponse m'a orienté dans cette direction. Merci!
John Eisbrener
6

Il y a aussi ce script python cool de /www.vrplumber.com/programming/runsnakerun/

bzr branch lp:~mcfletch/squaremap/trunk squaremap

Ce n'est pas le plus riche en fonctionnalités, mais il est exécuté à partir d'un seul script python et est donc extrêmement portable.

texte alternatif

Falmarri
la source
6

Si vous avez regardé l'écran de Windirstat à propos de l'écran, il vous a montré qu'il est basé sur kdirstat.

http://kdirstat.sourceforge.net/

DF1eCH
la source
J'aime la réponse - mais pourriez-vous ajouter un contexte ou des détails?
Volker Siegel
4

Vous pouvez également essayer GD Map , un autre outil graphique basé sur des treemaps.

Bruno
la source
3

xdiskusage est très flexible, léger avec des dépendances très maigres, facile à compiler.

Il affiche une arborescence de gauche à droite que vous pouvez parcourir avec la souris ou les flèches, zoomer (cliquer ou entrer), cacher certaines parties pour une meilleure vue, changer l’ordre de tri, le nombre de couleurs, etc. avec les touches ou le menu contextuel.

Il est si léger que vous pouvez l'utiliser sur une liaison SSH distante avec de bonnes performances. Dans ce cas, je recommande l' -qoption de ligne de commande pour désactiver la barre de progression qui apparaît pendant que les fichiers sont parcourus.

Vous pouvez aussi éventuellement duvous lancer à l’ avance.

Une situation est un système de fichiers distant qui est plein ou presque complet. Sur ce système, lancez du -ak | gzip >log_of_disk_usage.txt.gzla recherche et exécutez-le gzip -dc log_of_disk_usage.txt.gz | xdiskusage -aqlocalement.
Ou même ssh myremotesystem "cd /filesystem_near_full/ ; du -ak | gzip" > log_of_disk_usage.txt.gzpour stocker le résultat localement sans rien écrire à distance.

xdiskusage ne propose pas de modifier le système de fichiers (comme déplacer dans la corbeille, etc.) mais vous pouvez copier un chemin dans le presse-papier et le coller dans un gestionnaire de fichiers, un terminal, etc.

capture d'écran xdiskusage

Stéphane Gourichon
la source
2

J'ai récemment utilisé un outil de ligne de commande (CLI, pas de TUI): http://zevv.nl/play/code/philesight/

Il produit un fichier PNG que vous pouvez voir ailleurs. Il a également un script CGI.

Très probablement, vous n'êtes pas limité au mode texte sur votre poste de travail local, cela devrait donc être approprié.

OCTAGRAM
la source
1

De plus, pour voir les fichiers d'un répertoire spécifique triés par taille après avoir trouvé le répertoire à l'aide de du use:

ls -lrSh
Wodin
la source
1

Duc ( https://duc.zevv.nl/ ) fonctionnera à partir de la ligne de commande.

Il peut être installé et utilisé comme ceci dans Debian 9:

# apt install duc
# duc index /
# duc graph /

Avec cela, vous obtiendrez un fichier nommé duc.pngdans le répertoire actuel. Maintenant, vous pouvez copier ce fichier sur un autre ordinateur compatible avec une interface graphique et il ressemblera à ceci: duc.png

REMARQUE: Duc remplace l’outil mentionné par @OCTAGRAM dans sa réponse.

Jaime Hablutzel
la source