Ali so imeniki samo seznami rekurzivno v Linuxu?

Is List Only Directories Recursively Linux



Beseda rekurzivno se nanaša na dejstvo, da ukazi operacijskega sistema Linux ali Unix obravnavajo vsebino map, in če mapa vsebuje podmape in dokumente, navodila še vedno delujejo z vsemi temi dokumenti (rekurzivno). Možno je, da ima podrejeni imenik svoj nabor datotek in map (na primer velike mape) itd. Za rekurzivno premikanje vsake mape boste uporabili različna navodila Linuxa, preden pridete do roba določene mape. Na tej ravni se navodila za Linux vrnejo na izklop drevesa in ponovijo postopek za vse obstoječe podmape. V tej vadnici se boste naučili vseh metod za rekurzivno navajanje imenikov.

Primeri imenikov preprostih seznamov

Najprej morate vedeti, kako s preprostim ukazom za seznam našteti vse imenike iz vašega sistema Linux. Odprite terminal ukazne vrstice in v spodnjem ukazu ls navedite samo imenike. Ne bo navedel samo imenikov, ampak tudi skupno število podmap in datotek, ki so v njih. Izhod prikazuje mape z informacijami o njihovih lastnikih, skupinah, pravicah za branje in pisanje ter datumom ustvarjanja map.







$ ls -l



Če želite navesti vse imenike in datoteke v sistemu Linux, morate v ukazu list uporabiti -la namesto preprostega -l. Zato za to izvedite posodobljen ukaz. Izhod prikazuje vse datoteke in mape skupaj z njihovimi dodatnimi informacijami.



$ ls -la





Če želite preprosto navesti imenike brez dodatnih informacij, poskusite spodnji ukaz, ki mu sledi zastavica -d.

$ ls –d * /



Isti ukaz z majhnimi spremembami lahko uporabite tudi za seznam map skupaj z njihovimi dodatnimi informacijami. V ta ukaz morate dodati zastavico -l na naslednji način:

$ ls –l –d * /

Če želite preveriti samo skupno število datotek v določenem domačem imeniku, poskusite spodaj predstavljeni ukaz v lupini. Dobili boste skupno število datotek v operacijskem sistemu Linux.

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

Primer uvrščanja imenikov rekurzivno

V sistemih Linux so na voljo različne vrste rekurzivnih ukazov, ki jih lahko uporabite za rekurzivno iskanje imenikov. Če želite razumeti vsakega posebej, predpostavimo, da imate v imeniku Linuxa 5 datotek z imenom Dokumenti.

Seznam rekurzivno z uporabo zastavice -lR

Prvi način, da uporabite zastavico -lR v poizvedbi za rekurzivni seznam vseh imenikov vašega sistema Linux. Po izvedbi spodnjega ukaza seznam bo prikazal vse mape in njihove podmape skupaj s podrobnostmi o bonusu, kot je prikazano v izhodu.

$ ls -lR

Naj samo rekurzivno navedemo vse datoteke ali mape iz določene mape ali imenika vašega sistema Linux. V ta namen dodajte pot lokacije do določenega imenika, da ga navedete rekurzivno. Z spodnjim posodobljenim ukazom želimo rekurzivno navesti vse datoteke in mape imenikov Dokumenti, ki se nahajajo v domačem imeniku. Izhod prikazuje vse datoteke in mape v mapi Dokumenti skupaj z dodatnimi informacijami.

$ ls –lR / home / aqsayasin / Dokumenti /

Seznam rekurzivno z uporabo ukaza Find

Jasno si povejte, da nimajo vsi sistemi Linux, na primer macOS, Unixu podobni OS, izbire z uporabo -R za seznam imenikov. V tem primeru so na voljo drugi ukazi, ki izpolnjujejo naše potrebe, in sicer ukaz find in print. V tem ukazu bomo podali pot do mape skupaj z vzvodom uporabe ukaza -ls. Ko se -ls uporablja v ukazu, to pomeni, da bo prikazal tudi dodatne informacije o preostalih datotekah in mapah določenega imenika. Poskusite spodnji ukaz v lupini za rekurzivni seznam vseh datotek in map imenika Dokumenti.

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

Zdaj morate poskusiti isto navodilo v lupini z majhno spremembo. Izognili se bomo uporabi zastavice -ls v tem ukazu, da nehamo prikazovati dodatne informacije o datotekah. Izvedite spodaj navedeno poizvedbo v lupini in dobili boste prikazani izhod.

$ find/home/aqsayasin/Documents/-print

Seznam rekurzivno z ukazom -du

Oglejmo si še en primer rekurzivnega seznama datotek ali imenikov z drugo novo metodo. Tokrat bomo za uresničitev svojega namena uporabili ukaz -du. Ta ukaz vsebuje zastavico -a. Skupaj z zastavami moramo določiti tudi lokacijo imenika. Izvedimo spodnje navodilo v terminalski lupini za rekurzivni seznam vseh map ali datotek imenika Dokumenti. Izhod prikazuje 5 zapisov zanj, kot je prikazano spodaj. Vidite lahko, da ta ukaz prikazuje tudi število ugrizov v vsaki datoteki.

$ du –a / home / aqsayasin / Documents /

Seznam rekurzivno z uporabo drevesnega ukaza

Nenazadnje imamo zelo enostaven in enostaven način drevesnega ukaza za rekurzivni seznam datotek ali map. V tem ukazu doslej ne bomo uporabljali zastavice. Lokacijo imenika morate določiti skupaj z drevesom ključnih besed. Dajmo njegov primer z uporabo spodaj navedenega ukaza. Izhod prikazuje izhod drevesne razvejane vrste imenika Dokumenti. V izhodu prikaže 0 imenikov in 5 datotek.

$ tree/home/aqsayasin/Documents/

Poskusimo isti ukaz drevesa z drugo lokacijo. Tokrat rekurzivno navajamo mape imenika 'Home' uporabnika aqsayasin. Izhod prikazuje veje mape Domov, ki imajo skupaj 14 različnih map, podmap in 5 datotek.

$ drevo/dom/aqsayasin/

Zaključek

Poskusili smo vse rekurzivne metode za rekurzivni seznam imenikov in datotek, na primer -lR zastavo, iskanje in tiskanje, ukaz du in drevo