GNU/Linux >> Znalost Linux >  >> Linux

Různé způsoby, jak vypsat obsah adresáře bez použití příkazu ls

ls command je nejběžněji používaný příkaz k výpisu souborů a adresářů v adresáři v systémech Linux a Unix. Existují však i jiné způsoby, jak vypsat obsah adresáře bez použití příkazu ls . Jak možná víte, existuje mnoho alternativních programů k nejpopulárnějším a nejrozšířenějším existujícím linuxovým programům. Již jsme psali o dobrých alternativách k ‚top‘ , alternativy k 'du' příkaz a alternativy k 'man' stránky. Dnes v tomto tutoriálu uvidíme 11 alternativních způsobů, jak vypsat obsah adresáře bez použití příkazu "ls" v Linuxu.

Vypsat obsah adresáře bez použití příkazu ls

Většina uživatelů Linuxu obvykle používá příkaz "ls" k výpisu souborů a adresářů v adresáři. Například můžeme použít následující příkaz k zobrazení obsahu adresáře s názvem ostechnix .

$ ls ostechnix/

Vypsat obsah adresáře pomocí příkazu ls

Takto uvádíme seznam souborů a adresářů. Existují však způsoby, jak toho dosáhnout. Zatím znám pouze následujících deset metod. Pokud narazím na nějakou jinou lepší metodu, přidám je také. Také, pokud znáte jiné způsoby, jak toho dosáhnout, dejte nám prosím vědět v sekci komentářů níže.

Doporučené čtení:

  • Jak automaticky zobrazit obsah adresáře, kdykoli do něj v systému Linux zadáte CD

1. Seznam souborů pomocí příkazu 'echo'

echo příkaz je nejběžněji používaný vestavěný příkaz, který se používá ve skriptech shellu a dávkových programech k tisku daných argumentů. Jako argument můžete předat libovolný text/řetězec a příkaz echo je zobrazí na standardním výstupu nebo souboru. Tento příkaz neslouží pouze k vytištění daných argumentů, ale lze jej také použít k výpisu souborů.

Chcete-li zobrazit seznam souborů používaných v aktuálním adresáři, stačí napsat:

$ echo *

Seznam souborů pomocí příkazu echo

Chcete-li zobrazit seznam všech souborů o jednu úroveň níže, použijte tento příkaz:

