Acquista lo -maxdepth
flag di find
find . -maxdepth 1 -type d -exec ls -ld "{}" \;
Qui ho usato 1 come profondità massima del livello, -type d
significa trovare solo directory, che quindi ls -ld
elenca i contenuti di, in formato lungo.
Utilizza find
opzioni di
In realtà non esiste alcuna esecuzione di /bin/ls
necessario;
Trova ha un'opzione che fa proprio questo:
find . -maxdepth 2 -type d -ls
Per vedere solo il livello di sottodirectory che ti interessa, aggiungi -mindepth
allo stesso livello di -maxdepth
:
find . -mindepth 2 -maxdepth 2 -type d -ls
Utilizza la formattazione dell'output
Quando i dettagli visualizzati dovrebbero essere diversi, -printf
può mostrare qualsiasi dettaglio su un file in formato personalizzato;Per mostrare i permessi simbolici e il nome del proprietario del file, usa -printf
con %M
e %u
nel format
.
Ho notato più tardi che vuoi le informazioni complete sulla proprietà, che includono il gruppo. Usa %g
nel formato per il nome simbolico, o %G
per l'id del gruppo (come anche %U
per ID utente numerico)
find . -mindepth 2 -maxdepth 2 -type d -printf '%M %u %g %p\n'
Questo dovrebbe fornirti solo i dettagli di cui hai bisogno, solo per i file giusti.
Darò un esempio che mostra valori effettivamente diversi per utente e gruppo:
$ 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
(Modificato per leggibilità:rientro, ultima riga accorciata)
Note sulle prestazioni
Sebbene il tempo di esecuzione sia per lo più irrilevante per questo tipo di comando, l'aumento delle prestazioni è abbastanza grande qui da valere la pena segnalarlo:
Non solo risparmiamo creando un nuovo processo per ogni nome:un enorme task -le informazioni non hanno nemmeno bisogno di essere lette, come find
lo sa già.
tree -L 2 -u -g -p -d
Stampa l'albero delle directory in un bel formato fino alla profondità 2 (-L 2).Stampa utente (-u) e gruppo (-g) e autorizzazioni (-p).Stampa solo directory (-d).tree ha molte altre opzioni utili.