Jesu li rekurzivno u Linuxu samo direktoriji s popisom?

Is List Only Directories Recursively Linux

Riječ rekurzivno odnosi se na činjenicu da se naredbe operacijskog sustava Linux ili Unix bave sadržajem mapa, a ako mapa ima podmape i dokumente, uputa i dalje funkcionira sa svim tim dokumentima (rekurzivno). Moguće je da podređeni direktorij ima vlastiti skup datoteka i mapa (na primjer, velike mape), itd. I tako dalje. Koristit ćete različite Linux upute za rekurzivno prelaženje svake mape prije nego što stignete do ruba navedene mape. Na toj se razini upute za Linux vraćaju na isključenje stabla i ponavljaju postupak za sve postojeće podmape. U ovom ćete vodiču naučiti sve metode za rekurzivno navođenje direktorija.

Primjeri direktorija jednostavnih popisa

Prije svega, morate znati popisati sve direktorije s vašeg Linux sustava pomoću jednostavne naredbe list. Otvorite terminal naredbenog retka i isprobajte donju naredbu ls da navedete samo direktorije. Neće samo navesti direktorije već i ukupni broj podmapa i datoteka koje se u njima nalaze. Ispis prikazuje mape s podacima o njihovim vlasnicima, grupi, ovlastima za čitanje i pisanje i datumu stvaranja mapa.



$ ls -l



Za popis svih direktorija i datoteka u vašem Linux sustavu morate koristiti -la umjesto jednostavnog -l u naredbi list. Stoga za to izvedite ažuriranu naredbu. Ispis prikazuje sve datoteke i mape zajedno s njihovim dodatnim podacima.



$ ls -la

Da biste jednostavno naveli direktorije bez dodatnih informacija, pokušajte s naredbom u nastavku, iza koje slijedi zastavica -d.

$ ls –d * /



Istu naredbu možete koristiti s malim izmjenama za popis mapa zajedno s njihovim dodatnim podacima. U ovu naredbu morate samo dodati zastavicu -l na sljedeći način:

$ ls –l –d * /

Da biste provjerili samo ukupan broj datoteka u određenom matičnom direktoriju, pokušajte dolje predstavljenu naredbu u ljusci. Dobit ćete ukupan broj datoteka u vašem operacijskom sustavu Linux.

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

Primjer uvrštavanja direktorija rekurzivno

U Linux sustavima postoje različite vrste rekurzivnih naredbi koje se mogu koristiti za rekurzivno popisivanje direktorija. Da biste razumjeli svaku od njih zasebno, pretpostavite da u vašem Linux direktoriju imate 5 datoteka pod nazivom Documents.

Popis rekurzivno pomoću oznake -lR

Korištenje zastavice -lR u vašem upitu za rekurzivni popis svih direktorija vašeg Linux sustava prva je metoda za to. Nakon izvršavanja naredbe list u nastavku, ona će ispisati sve mape i njihove podmape zajedno s njihovim bonus podacima, kao što je prikazano u ispisu.

$ ls -lR

Dopustite nam samo rekurzivno popis svih datoteka ili mapa iz neke određene mape ili direktorija vašeg Linux sustava. U tu svrhu dodajte put lokacije određenog direktorija da biste ga naveli rekurzivno. Želimo rekurzivno popisati sve datoteke i mape direktorija Dokumenti koji se nalaze u matičnom direktoriju pomoću naredbe ispod ažurirane. Ispis prikazuje sve datoteke i mape unutar mape Dokumenti zajedno s dodatnim podacima.

$ ls –lR / home / aqsayasin / Dokumenti /

Popis rekurzivno pomoću naredbe Find

Objasnite sebi da nemaju svi Linux sustavi, npr. MacOS, OS nalik Unixu, mogućnost korištenja -R za popis direktorija. U tom slučaju dostupne su druge naredbe za ispunjenje naših potreba, a to su naredba find and print. U ovoj naredbi dat ćemo put do mape zajedno s utjecajem korištenja naredbe -ls. Kada se -ls koristi u naredbi, to znači da će također prikazati dodatne informacije u vezi preostalih datoteka i mapa određenog direktorija. Pokušajte dolje navedenu naredbu u ljusci za rekurzivni popis svih datoteka i mapa direktorija Dokumenti.

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

Sada morate isprobati istu uputu u ljusci uz malu promjenu. Izbjeći ćemo upotrebu zastavice -ls u ovoj naredbi za prestanak prikazivanja dodatnih informacija u vezi s datotekama. Izvršite dolje navedeni upit u ljusci i dobit ćete prikazani izlaz.

$ find/home/aqsayasin/Documents/-print

Popis rekurzivno pomoću naredbe -du

Pogledajmo još jedan primjer za rekurzivni popis datoteka ili direktorija drugom novom metodom. Ovaj put ćemo koristiti naredbu -du za postizanje naše svrhe. Ova naredba sadrži zastavicu -a. Uz zastavice, moramo navesti i mjesto direktorija. Izvršimo naredbu u nastavku u ljusci terminala za rekurzivni popis svih mapa ili datoteka direktorija Dokumenti. Izlaz prikazuje 5 zapisa za nju, kao što je prikazano u nastavku. Možete vidjeti da ova naredba također prikazuje broj ugriza zaostalih u svakoj datoteci.

$ du –a / home / aqsayasin / Dokumenti /

Popis rekurzivno pomoću naredbe stabla

Posljednje, ali ne i najmanje važno, imamo vrlo jednostavnu i laku za korištenje metodu naredbe stabla za rekurzivni popis datoteka ili mapa. U ovoj naredbi do sada nećemo koristiti zastavu. Morate navesti mjesto direktorija zajedno sa stablom ključnih riječi. Navedimo primjer toga pomoću naredbe navedene ispod. Izlaz prikazuje stabla razgranatog tipa direktorija Dokumenti. Prikazuje 0 direktorija i 5 datoteka u izlazu.

$ tree/home/aqsayasin/Documents/

Pokušajmo s istom naredbom stabla s različitim mjestom. Ovaj put rekurzivno popisujemo mape direktorija ‘Home’ korisnika aqsayasin. Ispis prikazuje grane mape Home s ukupno 14 različitih mapa, podmapa i 5 datoteka.

$ drvo/dom/aqsayasin/

Zaključak

Isprobali smo sve rekurzivne metode za rekurzivni popis direktorija i datoteka, npr. -LR zastavica, naredba za pronalaženje i ispis, du i stablo