Správa souborů

Je v Linuxu rekurzivně pouze seznam adresářů?

Je v Linuxu rekurzivně pouze seznam adresářů?

Slovo „rekurzivní“ označuje skutečnost, že příkazy operačního systému Linux nebo Unix se zabývají obsahem složek, a pokud má složka podsložky a dokumenty, instrukce stále funguje se všemi těmito dokumenty (rekurzivně). Je možné, že podřízený adresář má vlastní sadu souborů a složek (například velké složky) atd. A tak dále. K rekurzivnímu procházení každou složku před provedením na okraj zadané složky budete používat různé pokyny pro Linux. Na této úrovni se instrukce Linuxu vrátí na odbočku stromu a zopakují postup pro všechny podsložky, které existují. V tomto kurzu se naučíte všechny metody rekurzivního výpisu adresářů.

Příklady adresářů jednoduchého seznamu

Nejprve musíte vědět, jak vypsat seznam všech adresářů z vašeho systému Linux pomocí jednoduchého příkazu list. Otevřete terminál příkazového řádku a zkuste pomocí níže uvedeného příkazu „ls“ vypsat pouze adresáře. Nebude pouze seznam adresářů, ale celkový počet podsložek a souborů v nich uložených. Výstup zobrazuje složky s informacemi o jejich vlastníkovi, skupině, oprávněních ke čtení a zápisu a datu vytvoření složek.

$ ls -l

Chcete-li zobrazit seznam všech adresářů a souborů ve vašem systému Linux, musíte v příkazu list namísto jednoduchého „-l“ použít „-la“. Proto proveďte aktualizovaný příkaz. Výstup zobrazuje všechny soubory a složky spolu s jejich dalšími informacemi.

$ ls -la

Chcete-li jednoduše vypsat adresáře bez dalších informací, zkuste následující příkaz následovaný příznakem „-d“.

$ ls -d * /

Stejný příkaz můžete také s malými úpravami použít k vypsání složek a jejich dalších informací. Stačí do tohoto příkazu přidat příznak „-l“ následovně:

$ ls -l -d * /

Chcete-li zkontrolovat pouze celkový počet souborů v konkrétním domovském adresáři, zkuste níže uvedený příkaz v shellu. Získáte celkový počet souborů ve vašem operačním systému Linux.

$ ls -l | egrep -v '^ d'

Příklad rekurzivního výpisu adresářů

V systémech Linux jsou k dispozici různé typy rekurzivních příkazů, které lze použít k rekurzivnímu vypsání adresářů. Abychom každému z nich porozuměli samostatně, předpokládejme, že máte v adresáři Linuxu 5 souborů s názvem „Documents“.

Seznam rekurzivně pomocí příznaku „-lR“

První metodou je použití příznaku „-lR“ v dotazu k rekurzivnímu výpisu všech adresářů vašeho systému Linux. Po provedení níže uvedeného seznamu příkaz zobrazí seznam všech složek a jejich podsložek spolu s jejich bonusovými podrobnostmi, jak je znázorněno na výstupu.

$ ls -lR

Pojďme rekurzivně vyjmenovat všechny soubory nebo složky z nějaké konkrétní složky nebo adresáře vašeho systému Linux. Za tímto účelem přidejte cestu k umístění konkrétního adresáře a rekurzivně jej vypsejte. Chceme rekurzivně vypsat všechny soubory a složky adresáře „Documents“ umístěného v adresáři „home“ pomocí níže aktualizovaného příkazu. Výstup zobrazí všechny soubory a složky ve složce „Dokumenty“ spolu s dalšími informacemi.

$ ls -lR / home / aqsayasin / Dokumenty /

Seznam rekurzivně pomocí příkazu „Najít“

Ujasněte si, že ne všechny systémy Linux, např.G., macOS, unixový OS, mají na výběr seznam adresářů pomocí „-R“. V takovém případě jsou k dispozici další příkazy, které splňují naše potřeby, a to příkaz „najít“ a „tisknout“. V tomto příkazu uvedeme cestu ke složce spolu s využitím příkazu „-ls“. Pokud se v příkazu používá „-ls“, znamená to, že také zobrazí další informace týkající se souborů a složek, které se v daném adresáři nacházejí. Zkuste pomocí níže uvedeného příkazu v shellu rekurzivně vypsat všechny soubory a složky v adresáři „Documents“.

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

Nyní musíte s malou změnou vyzkoušet stejnou instrukci v shellu. Vyhneme se použití příznaku „-ls“ v tomto příkazu, abychom přestali zobrazovat další informace týkající se souborů. Spusťte níže uvedený dotaz v shellu a budete mít zobrazený výstup.

$ find / home / aqsayasin / Documents / -print

Seznam rekurzivně pomocí příkazu „-du“

Pojďme se podívat na další příklad rekurzivního seznamu souborů nebo adresářů pomocí jiné nové metody. Tentokrát použijeme příkaz „-du“ k dosažení našeho účelu. Tento příkaz obsahuje příznak „-a. Spolu s příznaky musíme určit také umístění adresáře. Provedeme níže uvedenou instrukci v terminálovém shellu, abychom rekurzivně vypsali všechny složky nebo soubory adresáře „Documents“. Výstup zobrazuje 5 záznamů, jak je uvedeno níže. Tento příkaz také ukazuje počet kousnutí v každém souboru.

$ du -a / home / aqsayasin / Dokumenty /

Seznam rekurzivně pomocí příkazu „strom“

V neposlední řadě máme velmi jednoduchou a snadno použitelnou metodu příkazu „strom“ pro rekurzivní výpis souborů nebo složek. V tomto příkazu zatím nebudeme používat žádný příznak. Musíte určit umístění adresáře spolu s klíčovým slovem „strom“. Uveďme si příklad pomocí níže uvedeného příkazu. Výstup ukazuje „stromový“ rozvětvený výstup adresáře „Documents“. Ve výstupu zobrazuje 0 adresářů a 5 souborů.

$ tree / home / aqsayasin / Dokumenty /

Zkusme stejný příkaz „stromu“ s jiným umístěním. Tentokrát rekurzivně vypisujeme složky v domovském adresáři uživatele „aqsayasin“. Výstup zobrazuje větve složky „Domov“, které mají celkem 14 různých složek, podsložek a 5 souborů.

$ strom / domov / aqsayasin /

Závěr

Vyzkoušeli jsme všechny rekurzivní metody rekurzivního seznamu adresářů a souborů, např.G., Příznak „-lR“, vyhledání a tisk, příkaz du a strom

Hry Výukový program Battle for Wesnoth
Výukový program Battle for Wesnoth
The Battle for Wesnoth je jednou z nejpopulárnějších strategických her s otevřeným zdrojovým kódem, které si v tuto chvíli můžete zahrát. Tato hra se ...
Hry 0 A.D. Tutorial
0 A.D. Tutorial
Z mnoha strategických her venku je 0 A.D. dokáže vyniknout jako komplexní titul a velmi hluboká, taktická hra, přestože je otevřeným zdrojem. Vývoj hr...
Hry Výukový program Unity3D
Výukový program Unity3D
Úvod do Unity 3D Unity 3D je výkonný engine pro vývoj her. Jedná se o multiplatformní platformu, která vám umožňuje vytvářet hry pro mobilní zařízení,...