Utilitaire Linux pour trouver les fichiers / répertoires les plus importants

Je cherche un programme pour me montrer quels fichiers / répertoires occupent le plus d'espace, 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 la ligne de commande sont préférés.

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

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

    Pour trouver les 10 répertoires les plus importants:

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

    La 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 à refaire est le nombre de résultats que vous voyez (ici le 10 plus grand).

    Il existe deux techniques pour gérer les espaces dans les noms de fichiers. La find -print0 | xargs -0 find -print0 | xargs -0 utilise des délimiteurs nuls au lieu des espaces, et le second xargs -I{} utilise les nouvelles lignes au lieu des espaces pour mettre fin aux éléments de saisie.

    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 

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

    Pour une vue rapide:

     du | sort -n 

    Répertorie tous les répertoires avec le dernier dernier.

     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 actuel avec le dernier dernier.

    (-n paramètre à tri est requis afin que le premier champ soit trié en tant que nombre plutôt que comme texte, mais cela empêche d'utiliser le paramètre -h à du puisque nous avons besoin d'un nombre important pour le tri)

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

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

    Capture d'écran Filelight

    Filelight est meilleur pour les utilisateurs de KDE, mais pour l'exhaustivité (le titre de la question est général), je dois mentionner que Baobab est inclus dans Ubuntu, aka Disk Usage Analyzer:

    Entrez la description de l'image ici

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

    Entrez la description de l'image ici

    Je ne sais pas si c'est exactement l'outil KDE que vous ne vouliez pas, mais je pense que cela devrait encore être mentionné dans une question comme celle-ci. C'est bon et beaucoup de gens ne le savent probablement pas – je l'ai appris tout récemment.

    Une combinaison est toujours le meilleur tour de Unix.

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

    Affiche les tailles d'annuaire en KB et trier 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 ancrée dans les répertoires afin de compter les sous-répertoires à nouveau pour les répertoires plus élevés et le répertoire de base . Apparaîtra à la fin comme somme d'utilisation totale.

    Vous pouvez toutefois utiliser un contrôle de profondeur sur la recherche pour effectuer une recherche à une profondeur spécifique.
    Et, beaucoup plus impliqué dans votre analyse en réalité … selon ce que vous voulez. Le contrôle de profondeur de la find avec -maxdepth et -mindepth peut restreindre à une profondeur de sous-répertoire spécifique.


    Voici une variation raffinée pour votre problème arg-too-long

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

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

    Texte alt