Kas ainult kataloogide loend on Linuxis rekursiivselt?

Is List Only Directories Recursively Linux



Sõna rekursiivne viitab asjaolule, et Linuxi või Unixi operatsioonisüsteemi käsud tegelevad kaustade sisuga ning kui kaustas on alamkaustu ja dokumente, toimib käsk siiski kõigi nende dokumentidega (rekursiivselt). Võimalik, et alamkataloogil on oma failide ja kaustade komplekt (näiteks suured kaustad) jne ja nii edasi. Kasutate erinevaid Linuxi juhiseid iga kausta rekursiivseks läbimiseks enne määratud kausta servale jõudmist. Sellel tasemel naasevad Linuxi juhised puu väljalülitamiseni ja kordavad protsessi kõigi olemasolevate alamkaustade puhul. Selles õpetuses saate teada kõik meetodid kataloogide rekursiivseks loetlemiseks.

Lihtsate loendikataloogide näited

Esiteks peate teadma, kuidas lihtsa loendi käsu abil loetleda kõik oma Linuxi süsteemi kataloogid. Avage käsureaterminal ja proovige allolevat käsku, et loetleda ainult kataloogid. See ei loetle mitte ainult katalooge, vaid ka nende alamkaustade ja failide koguarvu. Väljund näitab kaustu koos teabega nende omaniku, rühma, lugemis-kirjutamisõiguste ja kaustade loomise kuupäeva kohta.







$ ls -l



Kõigi Linuxi süsteemis olevate kataloogide ja failide loetlemiseks peate loendi käsus kasutama lihtsa -l asemel -la. Seetõttu täitke selleks värskendatud käsk. Väljund näitab kõiki faile ja kaustu koos nende lisateabega.



$ ls -la





Kataloogide lihtsalt lisateabeta loetlemiseks proovige allolevat käsku, millele järgneb lipp -d.

$ ls – d * /



Sama käsku saate ka väikeste muudatustega kasutada, et loetleda kaustad koos nende lisateabega. Selle käsu juurde peate lihtsalt lisama lipu -l järgmiselt:

$ ls –l –d * /

Kui soovite kontrollida ainult konkreetses kodukataloogis olevate failide koguarvu, proovige alltoodud käsku kesta. Saate oma Linuxi operatsioonisüsteemis olevate failide koguarvu.

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

Näide kataloogide loetlemisest rekursiivselt

Linuxi süsteemides on saadaval erinevat tüüpi rekursiivseid käske, mida saab kasutada kataloogide rekursiivseks loetlemiseks. Mõlema neist eraldi mõistmiseks eeldage, et teie Linuxi kataloogis on dokumendid 5 faili.

Loetlege rekursiivselt, kasutades -lR lippu

Esimene meetod selleks, et kasutada oma päringus lippu -lR kõigi Linuxi kataloogide rekursiivseks loetlemiseks. Pärast alloleva loendi käsu täitmist loetleb see kõik kaustad ja nende alamkaustad koos nende boonusandmetega, nagu on näidatud väljundis.

$ ls -lR

Loetleme lihtsalt rekursiivselt kõik teie Linuxi süsteemi mõne konkreetse kausta või kataloogi failid või kaustad. Selleks lisage selle kataloogi rekursiivseks loetlemiseks asukoha tee. Tahame rekursiivselt loetleda kõik kodukataloogis olevad kataloogi Dokumendid failid ja kaustad, kasutades allpool värskendatud käsku. Väljundis kuvatakse kõik dokumendi kausta failid ja kaustad koos lisateabega.

$ ls –lR / home / aqsayasin / Dokumendid /

Loetlege rekursiivselt, kasutades käsku Find

Tehke endale selgeks, et mitte kõik Linuxi süsteemid, nt macOS, Unixi -taoline OS, ei saa kataloogide loetlemiseks kasutada -R -i. Sellisel juhul on meie vajaduste rahuldamiseks saadaval ka muid käske, mis on käsk leida ja printida. Selles käsus anname tee kausta koos käsu -ls kasutamise võimendusega. Kui käsus kasutatakse -ls, näitab see ka lisateavet konkreetse kataloogi failide ja kaustade kohta. Proovige kesta alltoodud käsku, et rekursiivselt loetleda kataloogi Dokumendid kõik failid ja kaustad.

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

Nüüd peate proovima sama juhist kestas väikese muudatusega. Väldime selles käsus lipu -ls kasutamist, et lõpetada failide kohta lisateabe kuvamine. Käivitage allpool loetletud päring kestas ja kuvatakse väljund.

$ find/home/aqsayasin/Dokumendid/-print

Loetlege rekursiivselt, kasutades käsku -du

Vaatame mõnda muud näidet failide või kataloogide rekursiivseks loetlemiseks teise uue meetodiga. Seekord kasutame oma eesmärgi saavutamiseks käsku -du. See käsk sisaldab -a lippu. Koos lippudega peame täpsustama ka kataloogi asukoha. Täitkem terminali kestas alltoodud juhised, et rekursiivselt loetleda kataloogi Dokumendid kõik kaustad või failid. Väljund näitab selle 5 kirjet, nagu allpool näidatud. Näete, et see käsk näitab ka igas failis olevate hammustuste arvu.

$ du –a / home / aqsayasin / Dokumendid /

Loetlege rekursiivselt puu käsu abil

Lõpuks on meil failide või kaustade rekursiivseks loetlemiseks väga lihtne ja hõlpsasti kasutatav puu käsumeetod. Me ei kasuta selles käsus seni ühtegi lippu. Peate määrama kataloogi asukoha koos märksõnapuuga. Toome selle kohta näite, kasutades allpool loetletud käsku. Väljund näitab kataloogi Dokumendid puuharulist tüüpi väljundit. See näitab väljundis 0 kataloogi ja 5 faili.

$ tree/home/aqsayasin/Dokumendid/

Proovime sama puu käsku erineva asukohaga. Seekord loetleme rekursiivselt kasutaja aqsayasin kataloogi „Kodu” kaustu. Väljund näitab kausta Home harusid, millel on kokku 14 erinevat kausta, alamkausta ja 5 faili.

$ tree/home/aqsayasin/

Järeldus

Oleme proovinud kõiki rekursiivseid meetodeid kataloogide ja failide rekursiivseks loetlemiseks, nt -lR lipp, leidmine ja printimine, du ja puu käsk