Question Utilitaire Linux pour trouver les plus grands fichiers / répertoires [fermé]


Je cherche un programme pour me montrer quels fichiers / répertoires occupent le plus de place, quelque chose comme:

74% music
 \- 60% music1
 \- 14% music2
12% code
13% other

Je sais que c'est possible dans KDE3, mais je préfère ne pas le faire - KDE4 ou ligne de commande sont préférables.


128
2017-07-21 06:54


origine


pour les utilisateurs de mac, je veux juste recommander ce logiciel gratuit appelé Disk Inventory X. téléchargez-le ici derlien.com il est simple à utiliser pour mac osx - Adam Delarosa


Réponses:


Pour trouver les 10 plus gros fichiers (linux / bash):

find . -type f -print0 | xargs -0 du | sort -n | tail -10 | cut -f2 | xargs -I{} du -sh {}

Pour trouver les 10 plus grands répertoires:

find . -type d -print0 | xargs -0 du | sort -n | tail -10 | cut -f2 | xargs -I{} du -sh {}

Seule différence est -type {d:f}.

Gère les fichiers avec des espaces dans les noms et produit des tailles de fichiers lisibles par l'homme dans la sortie. Le plus grand fichier répertorié en dernier. L'argument de la queue est le nombre de résultats que vous voyez (ici les 10 plus grands).

Deux techniques sont utilisées pour gérer les espaces dans les noms de fichiers. le find -print0 | xargs -0 utilise des délimiteurs null au lieu d'espaces, et le second xargs -I{} utilise des nouvelles lignes au lieu d'espaces pour terminer les éléments en entrée.

Exemple:

$ find . -type f -print0 | xargs -0 du | sort -n | tail -10 | cut -f2 | xargs -I{} du -sh {}

  76M    ./snapshots/projects/weekly.1/onthisday/onthisday.tar.gz
  76M    ./snapshots/projects/weekly.2/onthisday/onthisday.tar.gz
  76M    ./snapshots/projects/weekly.3/onthisday/onthisday.tar.gz
  76M    ./tmp/projects/onthisday/onthisday.tar.gz
  114M   ./Dropbox/snapshots/weekly.tgz
  114M   ./Dropbox/snapshots/daily.tgz
  114M   ./Dropbox/snapshots/monthly.tgz
  117M   ./Calibre Library/Robert Martin/cc.mobi
  159M   ./.local/share/Trash/files/funky chicken.mpg
  346M   ./Downloads/The Walking Dead S02E02 ... (dutch subs nl).avi

129
2018-03-06 19:56





J'utilise toujours ncdu. C'est interactif et très rapide.


185
2017-07-07 15:31



Ouais et c'est petit! - Luke Stanley
J'aime ncdu. C'est l'une de mes trouvailles préférées sur Google. - Rob
Sensationnel. comment je ne savais pas que cela existait. Merci! - pixel
+1000 pour ncdu --- c'est comme htop pour l'espace disque. Super utile! - Noah Sussman
comme il ne semble pas y avoir de drapeaux ni d’option .config, voici la séquence de touches que vous allez probablement taper chaque fois que vous l’exécuterez si vous aimez voir les fichiers et les dossiers mélangés et les statistiques relatives en pourcentage: [t] [g] [g]. - rymo


Pour un aperçu rapide:

du | sort -n

répertorie tous les répertoires dont le dernier est le plus grand.

du --max-depth=1 * | sort -n

ou encore en évitant le redondant *:

du --max-depth=1 | sort -n

répertorie tous les répertoires dans le répertoire en cours avec le dernier plus grand.

