Commander le -maxdepth
drapeau de find
find . -maxdepth 1 -type d -exec ls -ld "{}" \;
Ici, j'ai utilisé 1 comme profondeur de niveau maximale, -type d
signifie trouver uniquement les répertoires, qui alors ls -ld
répertorie le contenu de, au format long.
Utilisez find
les options de
Il n'y a actuellement aucun exec de /bin/ls
nécessaire ;
Find a une option qui fait exactement cela :
find . -maxdepth 2 -type d -ls
Pour voir uniquement le niveau de sous-répertoires qui vous intéresse, ajoutez -mindepth
au même niveau que -maxdepth
:
find . -mindepth 2 -maxdepth 2 -type d -ls
Utiliser le formatage de sortie
Lorsque les détails affichés doivent être différents, -printf
peut afficher n'importe quel détail sur un fichier dans un format personnalisé ; pour afficher les autorisations symboliques et le nom du propriétaire du fichier, utilisez -printf
avec %M
et %u
dans le format
.
J'ai remarqué plus tard que vous vouliez les informations complètes sur la propriété, qui incluent le groupe. Utilisez %g
au format du nom symbolique, soit %G
pour l'identifiant du groupe (comme aussi %U
pour l'ID utilisateur numérique)
find . -mindepth 2 -maxdepth 2 -type d -printf '%M %u %g %p\n'
Cela devrait vous donner uniquement les détails dont vous avez besoin, pour les bons fichiers.
Je vais donner un exemple qui montre des valeurs réellement différentes pour l'utilisateur et le groupe :
$ sudo find /tmp -mindepth 2 -maxdepth 2 -type d -printf '%M %u %g %p\n'
drwx------ www-data www-data /tmp/user/33
drwx------ octopussy root /tmp/user/126
drwx------ root root /tmp/user/0
drwx------ siegel root /tmp/user/1000
drwxrwxrwt root root /tmp/systemd-[...].service-HRUQmm/tmp
(Modifié pour plus de lisibilité :indenté, dernière ligne raccourcie)
Remarques sur les performances
Bien que le temps d'exécution soit la plupart du temps sans importance pour ce type de commande, l'augmentation des performances est ici suffisamment importante pour mériter d'être signalée :
Non seulement nous épargnons la création d'un nouveau processus pour chaque nom - un énorme tâche -l'information n'a même pas besoin d'être lue, comme find
le sait déjà.
tree -L 2 -u -g -p -d
Imprime l'arborescence des répertoires dans un joli format jusqu'à la profondeur 2 (-L 2).Imprime l'utilisateur (-u) et le groupe (-g) et les autorisations (-p).Imprime uniquement les répertoires (-d).l'arbre a beaucoup de d'autres options utiles.