GNU/Linux >> Znalost Linux >  >> Linux

Linux:Najděte počet souborů v adresáři a podadresářích

Někdy chceme v Linuxu zjistit počet souborů v adresáři. Například zjištění, kolik obrázků je přítomno v adresáři pro nahrávání WordPressu JournalDev.

Existují různé způsoby, jak to udělat, pojďme se podívat na některé běžné scénáře a nejlepší příkaz, jak zjistit počet souborů v adresáři.

1. Najděte počet souborů v adresáři

Můžeme použít příkaz ls spolu s příkazem wc k počítání počtu souborů v adresáři. Pojďme spočítat počet souborů v mém kořenovém adresáři motivu.

# ls
404.php    archive.php   functions.php  inc        layouts            phpcs.xml.dist     screenshot.png    single.php      webpack
LICENSE    comments.php  header.php     index.php  package-lock.json  postcss.config.js  search.php        src             woocommerce.css
Plugins    dist          home.php       js         package.json       readme.txt         sidebar-left.php  style.css
README.md  footer.php    images         languages  page.php           rtl.css            sidebar.php       template-parts
# ls -1 | wc -l
34

Pokud se podíváte na obrázek, modře zbarvené položky jsou adresáře. Jsou také zahrnuty jako soubor ve výstupu.

Co když chceme počítat pouze soubory a ne adresáře?

# ls -p | grep -v / | wc -l
24
#
  1. Příkaz „ls -p“ vypíše názvy adresářů s „/“ na konci.
  2. Příkaz „grep -v /“ filtruje výstup a tiskne pouze název, který neobsahuje „/“, takže vynechává všechny adresáře.
  3. Nakonec „wc -l“ spočítá řádky ve výstupu a vytiskne jej.

Podobně, pokud chcete zjistit počet adresářů pouze uvnitř adresáře, použijte níže uvedený příkaz.

# ls -p | grep / | wc -l
10
#

Poznámka:Výše ​​uvedené příkazy nehledají skryté soubory, pokud chcete, aby počet zahrnoval i skryté soubory, použijte volbu „-a“ s příkazem ls.

# ls -a1 | wc -l
41
#

Tento příkaz bude počítat "." a také "..", takže s tím budete muset v případě potřeby počítat ve vašem shell skriptu.

2. Najít počet souborů v adresáři a podadresářích rekurzivně

Výše uvedené příklady jsou dobré pro počítání souborů a adresářů v adresáři. Ale pokud chcete spočítat počet souborů včetně podadresářů, budete muset použít příkaz find.

# find . -type f
./.test_file
./functions.php
./logger/class-logger-writter.php
./logger/class-logger-export.php
./logger/assets/js/base.js
./logger/assets/css/base.css
./logger/assets/css/base.less
./logger/assets/css/base.css.map
./logger/class-logger-reader.php
./class-protector.php
./class-anti-spam-plugin.php
# find . -type f | wc -l
11
#
  1. Příkaz find „-type f“ se používá k vyhledání běžných souborů.
  2. Tento příkaz bude ignorovat všechny adresáře, soubory „.“ a „..“. Do výstupu však zahrne skryté soubory.
  3. Příkaz „wc -l“ spočítá celkový počet řádků a vytiskne jej, čímž nám poskytne počet souborů.

Odkazy:

  • manuální stránka příkazu wc
  • najít manuálovou stránku příkazů


Linux
  1. Jak spočítat počet souborů a podadresářů v daném adresáři

  2. Přejmenujte všechny soubory a názvy adresářů na malá písmena v Linuxu

  3. Maximální počet souborů/adresářů na Linuxu?

  1. Jak najít konfigurační soubory MySQL, PHP a Apache

  2. Jak zjistit počet souborů v adresáři a podadresářích

  3. Jak spočítat počet souborů v každém adresáři?

  1. Najděte soubory a adresáře v Linuxu jako profík

  2. Najděte největší soubory a adresáře v Linuxu

  3. Najděte všechny nulabajtové soubory v adresáři a podadresářích