(Le paramètre -n à trier est requis pour que le premier champ soit trié sous la forme d'un nombre plutôt que sous forme de texte, mais cela exclut l'utilisation du paramètre -h car nous avons besoin d'un nombre significatif pour le tri)

D'autres paramètres à sont disponibles si vous souhaitez suivre des liens symboliques (par défaut, ne pas suivre les liens symboliques) ou simplement afficher la taille du contenu du répertoire à l'exception des sous-répertoires, par exemple. du peut même inclure dans la liste la date et l'heure auxquelles un fichier du répertoire a été modifié pour la dernière fois.


37
2017-07-21 07:19



Est le * vraiment nécessaire. Cela n'inclut-il pas par défaut tous les fichiers dans le répertoire actuel? - Josh Hunt
Non, le * devrait être redondant. Je ne sais pas si l’utiliser est le signe d’une bonne habitude ou d’une mauvaise habitude. Merci de l'avoir signalé. J'ai modifié la réponse pour la rendre facultative. - mas
C'est bien, mais les résultats ne sont pas très amicaux. Je me tourne généralement vers ceci: find {/path/to/directory} -type f -size +{file-size-in-kb}k -exec ls -lh {} \; | awk '{ print $8 ": " $5 }' - deed02392
roman # du --max-depth = 1 | sort -n du: option illégale - - usage: du [-A] [-H | -L | -P] [-a | -s | -d profondeur] [-c] [-l] [-h | -k | -m | -B bsize] [-n] [-x] [-I masque] [fichier ...] - holms
du -h --max-depth=1 2>/dev/null | sort -nr | grep -v ^0 - un peu plus propre - Stuart Cardall


Pour la plupart des choses, je préfère les outils CLI, mais pour l’utilisation du disque, j'aime beaucoup filelight. La présentation est plus intuitive pour moi que tout autre outil de gestion de l'espace que j'ai vu.

Filelight screenshot


23
2017-07-24 04:26



Filelight est mon outil de taille pour les porcs spatiaux. - Ryan Thompson
Très bonne application. +1 - rpax
Visuellement, c'est artistiquement intriguant, mais intuitif? Juste en le regardant, je n'ai aucune idée de ce que cela représente. Quelqu'un peut-il l'expliquer? Je suis allé sur le site et je n'ai vu aucune explication. - G-Man
Un outil similaire sur Mac est DaisyDisk, disponible sur daisydiskapp.com - computingfreak


Filelight est mieux pour les utilisateurs de KDE, mais pour être complet (le titre de la question est général), je dois mentionner Baobab est inclus dans Ubuntu, alias Disk Usage Analyzer:

enter image description here


20
2018-02-18 04:35



Si vous recherchez un équivalent sur la plate-forme Mac, consultez DaisyDisk. - computingfreak


Un outil graphique, KDirStat, affiche les données à la fois sous forme de tableau et graphiquement. Vous pouvez voir très rapidement où la majeure partie de l'espace est utilisé.

enter image description here

Je ne suis pas sûr que ce soit exactement l'outil de KDE que vous ne vouliez pas, mais je pense qu'il devrait toujours être mentionné dans une question comme celle-ci. C'est bon et beaucoup de gens ne le savent probablement pas. Je ne l'ai appris que récemment.


7
2017-07-22 10:00



Merci d'avoir répondu. C'est le exact même outil que j'avais dans KDE3, mais je suis passé à KDE 4. - Robert Munteanu
Êtes-vous sûr de ne pas pouvoir obtenir kdirstat pour KDE4? - Jonik
Kdirstat est tellement lent. Utilisation ncdu au lieu. - Daenyth
Je viens d'appuyer sur Ctrl + F pour trouver ncdu, et j'ai vu que j'avais déjà voté @Daenyth - Rob
Sur KDE, il s’appelle simplement k4dirstat. - phihag


Une combinaison est toujours le meilleur truc sur Unix.

du -sk $(find . -type d) | sort -n -k 1

Affiche les tailles de répertoires en Ko et les trie pour donner le plus grand à la fin.
Tree-view aura cependant besoin de plus de fu ... est-ce vraiment nécessaire?

Notez que cette analyse est imbriquée entre les répertoires afin de compter les sous-répertoires à nouveau pour les répertoires supérieurs et le répertoire de base . apparaîtra à la fin comme la somme totale d'utilisation.

Vous pouvez toutefois utiliser un contrôle de profondeur sur la recherche pour effectuer une recherche à une profondeur spécifique.
Et, impliquez-vous beaucoup plus dans votre numérisation en fonction de ce que vous voulez. Contrôle de la profondeur de findavec -maxdepth et -mindepth peut restreindre à une profondeur de sous-répertoire spécifique.


Voici une variation raffinée pour votre problème d'argument trop long

find . -type d -exec du -sk {} \; |  sort -n -k 1

5
2017-07-21 07:06



J'ai essayé cela et j'ai eu beaucoup de 'du: Tâche: Pas un tel fichier ou répertoire' - Josh Hunt
Merci d'avoir répondu. Malheureusement je reçois bash: / usr / bin / du: liste d'arguments trop longue - Robert Munteanu


J'aime GT5. Vous pouvez naviguer dans l'arborescence et ouvrir les sous-répertoires pour obtenir plus de détails. Il utilise un navigateur Web en mode texte, tel que lynx, pour afficher les résultats. Installer elinks pour les meilleurs résultats.

alt text


3
2017-07-21 11:35





Bien que cela ne vous donne pas un résultat imbriqué comme celui-ci, essayez du

du -h /path/to/dir/

L'exécution de ce dossier dans mon dossier Documents génère les éléments suivants:

josh-hunts-macbook:Documents joshhunt$ du -h
  0B    ./Adobe Scripts
  0B    ./Colloquy Transcripts
 23M    ./Electronic Arts/The Sims 3/Custom Music
  0B    ./Electronic Arts/The Sims 3/InstalledWorlds
364K    ./Electronic Arts/The Sims 3/Library
 77M    ./Electronic Arts/The Sims 3/Recorded Videos
101M    ./Electronic Arts/The Sims 3/Saves
 40M    ./Electronic Arts/The Sims 3/Screenshots
1.6M    ./Electronic Arts/The Sims 3/Thumbnails
387M    ./Electronic Arts/The Sims 3
387M    ./Electronic Arts
984K    ./English Advanced/Documents
1.8M    ./English Advanced
  0B    ./English Extension/Documents
212K    ./English Extension
100K    ./English Tutoring
5.6M    ./IPT/Multimedia Assessment Task
720K    ./IPT/Transaction Processing Systems
8.6M    ./IPT
1.5M    ./Job
432K    ./Legal Studies/Crime
8.0K    ./Legal Studies/Documents
144K    ./Legal Studies/Family/PDFs
692K    ./Legal Studies/Family
1.1M    ./Legal Studies
380K    ./Maths/Assessment Task 1
388K    ./Maths
[...]

Ensuite, vous pouvez trier la sortie en la faisant passer par sort

du /path/to/dir | sort -n

2
2017-07-21 07:00



Merci, mais cela ne montre pas correctement quels sont les répertoires les plus importants. Si je le lance dans mon répertoire personnel, la sortie est inutilisable. - Robert Munteanu


Voici le script qui le fait pour vous automatiquement.

http://www.thegeekscope.com/linux-script-to-find-largest-files/

Voici l'exemple de sortie du script:

**# sh get_largest_files.sh / 5**

[SIZE (BYTES)]     [% OF DISK] [OWNER]         [LAST MODIFIED ON]        [FILE] 

56421808           0%           root           2012-08-02 14:58:51       /usr/lib/locale/locale-archive
32464076           0%           root           2008-09-18 18:06:28       /usr/lib/libgcj.so.7rh.0.0
29147136           0%           root           2012-08-02 15:17:40       /var/lib/rpm/Packages
20278904           0%           root           2008-12-09 13:57:01       /usr/lib/xulrunner-1.9/libxul.so
16001944           0%           root           2012-08-02 15:02:36       /etc/selinux/targeted/modules/active/base.linked

Total disk size: 23792652288 Bytes
Total size occupied by these files: 154313868 Bytes  [ 0% of Total Disc Space  ]

*** Note: 0% represents less than 1% ***

Vous pouvez trouver ce script très pratique et utile!


1
2017-09-06 05:27



Bien que le site Web lié donne des instructions, il est préférable de paraphraser puis de référencer le site externe (qui ressemble de toute façon à un blog personnel). Cela empêchera la pourriture des liens et aidera plus de gens sur ce site - Canadian Luke
Le lien est cassé? - Danijel


Bien que trouver le pourcentage d'utilisation du disque de chaque fichier / répertoire soit bénéfique, la plupart du temps, connaître les fichiers / répertoires les plus volumineux à l'intérieur du disque est suffisant.

Donc ma préférée est la suivante:

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

Et la sortie est comme ceci:

28626644        .
28052128        ./www
28044812        ./www/vhosts
28017860        ./www/vhosts/example.com
23317776        ./www/vhosts/example.com/httpdocs
23295012        ./www/vhosts/example.com/httpdocs/myfolder
23271868        ./www/vhosts/example.com/httpdocs/myfolder/temp
11619576        ./www/vhosts/example.com/httpdocs/myfolder/temp/main
11590700        ./www/vhosts/example.com/httpdocs/myfolder/temp/main/user
11564748        ./www/vhosts/example.com/httpdocs/myfolder/temp/others
4699852         ./www/vhosts/example.com/stats
4479728         ./www/vhosts/example.com/stats/logs
4437900         ./www/vhosts/example.com/stats/logs/access_log.processed
401848          ./lib
323432          ./lib/mysql
246828          ./lib/mysql/mydatabase
215680          ./www/vhosts/example.com/stats/webstat
182364          ./www/vhosts/example.com/httpdocs/tmp/aaa.sql
181304          ./www/vhosts/example.com/httpdocs/tmp/bbb.sql
181144          ./www/vhosts/example.com/httpdocs/tmp/ccc.sql

1
2018-05-15 21:52