A List Only könyvtárak rekurzívan vannak Linux alatt?

Is List Only Directories Recursively Linux



A rekurzív szó arra a tényre utal, hogy egy Linux vagy Unix operációs rendszer parancsai a mappák tartalmával foglalkoznak, és ha egy mappa almappákkal és dokumentumokkal rendelkezik, az utasítás továbbra is működik az összes ilyen dokumentummal (rekurzívan). Lehetséges, hogy a gyermekkönyvtárnak saját fájl- és mappakészlete van (például nagy mappák), stb. És így tovább. Különböző Linux utasításokkal fog rekurzívan bejárni minden mappát, mielőtt a megadott mappa szélére kerül. Ezen a szinten a Linux utasítások visszatérnek a fa kikapcsolásához, és megismétlik a folyamatot minden létező almappához. Ebben az oktatóanyagban megtanulja a könyvtárak rekurzív felsorolásának minden módját.

Példák az egyszerű lista könyvtárakra

Először is tudnia kell, hogyan kell felsorolni a Linux rendszer összes könyvtárát az egyszerű list parancs segítségével. Nyissa meg a parancssori terminált, és próbálja ki az alábbi parancsot, hogy csak a könyvtárakat sorolja fel. Nem csak a könyvtárakat fogja felsorolni, hanem a bennük található almappákat és fájlokat is. A kimenet mutatja a mappákat a tulajdonosukra, csoportjukra, olvasási-írási jogosultságaikra és a mappák létrehozásának dátumára vonatkozó információkkal.







$ ls -l



A Linux rendszeren belüli összes könyvtár és fájl felsorolásához a lista parancsban az -la parancsot kell használni az egyszerű -l helyett. Ezért hajtsa végre a frissített parancsot. A kimenet mutatja az összes fájlt és mappát, valamint azok további információit.



$ ls -la





Ha egyszerűen fel szeretné sorolni a könyvtárakat további információk nélkül, próbálja ki az alábbi parancsot, majd a -d jelzőt.

$ ls –d * /



Ugyanezt a parancsot kis módosításokkal is használhatja a mappák listázásához további információkkal együtt. Csak be kell adnia az -l zászlót ebbe a parancsba az alábbiak szerint:

$ ls –l –d * /

Ha csak az adott otthoni könyvtárban található fájlok teljes számát szeretné ellenőrizni, próbálja meg a shellben az alábbi parancsot. Megkapja a Linux operációs rendszer összes fájlját.

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

Példa a könyvtárak listázására rekurzívan

A Linux rendszerekben különféle típusú rekurzív parancsok állnak rendelkezésre, amelyek segítségével a könyvtárak rekurzívan felsorolhatók. Mindegyik külön -külön történő megértéséhez tegyük fel, hogy 5 fájl van a Linux dokumentumtárában.

Rekurzív lista a -lR Flag használatával

Ennek első módja, ha a -lR jelzőt használja a lekérdezésben, hogy rekurzívan felsorolja a Linux rendszer összes könyvtárát. Az alábbi lista parancs végrehajtása után felsorolja az összes mappát és almappáit, valamint a bónusz részleteit, amint az a kimeneten látható.

$ ls -lR

Csak rekurzívan soroljuk fel az összes fájlt vagy mappát a Linux rendszerének egy bizonyos mappájából vagy könyvtárából. Ebből a célból adja hozzá az adott könyvtár hely elérési útját a rekurzív listázáshoz. Rekurzívan fel akarjuk sorolni a saját könyvtárban található Dokumentumok könyvtár összes fájlját és mappáját az alábbi frissített paranccsal. A kimenet megjeleníti a Dokumentumok mappában található összes fájlt és mappát, valamint a további információkat.

$ ls –lR / home / aqsayasin / Dokumentumok /

Rekurzív listázás a Find paranccsal

Tisztázza önmagával, hogy nem minden Linux -rendszer, például a macOS, a Unix -szerű operációs rendszer, választhat a -R használatával a könyvtárak felsorolásához. Ebben az esetben szükségleteink kielégítésére más parancsok is rendelkezésre állnak, ezek a find and print parancs. Ebben a parancsban megadunk egy elérési utat egy mappához, valamint az -ls parancs használatát. Ha az -ls parancsot használja, ez azt jelenti, hogy az adott könyvtárban található fájlokkal és mappákkal kapcsolatos további információkat is megjeleníti. Próbálja ki a shellben található alábbi parancsot, hogy rekurzívan felsorolja a Documents könyvtár összes fájlját és mappáját.

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

Most ugyanazt az utasítást kell kipróbálnia a shellben egy kis változtatással. Kerüljük az -ls jelző használatát ebben a parancsban, hogy ne jelenítsük meg a fájlokkal kapcsolatos további információkat. Hajtsa végre az alább felsorolt ​​lekérdezést a shellben, és megjelenik a kimenet.

$ find/home/aqsayasin/Dokumentumok/-print

Rekurzív lista a -du paranccsal

Nézzünk egy másik példát a fájlok vagy könyvtárak rekurzív listázására egy másik új módszerrel. Ezúttal a -du parancsot fogjuk használni célunk eléréséhez. Ez a parancs tartalmazza az -a zászlót. A zászlók mellett meg kell adnunk a könyvtár helyét is. Végezzük el az alábbi utasítást a terminálhéjon, hogy rekurzívan felsoroljuk a Dokumentumok könyvtár összes mappáját vagy fájlját. A kimenet a hozzá tartozó 5 rekordot mutatja, az alábbiak szerint. Láthatja, hogy ez a parancs az egyes fájlokban található harapások számát is mutatja.

$ du –a / home / aqsayasin / Dokumentumok /

Rekurzív listázás a Fa parancs használatával

Végül, de nem utolsósorban van egy nagyon egyszerű és könnyen használható fa parancs módszerünk a fájlok vagy mappák rekurzív listázására. Ebben a parancsban eddig semmilyen zászlót nem fogunk használni. Meg kell adnia a címtár helyét a kulcsszófával együtt. Lássunk egy példát erre az alább felsorolt ​​parancs használatával. A kimenet a Dokumentumok könyvtár faágazó típusú kimenetét mutatja. 0 könyvtárat és 5 fájlt jelenít meg a kimenetben.

$ tree/home/aqsayasin/Dokumentumok/

Próbáljuk meg ugyanazt a fa parancsot egy másik helyen. Ezúttal rekurzívan soroljuk fel az aqsayasin felhasználó „Home” könyvtárának mappáit. A kimenet a Home mappa ágait mutatja, amelyek összesen 14 különböző mappát, almappát és 5 fájlt tartalmaznak.

$ tree/home/aqsayasin/

Következtetés

Az összes rekurzív módszert kipróbáltuk a könyvtárak és fájlok rekurzív listázására, pl. -LR flag, find and print, du és tree parancs