[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[HS] Un "ls" en résumé



Bonjour à tous les utilisateurs et développeurs de Debian :

Comme vous le savez sans doute, un répertoire peut éventuellement contenir des fichiers (f - en sens classique du terme), des liens symboliques (l), des tubes nommés (p), des sockets (s), des nœuds de périphériques en mode caractère (c) ou bloc (b) voire des sous-répertoires (d).

Nous avons déjà la commande 'ls' qui nous permet d'afficher le contenu d'un répertoire (avec plus ou moins de détail selon qu'on adjoint ou non l'option '-l').

Seulement, cette commande nous fait la liste de ce tout que contient un répertoire. Or je recherche une commande qui me permet seulement de m'indiquer le nombre de fichiers, des liens symboliques, de sous-répertoires, etc. que l'on peut trouver dans un répertoire.

De plus, de façon optionnelle, cette commande pourrait nous apporter cette information de manière récursive au cas où un répertoire contiendrait des sous-répertoires (un peu à la manière d'un "du -s" pour l'occupation disque totale d'un répertoire).

A priori, d'après mes recherches (dans les "man pages" en particulier), ce type de commande ne semble pas exister (du moins, pas de manière simple ou directe), ce que je trouve assez étonnant car je pense que ce type d'information peut être intéressante à bien des égards...

Cela étant dit, corrigez-moi si je me trompe car il est possible que je ne suis pas allé là où je devrais y pointer mon nez. ;-)

Sinon, je crains que je devrais passer par un "script bash" (c'est-à-dire un fichier dont le contenu commence par "#!/bin/bash" et qui liste toute une série de commande à exécuter).

En attendant, j'ai déjà conçu la commande suivante :
"find /dir -type f -prune | grep -c [[:print:]] | sed 's\$\ f\'
qui permet de nous informer le nombre de fichiers que peut contenir le répertoire '/dir'.

En supprimant l'option -prune de find (et, donc, en incluant ses éventuels sous-répertoires), on aura le nombre total de fichiers.

Bien sûr, si /dir ne contient aucun fichier, la commande nous donnera "0 f".

Enfin, en remplaçant (au niveau de find et de sed) f par l (ou s) par exemple, on aura le nombre de liens symboliques (ou de sockets).

Cependant, si quelqu'un (de notre liste de discussion) a une meilleure idée que moi (par rapport à la commande que j'ai mise au point), qu'il n'hésite pas à me faire savoir...

En attendant, je vais continuer la conception de mon script bash et je vous donnerai des mes nouvelles prochainement.

Cordialement et à bientôt,

Stéphane.



Une messagerie gratuite, garantie à vie et des services en plus, ça vous tente ?
Je crée ma boîte mail www.laposte.net


Reply to: