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.


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.


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.


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


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


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.


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.


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



4

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


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


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


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

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.

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.