La liste des répertoires uniquement est-elle récursive sous Linux ?

Is List Only Directories Recursively Linux



Le mot récursif fait référence au fait qu'une commande du système d'exploitation Linux ou Unix traite le contenu des dossiers, et si un dossier a des sous-dossiers et des documents, l'instruction fonctionne toujours avec tous ces documents (récursivement). Il se peut que le répertoire enfant ait son propre ensemble de fichiers et de dossiers (par exemple, des dossiers volumineux), ainsi de suite. Vous utiliserez différentes instructions Linux pour parcourir récursivement chaque dossier avant d'atteindre le bord du dossier spécifié. À ce niveau, les instructions Linux retournent à un arrêt de l'arborescence et répètent le processus pour tous les sous-dossiers existants. Dans ce tutoriel, vous apprendrez toutes les méthodes pour lister les répertoires de manière récursive.

Exemples de répertoires à liste simple

Tout d'abord, vous devez savoir comment lister tous les répertoires de votre système Linux à l'aide de la simple commande list. Ouvrez le terminal de ligne de commande et essayez la commande ls ci-dessous pour répertorier uniquement les répertoires. Il ne répertoriera pas seulement les répertoires, mais le nombre total de sous-dossiers et de fichiers qui y résident. La sortie affiche les dossiers avec les informations concernant leur propriétaire, leur groupe, leurs privilèges de lecture-écriture et la date de création des dossiers.







$ ls -l



Pour lister tous les répertoires et fichiers de votre système Linux, vous devez utiliser -la au lieu du simple -l dans la commande list. Par conséquent, exécutez la commande mise à jour pour le faire. La sortie affiche tous les fichiers et dossiers ainsi que leurs informations supplémentaires.



$ ls -la





Pour simplement lister les répertoires sans informations supplémentaires, essayez la commande ci-dessous suivie de l'indicateur -d.

$ ls –d * /



Vous pouvez également utiliser la même commande avec peu de modifications pour répertorier les dossiers avec leurs informations supplémentaires. Il vous suffit d'ajouter l'indicateur -l dans cette commande comme suit :

$ ls –l –d * /

Pour vérifier uniquement le nombre total de fichiers dans le répertoire personnel spécifique, essayez la commande présentée ci-dessous dans le shell. Vous obtiendrez le nombre total de fichiers dans votre système d'exploitation Linux.

$ ls –l | egrep –v '^ d'

Exemple de liste de répertoires de manière récursive

Il existe différents types de commandes récursives disponibles dans les systèmes Linux, qui peuvent être utilisées pour répertorier les répertoires de manière récursive. Pour comprendre chacun d'eux séparément, supposons que vous ayez 5 fichiers dans votre répertoire Linux nommés Documents.

Lister de manière récursive à l'aide de l'indicateur -lR

Utiliser l'indicateur -lR dans votre requête pour lister de manière récursive tous les répertoires de votre système Linux est la première méthode pour le faire. Lors de l'exécution de la commande list ci-dessous, elle répertorie tous les dossiers et leurs sous-dossiers ainsi que leurs détails bonus, comme indiqué dans la sortie.

$ ls -lR

Laissez-nous simplement lister de manière récursive tous les fichiers ou dossiers d'un dossier ou d'un répertoire spécifique de votre système Linux. À cette fin, ajoutez le chemin d'emplacement du répertoire spécifique pour le répertorier de manière récursive. Nous souhaitons répertorier de manière récursive tous les fichiers et dossiers du répertoire Documents résidant dans le répertoire de base à l'aide de la commande mise à jour ci-dessous. La sortie affiche tous les fichiers et dossiers du dossier Documents ainsi que ses informations supplémentaires.

$ ls –lR / home / aqsayasin / Documents /

Lister de manière récursive à l'aide de la commande Find

Dites-vous clairement que tous les systèmes Linux, par exemple macOS, système d'exploitation de type Unix, n'ont pas le choix d'utiliser -R pour répertorier les répertoires. Dans ce cas, il existe d'autres commandes disponibles pour répondre à nos besoins, à savoir la commande find et print. Dans cette commande, nous allons donner un chemin d'accès à un dossier avec l'effet de levier de l'utilisation de la commande -ls. Lorsque -ls est utilisé dans la commande, cela signifie qu'il affichera également les informations supplémentaires concernant les fichiers et dossiers résidants d'un répertoire spécifique. Essayez la commande ci-dessous dans le shell pour répertorier de manière récursive tous les fichiers et dossiers du répertoire Documents.

$ find /home/aqsayasin/Documents/ -print -ls

Maintenant, vous devez essayer la même instruction dans le shell avec un peu de changement. Nous éviterons d'utiliser le drapeau -ls dans cette commande pour ne plus afficher les informations supplémentaires concernant les fichiers. Exécutez la requête ci-dessous dans le shell et vous obtiendrez la sortie affichée.

$ find /home/aqsayasin/Documents/ -print

Lister de manière récursive à l'aide de la commande -du

Jetons un coup d'œil à un autre exemple pour répertorier de manière récursive les fichiers ou les répertoires avec une autre nouvelle méthode. Cette fois, nous utiliserons la commande -du pour accomplir notre objectif. Cette commande contient l'indicateur -a. En plus des drapeaux, nous devons également spécifier l'emplacement du répertoire. Exécutons l'instruction ci-dessous dans le shell du terminal pour répertorier de manière récursive tous les dossiers ou fichiers du répertoire Documents. La sortie affiche les 5 enregistrements correspondants, comme indiqué ci-dessous. Vous pouvez voir que cette commande affiche également le nombre de piqûres résidant dans chaque fichier.

$ du –a / home / aqsayasin / Documents /

Lister récursivement à l'aide de la commande tree

Dernier point mais non le moindre, nous avons une méthode de commande d'arborescence très simple et facile à utiliser pour répertorier de manière récursive les fichiers ou dossiers. Nous n'utiliserons aucun indicateur dans cette commande jusqu'à présent. Vous devez spécifier l'emplacement du répertoire avec l'arborescence des mots clés. Ayons-en un exemple en utilisant la commande ci-dessous. La sortie affiche la sortie de type arborescent du répertoire Documents. Il affiche 0 répertoires et 5 fichiers dans la sortie.

$ tree /home/aqsayasin/Documents/

Essayons la même commande d'arborescence avec un emplacement différent. Cette fois, nous listons de manière récursive les dossiers du répertoire « Home » de l'utilisateur aqsayasin. La sortie montre les branches du dossier Home ayant un total de 14 dossiers, sous-dossiers et 5 fichiers différents.

$ arbre /home/aqsayasin/

Conclusion

Nous avons essayé toutes les méthodes récursives pour répertorier de manière récursive les répertoires et les fichiers, par exemple, -lR flag, find and print, du et tree command