$ echo */*

Chcete-li zobrazit skryté soubory, spusťte:

$ echo * .*

Další podrobnosti naleznete na manuálových stránkách.

$ man echo

Jak vidíte, příkaz echo zobrazí pouze soubory, nikoli adresáře. Žádný problém, následující metody popisují, jak vypsat soubory i adresáře. Čtěte dál.

2. Seznam souborů a adresářů pomocí příkazu 'printf'

Soubor printf příkaz se používá k formátování a tisku textu. Tento příkaz vytiskne dané argumenty podle daného formátu , nebo spustit podle dané možnosti .

Chcete-li zobrazit obsah aktuálního adresáře pomocí příkazu printf, spusťte:

$ printf '%s\n' *

Seznam souborů a adresářů pomocí příkazu printf

Na rozdíl od příkazu "echo" příkaz print zobrazí soubory i adresáře.

Další podrobnosti naleznete na manuálových stránkách.

$ man printf

3. Seznam souborů a adresářů pomocí příkazu 'dir'

adresář příkaz je dalším linuxovým příkazem pro zobrazení obsahu adresáře. Často je považován za ekvivalent Windows, ale v Linuxu funguje téměř stejně.

Chcete-li zobrazit obsah aktuálního adresáře, spusťte:

$ dir

Seznam souborů a adresářů pomocí příkazu dir

Chcete-li vypsat obsah konkrétního adresáře, předejte jeho cestu jako argument, jak je uvedeno níže.

$ dir /home/sk/ostechnix

Seznam veškerého obsahu včetně skrytých souborů:

$ dir -a

Další informace o příkazu dir naleznete v manuálových stránkách.

$ man dir

4. Seznam souborů a adresářů pomocí příkazu 'find'

Najít příkaz se používá k vyhledávání souborů v hierarchii adresářů. Nejen pro vyhledávání souborů, můžeme také použít příkaz find k výpisu obsahu adresáře, jak je uvedeno níže.

$ find -maxdepth 1

Nebo,

$ find .

Seznam souborů a adresářů pomocí příkazu find

Jak vidíte, první příkaz vypíše všechny soubory a adresáře o jednu úroveň níže v aktuálním adresáři, zatímco druhý příkaz vypíše všechny soubory a adresáře rekurzivně.

Můžete také vypsat obsah konkrétního adresáře.

$ find dir1/

Doporučeno:

  • Jak najít soubory na základě jejich oprávnění v systému Linux
  • Jak najít soubory větší nebo menší než X v systému Linux
  • Jak najít a odstranit soubory, které obsahují konkrétní text ve svém názvu v systému Linux
  • Jak najít nejstarší soubor ve stromu adresářů v systému Linux
  • Jak najít a zkopírovat určitý typ souborů z jednoho adresáře do druhého v systému Linux
  • Jak najít a odstranit soubory starší než X dní v Linuxu

5. Seznam souborů a adresářů pomocí příkazu 'stat'

Statistika příkaz se používá k zobrazení informací o souborech a souborovém systému. Pomocí tohoto příkazu můžeme mimo jiné najít vlastnosti souboru, jako je velikost, oprávnění, data vytvoření a přístupu.

Chcete-li zobrazit seznam souborů a adresářů pomocí příkazu "stat",

$ stat -c '%A %n' *

Vypište soubory a adresáře pomocí příkazu stat

Jak vidíte, příkaz stat vypisuje nejen obsah aktuálního adresáře, ale také oprávnění. Je to užitečné, když chcete zobrazit obsah adresáře včetně oprávnění.

Více podrobností o příkazu stat naleznete na manuálových stránkách.

$ man stat

6. Seznam souborů a adresářů pomocí příkazu 'grep'

grep příkaz se používá k vyhledávání textových souborů s regulárními výrazy . Před chvílí jsme napsali podrobný návod o použití grepu. Podívejte se na následující odkaz, kde se dozvíte více o příkazu grep a jeho variantách.

  • Výukový program příkazu Grep s příklady pro začátečníky

Chcete-li zobrazit obsah adresáře pomocí příkazu grep, stačí spustit:

$ grep -l '.*' ./*

Seznam souborů a adresářů pomocí příkazu grep

7. Seznam souborů a adresářů pomocí příkazu 'lsattr'

lsattr příkaz se používá k výpisu atributů souborů a adresářů v Linuxu.

Chcete-li zobrazit seznam souborů a adresářů v aktuálním pracovním adresáři, použijte příkaz lsattr:

$ lsattr ./*

Seznam souborů a adresářů pomocí příkazu lsattr

Jak vidíte na výstupu, příkaz lsattr zobrazuje obsah jen o jednu úroveň níže. Jinými slovy, nezobrazí žádné podadresáře a jejich obsah a skryté soubory.

Podrobnosti o příkazu lsattr najdete na manuálových stránkách.

$ man lsattr

8. Seznam souborů a adresářů pomocí příkazu 'getfacl'

setfacl a getfacl jsou nejužitečnější a nejdůležitější příkazy, které musí znát každý systémový administrátor k nastavení Seznamy řízení přístupu (ACL) souborů a adresářů.

Chcete-li zobrazit seznam souborů a adresářů v aktuálním adresáři, stačí spustit:

$ getfacl ./*

Seznam souborů a adresářů pomocí příkazu getfacl

Jedna věc, kterou mám na tomto příkazu nejraději, je, že nejen vypisuje obsah adresáře, ale také další užitečné detaily, jako je,

  • vlastník souboru/adresáře,
  • skupina, která k němu má přístup,
  • přístupová práva vlastníka, skupiny a dalších.

9. Seznam souborů a adresářů pomocí 'for loop'

Další metodou, jak zobrazit obsah adresáře, je použít for smyčka. Testoval jsem to v BASH a fungovalo to podle očekávání dobře.

$ for i in *; do echo $i; done

Seznam souborů a adresářů pomocí for loop

Jak vidíte na výše uvedeném výstupu, můžeme vypsat aktuální obsah adresáře pomocí cyklu for.

10. Seznam souborů a adresářů pomocí editoru 'Vim'

Editor Vim není jen pro prohlížení a úpravu souborů. Lze jej také použít k výpisu souborů a adresářů. Jak už možná víte, vše v Linuxu je soubor. Technicky řečeno, adresář je soubor, který obsahuje seznam souborů a/nebo podadresářů.

Chcete-li zobrazit seznam souborů a adresářů aktuálního adresáře pomocí editoru Vim, použijte následující příkaz:

$ vim .

Všimněte si prosím tečky (.) na konci.

Chcete-li zobrazit obsah konkrétního adresáře, postupujte takto:

$ vim <path-to-dir>

Např.:

$ vim ostechnix/

Seznam souborů a adresářů pomocí editoru vim

K procházení seznamu stačí použít šipky NAHORU/DOLŮ. Chcete-li zobrazit obsah podadresáře, umístěte na něj kurzor myši a stiskněte ENTER.

Doporučené čtení:

  • Jak zobrazit obsah archivu nebo komprimovaného souboru bez jeho rozbalování
  • Jak upravit více souborů pomocí editoru Vim
  • PacVim – CLI hra pro výuku příkazů Vim
  • Jak komentovat více řádků najednou v editoru Vim
  • Jak používat editor Vim k zadávání textu kdekoli
  • Jak používat funkci kontroly pravopisu v textovém editoru Vim

11. Seznam souborů pomocí příkazu 'Strom'

Příkaz stromu se používá k zobrazení obsahu adresáře (a jeho podadresářů) ve stromovém formátu.

Pokud příkaz stromu spustíte bez jakýchkoli voleb, zobrazí se všechny soubory a složky (a podsložky) aktuálního pracovního adresáře.

$ tree

Chcete-li zobrazit obsah adresáře o jednu úroveň níže, spusťte:

$ tree -L 1

Další podrobnosti o příkazu Strom naleznete v následující příručce.

  • Jak zobrazit stromovou strukturu adresářů v systému Linux

A to je zatím vše. V současné době neznám žádné praktické případy použití těchto metod. Příkaz "ls" je předinstalován téměř ve všech operačních systémech podobných Unixu, takže jej můžete jednoduše použít ke snadnému zobrazení obsahu adresáře. V případě, že příkaz "ls" není ve vašem systému dostupný, použijte tyto alternativní způsoby ls bez příkazu "ls".


Linux
  1. 6 způsobů, jak zobrazit seznam síťových rozhraní v Debianu 11

  2. Vypište soubor pomocí příkazu ls v Linuxu s úplnou cestou

  3. Spustit konkrétní příkaz v daném adresáři bez cd'ingu?

  1. 4 způsoby, jak zakázat/uzamknout určité aktualizace balíčků pomocí příkazu Yum

  2. Vykonat konkrétní příkaz v daném adresáři, aniž byste do něj cd’ing?

  3. Příkaz `ls` nevypisuje nejnovější obsah adresáře?

  1. Použití –exclude With The Du Command?

  2. Existuje příkaz pro návrat o několik kroků zpět v adresáři bez použití cd?

  3. Spusťte příkaz v bash bez uložení do historie