Repérer où l’espace disque est allé sous Linux?


532

Lors de l'administration de systèmes Linux, je me trouve souvent aux prises avec le problème après la partition complète d'une partition. J'utilise normalement, du / | sort -nrmais sur un système de fichiers volumineux, le retour des résultats prend beaucoup de temps.

En outre, cela permet généralement de mettre en évidence le pire délinquant, mais je me suis souvent retrouvé dans l'obligation de le faire dusans les sort cas les plus subtils, puis de traquer les résultats.

Je préférerais une solution de ligne de commande qui repose sur des commandes Linux standard, car je dois administrer de nombreux systèmes et installer un nouveau logiciel est une tâche fastidieuse (surtout quand l'espace disque est insuffisant!)


1
@Bart Merci d'avoir pris le temps d'améliorer les publications ici, mais puis-je vous demander de faire plus attention lorsque vous ajoutez des balises? Les tags ne sont pas destinés à la visibilité, ils décrivent la question. La balise de disque ne convient pas ici (voir la description de celle-ci), et au moins deux des balises que vous avez ajoutées dans cette modification suggérée ne convenaient pas (Kali n'est pas Debian et il n'y a pas de PPA impliqué).
Stephen Kitt le

Réponses:


618

Essayez ncdu, un excellent analyseur d’utilisation des disques en ligne de commande:

entrez la description de l'image ici


6
En général, je déteste être invité à installer quelque chose pour résoudre un problème simple, mais c'est tout simplement génial.
Gwg

14
sudo apt install ncdusur Ubuntu l'obtient facilement. C'est génial
Orion Edwards le

10
Vous savez probablement quel système de fichiers manque d’espace. Dans ce cas, vous pouvez utiliser ncdu -xuniquement le nombre de fichiers et de répertoires sur le même système de fichiers que le répertoire en cours d'analyse.
Luke Cousins

7
meilleure réponse. also: sudo ncdu -rx /devrait donner une lecture propre sur les plus grands répertoires / fichiers UNIQUEMENT sur le lecteur de la zone racine. ( -r= en lecture seule, -x = reste sur le même système de fichiers (ce qui signifie: ne traversez pas d'autres montages de système de fichiers))
bshea

5
J'ai si peu d'espace que je ne peux pas installer ncdu
Chris

337

Ne va pas directement à du /. Utilisez dfpour trouver la partition qui vous fait mal, puis essayez des ducommandes.

Celui que j'aime essayer est

# U.S.
du -h <dir> | grep '[0-9\.]\+G'
# Others
du -h <dir> | grep '[0-9\,]\+G'

parce qu'il imprime des tailles sous "forme lisible par l'homme". À moins que vous n'ayez de très petites partitions, la recherche de répertoires dans les gigaoctets est un très bon filtre pour ce que vous voulez. Cela vous prendra un certain temps, mais à moins que des quotas ne soient définis, je pense que ce sera comme ça.

Comme @jchavannes le souligne dans les commentaires, l'expression peut devenir plus précise si vous trouvez trop de faux positifs. J'ai intégré la suggestion, ce qui rend la chose meilleure, mais il y a toujours des faux positifs, donc il y a juste des compromis (expr plus simple, résultats pires; expr plus complexe et plus long, meilleurs résultats). Si vous avez trop de petits répertoires dans votre sortie, ajustez votre expression rationnelle en conséquence. Par exemple,

grep '^\s*[0-9\.]\+G'

est encore plus précis (aucun répertoire <1 Go ne sera répertorié).

Si vous n'avez des quotas, vous pouvez utiliser

quota -v

pour trouver les utilisateurs qui monopolisent le disque.


2
C'est très rapide, simple et pratique
zzapper

24
grep '[0-9]G'contenait beaucoup de faux positifs et omettait également les décimales. Cela a mieux fonctionné pour moi:sudo du -h / | grep -P '^[0-9\.]+G'
jchavannes

1
Au cas où vous auriez de très grands annuaires, vous voudrez [GT]au lieu d’être simplementG
Vitruvius

1
Existe-t-il un outil qui surveillera en permanence l'utilisation du disque dans tous les répertoires (paresseux) du système de fichiers? Quelque chose qui peut être diffusé sur une interface Web? Informations de préférence en temps réel.
CMCDragonkai

20
J'aime utiliserdu -h | sort -hr | head
Août

104

Pour un premier aperçu, utilisez la vue «résumé» de du:

du -s /*

L'effet consiste à imprimer la taille de chacun de ses arguments, c'est-à-dire chaque dossier racine dans le cas ci-dessus.

De plus, GNUdu et BSDdu peuvent être limités en profondeur ( mais POSIX dune le peut pas! ):

  • GNU (Linux,…):

    du --max-depth 3
  • BSD (macOS,…):

    du -d 3
    

Cela limitera l'affichage de la sortie à la profondeur 3. Bien entendu, la taille calculée et affichée correspond au total de la profondeur totale. Malgré tout, la limitation de la profondeur d'affichage accélère considérablement le calcul.

Une autre option utile est -h(des mots à la fois sur GNU et BSD mais, encore une fois, pas sur POSIX uniquement du) pour une sortie «lisible par l'homme» (c'est-à-dire en utilisant KiB, MiB, etc. ).


23
si se duplaint, -dessayez --max-depth 5plutôt.
ReactiveRaven

8
Super réponse. Cela me semble correct. Je suggère du -hcd 1 /directory. -h pour être lisible par l'homme, c pour total et d pour profondeur.

Je suis usedu -hd 1 <folder to inspect> | sort -hr | head
jonathanccalixto

du --max-depth 5 -h /* 2>&1 | grep '[0-9\.]\+G' | sort -hr | headfiltrer Autorisation refusée
srghma

49

Vous pouvez également exécuter la commande suivante en utilisant du:

~# du -Pshx /* 2>/dev/null
  • L' -soption résume et affiche le total pour chaque argument.
  • h imprime Mio, Gio, etc.
  • x = rester dans un système de fichiers (très utile).
  • P = ne pas suivre les liens symboliques (ce qui pourrait entraîner le décompte des fichiers deux fois, par exemple).

Attention, le /rootrépertoire ne sera pas affiché, vous devez courir ~# du -Pshx /root 2>/dev/nullpour l'obtenir (une fois, j'ai eu beaucoup de mal à ne pas souligner que mon /rootrépertoire était saturé).

Edition: option corrigée -P


2
du -Pshx .* * 2>/dev/null+ répertoires cachés / système
Mykhaylo Adamovych 15/02/2016

27

Trouver les fichiers les plus volumineux sur le système de fichiers prendra toujours beaucoup de temps. Par définition, vous devez parcourir tout le système de fichiers à la recherche de gros fichiers. La seule solution est probablement d'exécuter une tâche cron sur tous vos systèmes pour que le fichier soit prêt à l'avance.

Une autre chose, l’option x de du est utile pour éviter que les points de montage ne suivent dans d’autres systèmes de fichiers. C'est à dire:

du -x [path]

La commande complète que je lance habituellement est:

sudo du -xm / | sort -rn > usage.txt

Les -mmoyennes retournent les résultats en mégaoctets et sort -rntrieront le plus grand nombre de résultats en premier. Vous pouvez ensuite ouvrir le fichier usage.txt dans un éditeur. Les dossiers les plus volumineux (commençant par /) se trouvent en haut.


3
Merci d'avoir signalé le -xdrapeau!
SamB

1
"Trouver le plus gros prend beaucoup de temps ..." -> Ça dépend, mais on a tendance à être en désaccord: ça ne prend pas longtemps avec des utilitaires comme ncdu- du moins plus vite que duou find(en fonction de la profondeur et des arguments) ..
bshea

comme je préfère ne pas être root, je devais m'adapter là où le fichier est écrit:sudo du -xm / | sort -rn > ~/usage.txt
Bruno le

20

J'utilise toujours du -sm * | sort -n, ce qui vous donne une liste triée de ce que les sous-répertoires du répertoire de travail actuel utilisent, en mebibytes.

Vous pouvez également essayer Konqueror, qui a un mode "affichage de la taille", similaire à celui de WinDirStat sous Windows: il vous donne une représentation virtuelle des fichiers / répertoires qui occupent le plus d’espace.

Mise à jour: sur les versions les plus récentes, vous pouvez également utiliser une du -sh * | sort -hméthode permettant d'afficher les tailles de fichiers lisibles par l'homme et de les trier. (les numéros seront suffixés de K, M, G, ...)

Pour ceux qui recherchent une alternative à la taille de fichier Konqueror de KDE3, jetez un œil à filelight, bien que ce ne soit pas aussi agréable.


Cependant, il ne s’agit que de Konqueror 3.x: la vue de la taille du fichier n’a toujours pas été portée sur KDE4.

'du -sh * | sort -h 'fonctionne parfaitement sur ma machine Linux (Centos distro). Merci!
pahariayogi

18

J'utilise ceci pour les 25 pires délinquants au-dessous du répertoire actuel

# -S to not include subdir size, sorted and limited to top 25
du -S . | sort -nr | head -25

Cette commande a permis de trouver un dossier caché dont la taille semblait augmenter avec le temps. Merci!
thegreendroid

Est-ce en octets?
Utilisateur

Par défaut, sur mon système, 'du -S' donne une belle sortie lisible par l'homme. Vous obtenez un nombre simple d'octets pour les petits fichiers, puis un nombre avec le suffixe «KB» ou «MB» pour les fichiers plus volumineux.
10

Vous pouvez faire du -Sh pour obtenir une sortie lisible par l'homme.
Siddhartha

@Siddhartha Si vous ajoutez -h, cela va probablement changer l'effet de la sort -nrcommande - ce qui signifie que le tri ne fonctionnera plus, et ensuite la headcommande ne fonctionnera plus non plus
Clare Macrae

14

Dans une entreprise précédente, nous avions un travail cron exécuté du jour au lendemain et identifié tous les fichiers dépassant une certaine taille, par exemple:

trouver / -taille + 10000k

Vous voudrez peut-être être plus sélectif quant aux répertoires que vous recherchez et faire attention aux lecteurs montés à distance qui pourraient être déconnectés.


Vous pouvez utiliser l' -x option de recherche pour vous assurer de ne pas trouver de fichiers sur d'autres périphériques que le point de départ de votre commande de recherche. Cela corrige le problème des lecteurs montés à distance.
Rjmunro

10

Une option serait d'exécuter votre commande du / sort en tant que tâche cron et de la générer dans un fichier, afin qu'elle soit déjà disponible lorsque vous en avez besoin.


9

Pour la ligne de commande, je pense que la méthode du / sort est la meilleure. Si vous n'êtes pas sur un serveur, vous devriez jeter un coup d'œil à l' analyseur d'utilisation Baobab - Disk . Ce programme prend également un certain temps à s'exécuter, mais vous pouvez facilement trouver le sous-répertoire au plus profond, là où se trouvent tous les anciens ISO de Linux.


2
Il peut également analyser des dossiers distants via SSH, FTP, SMB et WebDAV.

C'est bien. Certaines choses fonctionnent mieux avec une interface graphique pour les visualiser, et c'est l'un d'entre eux! De toute façon, j'ai besoin d'un serveur X sur mon serveur pour CrashPlan, donc ça marche aussi.
Timelmer

9

j'utilise

du -ch --max-depth=2 .

et je change la profondeur maximale en fonction de mes besoins. L'option "c" imprime les totaux des dossiers et l'option "h" imprime les tailles en K, M ou G selon le cas. Comme d'autres l'ont déjà dit, tous les répertoires sont numérisés, mais la sortie est limitée de manière à faciliter la recherche des grands répertoires.


9

Je vais en second xdiskusage. Mais je vais ajouter dans la note qu’il s’agit en fait d’une interface et que l’on peut lire la sortie d’un fichier. Vous pouvez donc exécuter du -ax /home > ~/home-dule scpfichier sur votre serveur, puis l’analyser graphiquement. Ou dirigez-le vers SSH.


6

Essayez d'alimenter la sortie de du dans un simple script awk qui vérifie si la taille du répertoire est supérieure à un seuil, si tel est le cas. Il n'est pas nécessaire d'attendre que l'arbre entier soit parcouru avant de commencer à obtenir des informations (par rapport à de nombreuses autres réponses).

Par exemple, ce qui suit affiche tous les répertoires consommant plus de 500 Mo environ.

du -kx / | awk '{ if ($1 > 500000) { print $0} }'

Pour rendre les éléments ci-dessus un peu plus réutilisables, vous pouvez définir une fonction dans votre .bashrc (ou en faire un script autonome).

dubig() {
    [ -z "$1" ] && echo "usage: dubig sizethreshMB [dir]" && return
    du -kx $2 | awk '{ if ($1 > '$1'*1024) { print $0} }'
}

Alors, dubig 200 ~/dans le répertoire de base (sans suivre les liens symboliques hors périphérique), recherchez les répertoires qui utilisent plus de 200 Mo.


Dommage qu'une douzaine de hapeurs de grep soient plus votés. Oh et du -kfera en sorte qu'il soit absolument certain que du utilise des unités KB
samedi

Bonne idée à propos du -k. Édité.
Mark Borgerding

Encore plus simple et plus robuste: du -kx $2 | awk '$1>'$(($1*1024))(si vous ne spécifiez qu'une condition, c'est-à-dire un motif à suivre, l'action par défaut est print $0)
dave_thompson_085

Bon point @ date_thompson_085. C’est vrai pour toutes les versions d’awk que je connais (net / free-BSD & GNU). @ mark-borgerding signifie donc que vous pouvez grandement simplifier votre premier exempledu -kx / | awk '$1 > 500000'
ndemou

@ mark-borgerding: S'il ne vous reste que quelques kilo-octets, vous pouvez également conserver la totalité de la sortie de du comme ceci du -kx / | tee /tmp/du.log | awk '$1 > 500000'. Ceci est très utile car si votre premier filtrage s’avère infructueux, vous pouvez essayer d’autres valeurs telles que celle-ci awk '$1 > 200000' /tmp/du.logou inspecter la sortie complète de cette manière sort -nr /tmp/du.log|lesssans réanalyser tout le système de fichiers
ndemou

4

J'aime le bon vieux xdiskusage comme alternative graphique à du (1).


Notez cette partie de la question: "Je préférerais une solution de ligne de commande qui repose sur des commandes Linux standard depuis ..."
ndemou

4

Je préfère utiliser ce qui suit pour avoir une vue d'ensemble et explorer à partir de là ...

cd /folder_to_check
du -shx */

Cela affichera les résultats avec une sortie lisible par l’homme telle que Go, MB. Cela empêchera également de traverser des systèmes de fichiers distants. L' -soption affiche uniquement le résumé de chaque dossier trouvé afin que vous puissiez approfondir davantage si vous êtes intéressé par plus de détails sur un dossier. Gardez à l'esprit que cette solution ne montrera que les dossiers, vous voudrez donc omettre le / après l'astérisque si vous voulez aussi des fichiers.


4

Non mentionné ici, mais vous devriez également vérifier lsof en cas de fichiers supprimés / suspendus. J'ai eu un fichier tmp supprimé de 5,9 Go à partir d'un cronjob en fuite.

https://serverfault.com/questions/207100/how-can-i-find-phantom-storage-usage m'a aidé à trouver le propriétaire du processus dudit fichier (cron), puis j'ai pu obtenir /proc/{cron id}/fd/{file handle #}moins le fichier. question pour obtenir le début de la fuite, résolvez-le, puis echo ""> fichier pour libérer de l'espace et laissez cron se fermer gracieusement.


3

Depuis le terminal, vous pouvez obtenir une représentation visuelle de l'utilisation du disque avec dutree

Il est très rapide et léger car il est mis en œuvre dans Rust

devoir

$ 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

Voir tous les détails d'utilisation sur le site


2

Pour la ligne de commande du (et ses options) semble être le meilleur moyen. DiskHog semble utiliser les informations du / df d'un travail cron. La suggestion de Peter est donc probablement la meilleure combinaison de simplicité et d'efficacité.

( FileLight et KDirStat sont idéaux pour l'interface graphique.)


2

Vous pouvez utiliser des outils standard tels que findet sortpour analyser votre utilisation de l’espace disque.

Répertoriez les répertoires triés par taille:

find / -mount -type d -exec du -s "{}" \; | sort -n

Liste des fichiers triés par leur taille:

find / -mount -printf "%k\t%p\n" | sort -n

1
Je trouve que c'est la meilleure solution pour détecter les grandes tailles dans l'ordre de tri
vimal krishna

2

Il est peut-être intéressant de noter que mc(Midnight Commander, un gestionnaire de fichiers classique en mode texte) affiche par défaut uniquement la taille des inodes du répertoire (généralement 4096), mais avec CtrlSpaceou avec le menu Outils, vous pouvez voir l’espace occupé par le répertoire sélectionné dans une liste lisible par l’homme. format (par exemple, certains aiment 103151M).

Par exemple, l'image ci-dessous montre la taille complète des distributions vanille de TeX Live de 2018 et 2017, tandis que les versions de 2015 et 2016 ne montrent que la taille de l'inode (mais elles ont vraiment près de 5 Go chacune).

C’est-à-dire qu’il CtrlSpacefaut le faire un à un, uniquement pour le niveau de répertoire réel, mais c’est tellement rapide et pratique lorsque vous naviguez avec mccela que vous n’auriez peut-être pas besoin de le faire ncdu(cela n’est préférable que pour cela). Sinon, vous pouvez aussi courir à ncdupartir de mc. sans quitter mcou lancer un autre terminal.

mwe


1

Au début, je vérifie la taille des répertoires, comme ceci:

du -sh /var/cache/*/

1

Si vous savez que les fichiers volumineux ont été ajoutés au cours des derniers jours (3, par exemple), vous pouvez utiliser une commande de recherche en conjonction avec " ls -ltra" pour découvrir les fichiers récemment ajoutés:

find /some/dir -type f -mtime -3 -exec ls -lart {} \;

Cela vous donnera juste les fichiers (" -type f"), pas les répertoires; juste les fichiers avec le temps de modification au cours des 3 derniers jours (" -mtime -3") et exécutez " ls -lart" sur chaque fichier trouvé (" -exec" partie).


1

Pour comprendre l'utilisation disproportionnée de l'espace disque, il est souvent utile de commencer par le répertoire racine et de parcourir certains de ses plus gros enfants.

Nous pouvons le faire en

  • sauvegarder la sortie de du dans un fichier
  • passer à travers le résultat de manière itérative

C'est:

# sum up the size of all files and directories under the root filesystem
du -a -h -x / > disk_usage.txt
# display the size of root items
grep $'\t/[^/]*$' disk_usage.txt

maintenant, disons / usr semble trop grand

# display the size of /usr items
grep $'\t/usr/[^/]*$' disk_usage.txt

maintenant si / usr / local est étrangement grand

# display the size /usr/local items
grep $'\t/usr/local/[^/]*$' disk_usage.txt

etc...


1

J'ai utilisé cette commande pour trouver des fichiers de plus de 100 Mo:

find / -size +100M -exec ls -l {} \;

0

J'ai réussi à localiser le (s) pire (s) délinquant (s) en diffusant la dusortie sous une forme lisible par l'homme egrepet en la faisant correspondre à une expression régulière.

Par exemple:

du -h | egrep "[0-9]+G.*|[5-9][0-9][0-9]M.*"

ce qui devrait vous rendre tout ce qui est 500 Mo ou plus.


Ne pas utiliser grep pour les opérations arithmétiques - utilisation awk place: du -k | awk '$1 > 500000'. Il est beaucoup plus facile à comprendre, à éditer et à corriger du premier coup.
ndemou

0

Si vous souhaitez plus de rapidité, vous pouvez activer les quotas sur les systèmes de fichiers que vous souhaitez surveiller (vous ne devez définir de quotas pour aucun utilisateur), et utiliser un script qui utilise la commande quota pour répertorier l'espace disque utilisé par chaque utilisateur. Par exemple:

quota -v $user | grep $filesystem | awk '{ print $2 }'

vous donnerait l'utilisation du disque en blocs pour l'utilisateur particulier sur le système de fichiers particulier. Vous devriez pouvoir vérifier les utilisations en quelques secondes de cette façon.

Pour activer les quotas, vous devez ajouter usrquota aux options du système de fichiers de votre fichier / etc / fstab, puis probablement redémarrer de sorte que quotacheck puisse être exécuté sur un système de fichiers inactif avant que quotaon soit appelé.


0

Voici une petite application qui utilise un échantillonnage approfondi pour rechercher des tumeurs dans n'importe quel disque ou répertoire. Il parcourt l'arborescence de répertoires à deux reprises, une fois pour la mesurer, et une deuxième fois pour imprimer les chemins d'accès à 20 octets "aléatoires" dans le répertoire.

void walk(string sDir, int iPass, int64& n, int64& n1, int64 step){
    foreach(string sSubDir in sDir){
        walk(sDir + "/" + sSubDir, iPass, n, n1, step);
    }
    foreach(string sFile in sDir){
        string sPath = sDir + "/" + sFile;
        int64 len = File.Size(sPath);
        if (iPass == 2){
            while(n1 <= n+len){
               print sPath;
               n1 += step;
            }
        }
        n += len;
    }
}

void dscan(){
    int64 n = 0, n1 = 0, step = 0;
    // pass 1, measure
    walk(".", 1, n, n1);
    print n;
    // pass 2, print
    step = n/20; n1 = step/2; n = 0;
    walk(".", 2, n, n1);
    print n;
}

La sortie ressemble à ceci pour mon répertoire Program Files:

 7,908,634,694
.\ArcSoft\PhotoStudio 2000\Samples\3.jpg
.\Common Files\Java\Update\Base Images\j2re1.4.2-b28\core1.zip
.\Common Files\Wise Installation Wizard\WISDED53B0BB67C4244AE6AD6FD3C28D1EF_7_0_2_7.MSI
.\Insightful\splus62\java\jre\lib\jaws.jar
.\Intel\Compiler\Fortran\9.1\em64t\bin\tselect.exe
.\Intel\Download\IntelFortranProCompiler91\Compiler\Itanium\Data1.cab
.\Intel\MKL\8.0.1\em64t\bin\mkl_lapack32.dll
.\Java\jre1.6.0\bin\client\classes.jsa
.\Microsoft SQL Server\90\Setup Bootstrap\sqlsval.dll
.\Microsoft Visual Studio\DF98\DOC\TAPI.CHM
.\Microsoft Visual Studio .NET 2003\CompactFrameworkSDK\v1.0.5000\Windows CE\sqlce20sql2ksp1.exe
.\Microsoft Visual Studio .NET 2003\SDK\v1.1\Tool Developers Guide\docs\Partition II Metadata.doc
.\Microsoft Visual Studio .NET 2003\Visual Studio .NET Enterprise Architect 2003 - English\Logs\VSMsiLog0A34.txt
.\Microsoft Visual Studio 8\Microsoft Visual Studio 2005 Professional Edition - ENU\Logs\VSMsiLog1A9E.txt
.\Microsoft Visual Studio 8\SmartDevices\SDK\CompactFramework\2.0\v2.0\WindowsCE\wce500\mipsiv\NETCFv2.wce5.mipsiv.cab
.\Microsoft Visual Studio 8\VC\ce\atlmfc\lib\armv4i\UafxcW.lib
.\Microsoft Visual Studio 8\VC\ce\Dll\mipsii\mfc80ud.pdb
.\Movie Maker\MUI\0409\moviemk.chm
.\TheCompany\TheProduct\docs\TheProduct User's Guide.pdf
.\VNI\CTT6.0\help\StatV1.pdf
7,908,634,694

Il me dit que le répertoire est 7.9gb, dont

  • ~ 15% vont au compilateur Intel Fortran
  • ~ 15% vont à VS .NET 2003
  • ~ 20% vont au VS 8

Il est assez simple de demander si l’un d’entre eux peut être déchargé.

Il indique également les types de fichiers distribués dans le système de fichiers, mais pris ensemble, ils représentent une opportunité pour économiser de l'espace:

  • Environ 15% vont approximativement aux fichiers .cab et .MSI
  • Environ 10% vont grossièrement à la journalisation de fichiers texte

Cela montre beaucoup d'autres choses là-dedans aussi, dont je pourrais probablement me passer, comme le support "SmartDevices" et "ce" (~ 15%).

Cela prend du temps linéaire, mais cela ne doit pas être fait souvent.

Exemples de choses qu'il a trouvé:

  • des copies de sauvegarde des DLL dans de nombreux référentiels de code enregistrés, qui n'ont pas vraiment besoin d'être enregistrées
  • une copie de sauvegarde du disque dur de quelqu'un sur le serveur, sous un répertoire obscur
  • volumineux fichiers Internet temporaires
  • anciens fichiers de documentation et d'aide depuis longtemps nécessaires

0

J'ai eu un problème similaire, mais les réponses sur cette page n'étaient pas suffisantes. J'ai trouvé la commande suivante la plus utile pour la liste:

du -a / | sort -n -r | head -n 20

Ce qui me montrerait les 20 plus gros délinquants. Cependant, même si j'ai couru cela, cela ne m'a pas montré le vrai problème, car j'avais déjà supprimé le fichier. Le problème était qu'un processus en cours était toujours en train de référencer le fichier journal supprimé. Je devais donc d'abord supprimer ce processus, puis l'espace disque apparaissait libre.


Bon point, mais cela devrait être un commentaire et non une réponse en soi - cette question souffre de trop de réponses
ndemou

0

Vous pouvez utiliser DiskReport.net pour générer un rapport Web en ligne de tous vos disques.

Avec de nombreuses exécutions, il vous montrera un graphique d’historique pour tous vos dossiers, facile à trouver ce qui a grandi


Cet outil ne correspond pas aux deux points principaux de la question "Je me trouve souvent confronté à des difficultés pour retrouver le coupable après le partitionnement", et "je préférerais une solution de ligne de commande reposant sur des commandes Linux standard"
ndemou

0

JDiskReport, un logiciel gratuit multiplate-forme, comprend une interface graphique permettant d'explorer ce qui occupe tout cet espace.

Exemple de capture d'écran:
JDiskReport capture d'écran

Bien sûr, vous devrez libérer un peu d’espace manuellement avant de pouvoir le télécharger et l’installer, ou le télécharger sur un autre lecteur (comme une clé USB).


(Copié ici de la réponse du même auteur sur une question en double)

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.