Avoir trop de fichiers peut ralentir un système de fichiers, il peut donc être intéressant de voir où se cachent vos fichier: un programme buggé peut par exemple en avoir créé des centaines de mililers des fichiers à votre insu!
Sans plus de discours, voici une petite commande bash pour localiser où vous avez le plus de fichiers:
find . -type d | while read i; do echo $(find "$i" | wc -l) "$i"; done | sort -n
(parenthèse: si vous voulez savoir quels répertoires prennent de l'espace disque,
du -h | sort -h
marche extrêmement bien, sur les distributions récentes uniquement)
# tu comptabilises aussi les fichiers des sous-répertoires
Posté par solsTiCe (site web personnel) . Évalué à 2.
find . -type d | while read i; do echo $(find -P "$i" -maxdepth 1 -type f | wc -l) "$i"; done | sort -n
# Perso je dirai....
Posté par ze_lionix (site web personnel) . Évalué à 2.
J'ai déjà constaté que le find est un peu violent en I/O comparé à un ls...
Donc plutôt que faire un double find qui arrache un peu le disque moi je te propose :
for dir in `find ./ -type d`; do echo "`ls $dir| wc -l` $dir " ; done | sort -n
Concernant le sort -h, connaissait pas, merci ! A l'ancienne qui passe partout même sur le vieux nix c'est : du -k | sort -n
Fuse : j'en Use et Abuse !
[^] # encore un truc pas testé
Posté par solsTiCe (site web personnel) . Évalué à 1.
ca marche pas pour les répertoires avec des espaces
[^] # Re: encore un truc pas testé
Posté par JoeltheLion (site web personnel) . Évalué à 2.
find . -type d | while read i; do echo $(find "$i" | wc -l) "$i"; done | sort -n
# Utilisation des disques
Posté par Benjamin Verhaeghe (site web personnel) . Évalué à 1.
Pour l'utilisation des disques un petit utilitaire graphique est présent sûrement sous la plupart des distributions linux, Analyseur d'utilisation des disques. Très agréable et permet de savoir où faire le nettoyage en cas de besoin ;). (dans le menu accessoires)
# Encore plus rapide
Posté par Sébastien Koechlin . Évalué à 4.
Mais un dossier qui contient de nombreux fichiers a une taille en conséquence.
$ ls -ld /etc/default /usr/bin
drwxr-xr-x 2 root root 4096 jun 24 15:17 /etc/default
drwxr-xr-x 2 root root 36864 oct 21 04:12 /usr/bin
Du coup, si tous les fichiers sont dans un même répertoire. on peut se baser simplement dessus pour lister les fichiers, c'est un peu moins précis mais d'une efficacité sans commune mesure avec ta solution.
find . -type d | xargs ls -Sld
[^] # Re: Encore plus rapide (humour)
Posté par NeoX . Évalué à 2.
find . -type d | xargs ls -lSd
tu pourrais des ennuis avec la police ou simplement avoir des resultats etranges :p
bon ok on est vendredi, tout ca
aussi ne me chercher pas, je suis dehors (en plus il fait beau).
[^] # Re: Encore plus rapide
Posté par Jllc . Évalué à 1.
Mais cette taille ne diminue pas quand on efface des fichiers. Ta commande affiche donc la taille maximum qu'ont eu les répertoires au cours de leur vie.
[^] # Re: Encore plus rapide
Posté par Sébastien Koechlin . Évalué à 1.
Pour les dates, propriétaires, droits.. ils sont dans l'inode, et l'inode n'est généralement pas dans le répertoire.
Il reste le nom du fichier, et son numéro d'inode. Ce qui fait que la taille du répertoire est également très dépendante de la longueur des noms des fichiers.
[^] # Commentaire supprimé
Posté par Anonyme . Évalué à 2.
Ce commentaire a été supprimé par l’équipe de modération.
[^] # Re: Encore plus rapide
Posté par Sébastien Koechlin . Évalué à 0.
C'est le cas ici. On parcours systématiquement l'ensemble du répertoire.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.