Sú zoznamy iba rekurzívne v Linuxe?

Is List Only Directories Recursively Linux



Slovo rekurzívne označuje skutočnosť, že príkazy operačného systému Linux alebo Unix sa zaoberajú obsahom priečinkov a ak priečinok obsahuje podpriečinky a dokumenty, inštrukcia stále funguje so všetkými týmito dokumentmi (rekurzívne). Je možné, že podradený adresár má vlastnú sadu súborov a priečinkov (napríklad veľké priečinky) atď. Na rekurzívne prechádzanie každého priečinka použijete rôzne pokyny pre Linux a až potom sa dostanete na okraj zadaného priečinka. Na tejto úrovni sa pokyny pre Linux vrátia k odbočke zo stromu a postup zopakujú pre všetky existujúce podpriečinky. V tomto návode sa naučíte všetky metódy rekurzívneho zoznamu adresárov.

Príklady jednoduchých zoznamov adresárov

Najprv musíte vedieť, ako vytvoriť zoznam všetkých adresárov z vášho systému Linux pomocou jednoduchého príkazu list. Otvorte terminál príkazového riadka a vyskúšajte nasledujúci príkaz ls, aby ste uviedli iba adresáre. Zobrazí sa nielen zoznam adresárov, ale celkový počet podadresárov a súborov, ktoré sa v nich nachádzajú. Výstup zobrazuje priečinky s informáciami o ich majiteľovi, skupine, oprávneniach na čítanie a zápis a dátume vytvorenia priečinkov.







$ ls -l



Ak chcete zobraziť zoznam všetkých adresárov a súborov vo vašom systéme Linux, v príkaze list musíte použiť príkaz -la namiesto jednoduchého príkazu -l. Vykonajte preto aktualizovaný príkaz. Výstup zobrazuje všetky súbory a priečinky spolu s ich ďalšími informáciami.



$ ls -la





Ak chcete jednoducho vypísať zoznam adresárov bez ďalších informácií, vyskúšajte nasledujúci príkaz a za ním príznak -d.

$ ls –d * /



Rovnaký príkaz môžete s malými úpravami použiť aj na zoznam priečinkov a ich ďalších informácií. Do tohto príkazu stačí pridať príznak -l takto:

$ ls –l –d * /

Ak chcete skontrolovať iba celkový počet súborov v konkrétnom domovskom adresári, vyskúšajte nižšie uvedený príkaz v shelle. Získate celkový počet súborov vo vašom operačnom systéme Linux.

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

Príklad zoznamov adresárov rekurzívne

V systéme Linux sú k dispozícii rôzne typy rekurzívnych príkazov, ktoré je možné použiť na rekurzívny zoznam adresárov. Aby ste porozumeli každému z nich samostatne, predpokladajte, že máte v adresári Linuxu 5 súborov s názvom Dokumenty.

Vytvorte zoznam rekurzívne pomocou príznaku -lR

Prvá metóda, ako použiť vo svojom dotaze príznak -lR na rekurzívny zoznam všetkých adresárov vášho systému Linux, je. Po vykonaní nižšie uvedeného príkazu zoznam zobrazí zoznam všetkých priečinkov a ich podpriečinkov spolu s bonusovými podrobnosťami, ako je to uvedené vo výstupe.

$ ls -lR

Ukážme iba rekurzívne všetky súbory alebo priečinky z nejakého konkrétneho priečinka alebo adresára vášho systému Linux. Za týmto účelom pridajte cestu k umiestneniu konkrétneho adresára a rekurzívne ho zaraďte. Chceme rekurzívne vypísať všetky súbory a priečinky adresára Dokumenty nachádzajúce sa v domovskom adresári pomocou nižšie aktualizovaného príkazu. Výstup zobrazí všetky súbory a priečinky v priečinku Dokumenty spolu s ďalšími informáciami.

$ ls –lR / domov / aqsayasin / Dokumenty /

Zoznam rekurzívne pomocou príkazu Hľadať

Uistite sa, že nie všetky systémy Linux, napr. MacOS, OS podobné operačnému systému Unix, majú na výber zoznamov adresárov možnosť -R. V takom prípade sú na splnenie našich potrieb k dispozícii ďalšie príkazy, ktorými sú príkaz find a print. V tomto príkaze poskytneme cestu k priečinku spolu s využitím príkazu -ls. Keď sa v príkaze používa -ls, znamená to, že zobrazí aj dodatočné informácie týkajúce sa zostávajúcich súborov a priečinkov konkrétneho adresára. Skúste nižšie uvedený príkaz v shelle rekurzívne zobraziť všetky súbory a priečinky v adresári Dokumenty.

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

Teraz musíte s malou zmenou vyskúšať tie isté pokyny v shell. Vyhneme sa použitiu príznaku -ls v tomto príkaze na zastavenie zobrazovania dodatočných informácií o súboroch. Vykonajte nižšie uvedený dotaz v shelle a zobrazí sa vám výstup.

$ find/home/aqsayasin/Documents/-print

Vytvorte zoznam rekurzívne pomocou príkazu -du

Pozrime sa na ďalší príklad na rekurzívny zoznam súborov alebo adresárov inou novou metódou. Tentoraz použijeme na dosiahnutie nášho cieľa príkaz -du. Tento príkaz obsahuje príznak -a. Spolu s príznakmi musíme určiť aj umiestnenie adresára. Vykonajme nižšie uvedené pokyny v terminálovom plášti, aby sme rekurzívne uviedli všetky priečinky alebo súbory v adresári Dokumenty. Výstup ukazuje 5 záznamov, ako je uvedené nižšie. Môžete vidieť, že tento príkaz tiež zobrazuje počet uhryznutí nachádzajúcich sa v každom súbore.

$ du –a / domov / aqsayasin / dokumenty /

Zoznam rekurzívne pomocou príkazu stromu

V neposlednom rade máme veľmi jednoduchú a ľahko použiteľnú metódu príkazu stromu na rekurzívny zoznam súborov alebo priečinkov. V tomto príkaze zatiaľ nebudeme používať žiadny príznak. Spolu so stromom kľúčových slov musíte zadať umiestnenie adresára. Ukážme to na príklade pomocou nižšie uvedeného príkazu. Výstup ukazuje výstup vetveného stromu adresára Dokumenty. Na výstupe zobrazuje 0 adresárov a 5 súborov.

$ strom/domov/aqsayasin/dokumenty/

Skúsme ten istý príkaz stromu s iným umiestnením. Tentokrát rekurzívne uvádzame priečinky v adresári „Domov“ používateľa aqsayasin. Výstup zobrazuje vetvy priečinka Domov, ktoré majú celkom 14 rôznych priečinkov, podpriečinkov a 5 súborov.

$ strom/domov/aqsayasin/

Záver

Vyskúšali sme všetky rekurzívne metódy na rekurzívny zoznam adresárov a súborov, napr. Príznak -lR, vyhľadanie a tlač, príkaz du a strom