Come elencare tutti i file e il contenuto della sottodirectory in una cartella

Hai mai voluto vedere non solo ogni file in una determinata directory, ma tutti i file all'interno di quelle directory nascondevano sottodirectory? Se stai cercando quello che è fondamentalmente un elenco ricorsivo di file in una determinata cartella, mostreremo un grande trucco per il Finder di Mac OS X che ti permette di fare proprio questo, e anche dimostrare diversi approcci più avanzati usando il comando linea.

Espandi tutte le sottodirectory e i contenuti delle cartelle di elenco nel Finder di OS X.

Per vedere rapidamente cosa c'è in tutte le sottodirectory di una cartella all'interno del Finder, apri la cartella principale e passa alla visualizzazione elenco. Ora è necessario tenere premuto il tasto Opzione e fare clic sulla piccola freccia accanto al nome della directory per espandere quella directory e tutte le sottodirectory contemporaneamente.

Il risultato è che ogni sottocartella contenuta nella directory su cui si è fatto clic su una freccia, ne rivelerà anche il contenuto:

Facendo clic su questa freccia di nuovo, tutte le sottodirectory si chiuderanno, altrimenti diventerà la nuova vista predefinita quando si fa clic sulla freccia.

Tieni presente che se vuoi visualizzare i file nascosti con questo metodo, devi abilitare i file nascosti da mostrare separatamente nel Finder di Mac OS X, che verrà poi eseguito in ogni cartella finché non verrà nuovamente disattivato.

L'approccio di cui sopra sarà il metodo più semplice per la maggior parte degli utenti, ei due metodi successivi sono focalizzati sulla riga di comando e sono rivolti a quelli che sono confortevoli nel terminale.

Elenca tutti i file e i contenuti della sottodirectory dalla riga di comando

Per elencare tutti i file in modo ricorsivo dalla riga di comando, è possibile collegare il flag -R al comando ls tradizionale. Questo espande le sottodirectory e elenca i file contenuti al loro interno. Questi comandi funzioneranno in quasi tutte le forme di Unix, da OS X a Linux o qualsiasi altra cosa tu possa incontrare.

ls -R ~/Desktop/

L'output di esempio sarebbe simile a questo:

/Users/macuser/Desktop//wallpapers:
Dark Tower.jpg milky-way.jpg
car.jpg ngc602.jpg
flaming-star-nebula.jpg ngc6188Kfir2000.jpg
windows.jpg m33.jpg
/Users/macuser/Desktop//trip:
volcano.jpeg itenerary.txt tickets.JPG

L'output è decente, ma potrebbe essere organizzato meglio.

L'utilizzo dei flag -lah oltre a -R mostrerà le autorizzazioni, la proprietà, le date di modifica e facilita la lettura delle informazioni sui file. Il flag -a è facoltativo e consente di visualizzare anche i file nascosti.

ls -lahR ~/Desktop/

L'output di esempio sarà simile a:

/Users/macuser/Desktop/wallpapers:
total 5464
drwxr-xr-x@ 11 macuser staff 374B Jan 14 15:32 .
drwxr-xr-x 522 macuser staff 17K Jan 28 10:20 ..
-rw-r--r--@ 1 macuser staff 254K Jan 13 15:44 Dark Tower.jpg
-rw-r--r--@ 1 macuser staff 101K Jan 14 15:32 cars.jpg
-rw-r--r--@ 1 macuser staff 141K Jan 13 15:44 star-nebula.jpg
-rw-r--r--@ 1 macuser staff 206K Jan 14 09:57 nintendo.jpg
-rw-r--r--@ 1 macuser staff 134K Jan 13 15:44 m33.jpg
-rw-r--r--@ 1 macuser staff 1.4M Jan 13 15:30 milky-way.jpg
-rw-r--r--@ 1 macuser staff 153K Jan 13 15:44 ngc602.jpg
-rw-r--r--@ 1 macuser staff 194K Jan 13 15:44 windows.jpg
/Users/macuser/Desktop/trip:
total 360
drwxr-xr-x@ 6 macuser staff 204B Dec 9 13:43 .
drwxr-xr-x 522 macuser staff 17K Jan 22 10:20 ..
-rw-r--r--@ 1 macuser staff 6.0K Dec 9 13:43 .DS_Store
-rw-r--r--@ 1 macuser staff 30K Dec 8 12:41 volcano.jpeg
-rw-r--r--@ 1 macuser staff 45K Dec 8 12:41 itinerary.txt
-rw-r--r--@ 1 macuser staff 88K Dec 9 12:31 tickets.JPG

Noterai che il percorso di ogni file è elencato sopra i file stessi, espandendo le sottodirectory molto simile al metodo Finder menzionato in alto. È possibile ottenere il percorso per procedere con il nome del file utilizzando comunque un comando diverso.

Elencare tutti i file in modo ricorsivo con i percorsi di directory completi visualizzati

Infine, se si desidera un elenco di tutti i file con i percorsi completi specificati, è possibile passare al comando find.

find ~/Desktop/Sample/ -type f

Questo scaricherà il percorso completo per ogni file in un elenco:

/Users/macuser/Desktop/Sample/x11.jpg
/Users/macuser/Desktop/Sample/Files/alpha-tool-preview.jpg
/Users/macuser/Desktop/Sample/Files/alpha-tool.jpg
/Users/macuser/Desktop/Sample/Files/reveal-editing-tools-preview.jpg
/Users/macuser/Desktop/Sample/Files/save-transparent-png.jpg

Se stai cercando di condividere un elenco di directory con qualcuno, il comando find probabilmente offre risultati superiori. In tal caso, è possibile scaricare facilmente l'output in un file allegando un> alla fine in questo modo:

find /Path/To/List -type f > FilesWithPaths.txt

Il flag "-type f" indica solo file regolari, se vuoi mostrare più oggetti o collegamenti simbolici puoi controllare la pagina man per trovare informazioni aggiuntive.