Comment lister tous les fichiers et le contenu des sous-répertoires dans un dossier

Vous avez toujours voulu voir non seulement tous les fichiers d'un répertoire donné, mais tous les fichiers de ces répertoires sous-répertoires enterrés? Si vous cherchez une liste récursive de fichiers dans un dossier donné, nous allons vous montrer une astuce pour le Finder de Mac OS X qui vous permettra de faire exactement cela, et aussi démontrer plusieurs approches plus avancées en utilisant la commande ligne.

Développer tous les sous-répertoires et la liste du contenu du dossier dans le Finder OS X

Pour voir rapidement ce qui se trouve dans tous les sous-répertoires d'un dossier du Finder, ouvrez le dossier parent et passez en affichage par liste. Maintenant, vous devez maintenir la touche Option et cliquez sur la petite flèche à côté du nom du répertoire pour développer ce répertoire et tous les sous-répertoires en même temps.

Le résultat est que chaque sous-dossier contenu dans le répertoire sur lequel vous avez cliqué sur la flèche indiquera également son contenu:

Si vous cliquez à nouveau sur cette flèche, tous les sous-répertoires se referment, sinon cela devient la nouvelle vue par défaut lorsque vous cliquez sur la flèche.

Gardez à l'esprit que si vous souhaitez afficher les fichiers cachés à l'aide de cette méthode, vous devez activer les fichiers masqués séparément dans le Finder de Mac OS X, puis les exécuter dans tous les dossiers jusqu'à ce qu'ils soient à nouveau désactivés.

L'approche ci-dessus va être la méthode la plus simple pour la plupart des utilisateurs, et les deux méthodes suivantes sont axées sur la ligne de commande et sont destinées à ceux qui sont à l'aise dans le Terminal.

Répertorier tous les fichiers et le contenu des sous-répertoires à partir de la ligne de commande

Pour lister récursivement tous les fichiers à partir de la ligne de commande, vous pouvez attacher l'indicateur -R à la commande ls traditionnelle. Cela développe les sous-répertoires et répertorie les fichiers qu'ils contiennent. Ces commandes fonctionneront dans à peu près toutes les formes d'unix, de OS X à Linux ou tout ce que vous pourriez rencontrer.

ls -R ~/Desktop/

La sortie de l'échantillon ressemblerait à ceci:

/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

La sortie est décente, mais il pourrait être mieux arrangé.

L'utilisation des indicateurs -lah en plus de -R affiche les permissions, la propriété, les dates de modification, et facilite grandement la lecture des fichiers. L'option -a est facultative, ce qui permet également d'afficher les fichiers cachés.

ls -lahR ~/Desktop/

La sortie de l'échantillon ressemblerait à ceci:

/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

Vous remarquerez que le chemin d'accès à chaque fichier est répertorié au-dessus des fichiers eux-mêmes, en développant les sous-répertoires beaucoup comme la méthode Finder mentionnée en haut. Vous pouvez obtenir le chemin pour continuer le nom de fichier en utilisant une commande différente entièrement.

Répertorier tous les fichiers de manière récursive avec les chemins de répertoire complets affichés

Enfin, si vous voulez une liste de tous les fichiers avec leurs chemins complets spécifiés, vous pouvez passer à la commande find.

find ~/Desktop/Sample/ -type f

Cela va vider le chemin complet de chaque fichier dans une liste:

/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

Si vous souhaitez partager une liste de répertoires avec quelqu'un, la commande find offre probablement des résultats supérieurs. Dans un tel cas, vous pouvez facilement exporter la sortie vers un fichier en attachant un> à la fin comme ceci:

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

L'indicateur "-type f" signifie uniquement les fichiers ordinaires, si vous souhaitez afficher plus d'objets ou de liens symboliques, vous pouvez consulter la page de manuel pour trouver des informations supplémentaires.