Els directoris de llista només són recursius a Linux?

Is List Only Directories Recursively Linux



La paraula recursiu es refereix al fet que les ordres d’un sistema operatiu Linux o Unix s’ocupen del contingut de les carpetes i, si una carpeta té subcarpetes i documents, la instrucció encara funciona amb tots aquests documents (recursivament). Podria ser possible que el directori fill tingués el seu propi conjunt de fitxers i carpetes (per exemple, carpetes grans), etc., etc. Utilitzarà diferents instruccions de Linux per recórrer recursivament cada carpeta abans d'arribar al límit de la carpeta especificada. En aquest nivell, les instruccions de Linux tornen a un apagat de l'arbre i repeteixen el procés per a les subcarpetes que hi hagi. En aquest tutorial, aprendreu tots els mètodes per llistar els directoris de manera recursiva.

Exemples de directoris de llistes simples

Primer de tot, heu de saber com llistar tots els directoris del vostre sistema Linux mitjançant l’ordre simple list. Obriu el terminal de línia d’ordres i proveu l’ordre següent de ls per llistar només els directoris. No només enumerarà els directoris, sinó el nombre total de subcarpetes i fitxers que hi resideixen. La sortida mostra les carpetes amb la informació relativa al seu propietari, grup, privilegis de lectura i escriptura i la data de creació de les carpetes.







$ ls -l



Per llistar tots els directoris i fitxers del vostre sistema Linux, heu d'utilitzar -la en lloc de simple -l a l'ordre list. Per tant, executeu l'ordre actualitzada per fer-ho. La sortida mostra tots els fitxers i carpetes juntament amb la seva informació addicional.



$ Ls -la





Per llistar simplement els directoris sense informació addicional, proveu l'ordre següent seguida del senyalador -d.

$ ls –d */



També podeu utilitzar la mateixa ordre amb poques modificacions per llistar les carpetes juntament amb la seva informació addicional. Només heu d'afegir el senyalador -l dins d'aquesta ordre de la següent manera:

$ ls –l –d */

Per comprovar només el nombre total de fitxers al directori d'inici específic, proveu l'ordre que es mostra a continuació a l'intèrpret d'ordres. Obtindreu el nombre total de fitxers del vostre sistema operatiu Linux.

$ ls –l | egrep –v ‘^d’

Exemple de directoris de llistats de forma recursiva

Hi ha diferents tipus d’ordres recursives disponibles a Linux Systems, que es poden utilitzar per llistar els directoris recursivament. Per entendre cadascun d'ells per separat, suposem que teniu 5 fitxers al directori Linux anomenats Documents.

Llista recursivament mitjançant el senyalador -lR

El primer mètode per fer-ho és utilitzar el senyalador -lR a la vostra consulta per llistar recursivament tots els directoris del vostre sistema Linux. Després de l'execució de l'ordre list a continuació, mostrarà totes les carpetes i les seves subcarpetes juntament amb els detalls de la bonificació, tal com es mostra a la sortida.

$ ls -lR

Anem a llistar recursivament tots els fitxers o carpetes d'alguna carpeta o directori específics del vostre sistema Linux. Amb aquest propòsit, afegiu la ruta d'ubicació del directori específic per llistar-lo recursivament. Volem llistar recursivament tots els fitxers i carpetes del directori Documents que resideixen al directori inicial mitjançant l'ordre actualitzat a continuació. La sortida mostra tots els fitxers i carpetes de la carpeta Documents juntament amb la seva informació addicional.

$ ls –lR /home/aqsayasin/Documents/

Llista recursivament mitjançant l'ordre Cerca

Aclareu-vos a vosaltres mateixos que no tots els sistemes Linux, per exemple, macOS, un sistema operatiu similar a Unix, tenen l'opció d'utilitzar -R per llistar els directoris. En aquest cas, hi ha altres ordres disponibles per satisfer les nostres necessitats que són l’ordre find and print. En aquesta ordre, donarem un camí cap a una carpeta juntament amb l’aprofitament d’utilitzar l’ordre -ls. Quan s'utilitza -ls a l'ordre, això vol dir que també mostrarà la informació addicional sobre els fitxers i carpetes residents d'un directori específic. Proveu l'ordre següent a l'intèrpret d'ordres per llistar recursivament tots els fitxers i carpetes del directori Documents.

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

Ara, heu de provar la mateixa instrucció a l'intèrpret d'ordres amb un petit canvi. Evitarem utilitzar el senyalador -ls en aquesta ordre per deixar de mostrar la informació addicional sobre fitxers. Executeu la consulta de la llista següent a l'intèrpret d'ordres i tindreu la sortida que es mostra.

$ find / home / aqsayasin / Documents / -print

Llista recursivament mitjançant l'ordre -du

Vegem un altre exemple per llistar recursivament els fitxers o directoris amb un altre mètode nou. Aquesta vegada, utilitzarem l’ordre -du per complir el nostre propòsit. Aquesta ordre conté el senyalador -a. Juntament amb els indicadors, també hem d’especificar la ubicació del directori. Executem la següent instrucció a l'intèrpret d'ordres del terminal per llistar recursivament totes les carpetes o fitxers del directori Documents. La sortida mostra els 5 registres corresponents, tal com es mostra a continuació. Podeu veure que aquesta ordre també mostra el nombre de mossegades que hi ha a cada fitxer.

$ Du -a / home / aqsayasin / Documents /

Llista de manera recursiva mitjançant l'ordre d'arbre

Per últim, però no menys important, tenim un mètode d’ordres d’arbre molt senzill i fàcil d’utilitzar per llistar recursivament els fitxers o carpetes. Fins ara no farem servir cap senyalador en aquesta ordre. Heu d'especificar la ubicació del directori juntament amb l'arbre de paraules clau. Donem-ne un exemple mitjançant l'ordre que es mostra a continuació. La sortida mostra la sortida de tipus ramificat d'arbre del directori Documents. Mostra 0 directoris i 5 fitxers a la sortida.

$ tree / home / aqsayasin / Documents /

Provem la mateixa ordre d'arbre amb una ubicació diferent. Aquesta vegada llistem recursivament les carpetes del directori 'Inici' de l'usuari aqsayasin. La sortida mostra les branques de la carpeta Inici amb un total de 14 carpetes, subcarpetes i 5 fitxers diferents.

$ tree / home / aqsayasin /

Conclusió

Hem provat tots els mètodes recursius per llistar recursivament els directoris i fitxers, per exemple, -lR flag, find and print, du i tree command