Když používáme příkazovou řádku, občas se hodí příkaz na zobrazení počtu souborů v nějakém adresáři. Zvláště když něco exportujeme, tak snadno zjistíme, jestli nám tam soubory přibývají.
V grafickém prostředí Linuxu je to jednoduché. V nějakém správci souborů si snadno zobrazíme příslušný adresář a spočítáme kolik souborů tam je.
V terminálu, nebo v čistém Linuxu bez GUI to uděláme těmito způsoby.
Použití příkazu ls
ls | wc -l
Toto nám zobrazí počet souborů v adresáři, kde zrovna jsme. Pokud nechci aby se počítaly skryté soubory, přidám přepínač -A:
ls -A | wc -l
A když jsem někde úplně jinde, než v adresáři, kde chci zjistit počet souborů, tak je to takto:
ls -A /cesta/k/adresari | wc -l
Použití příkazu find
find . | wc -l  # zobrazí počet souborů v aktuálním adresáři find /cesta/k/adresari | wc -l  # zobrazí počet souborů v jiném adresáři
To je podobné jako u předchozího příkazu ls. Find nabízí ale více možností.
Když chceme ukázat počet samotných souborů, použijeme možnost -type f:
find . -type f | wc -l find /cesta/k/adresari -type f | wc -l
Zobrazí počet souborů v samotném adresáři i v jeho podadresářích.
Když chceme ukázat počet vnořených adresářů, použiju možnost -type d:
find . -type d | wc -l find /cesta/k/adresari -type d | wc -l
A také můžeme použít možnost -maxdepth nebo -mindepth:
find . -maxdepth 1 -type f | wc -l find /cesta/k/adresari -maxdepth 1 -type f | wc -l
Tento příkaz spočítá pouze soubory v hlavním adresáři (buď v tom, ve kterém stojíme, nebo kam ukazuje zadaná cesta) a vynechá případné podadresáře. Když použijeme -maxdepth 2, spočítá soubory v hlavním adresáři a v první vrstvě podadresářů, atd.
Použití příkazu tree
Příkaz tree zobrazí stromovou strukturu daného adresáře, a poskytne souhrn celkového počtu souborů a podadresářů na konci výpisu:
tree . ├── 1031051.dat.gz ├── 1031052.dat.gz ├── 1031053.dat.gz ├── 1031054.dat.gz ├── 1031055.dat.gz ├── 1031056.dat.gz ├── 1031083.dat.gz ├── 1031085.dat.gz ├── 1031086.dat.gz ├── 1031094.dat.gz ├── 1031095.dat.gz └── toc.dat 0 directories, 12 files
Když chceme do zobrazení a součtu zahrnout i skryté soubory, použijeme přepínač -a:
tree -a
Použití Bash skriptu
Počítací proces můžeme také automatizovat použitím jednoduchého Bash skriptu.
Tady je jednoduchý příklad skriptu, který spočítá všechny soubory v aktuálním adresáři:
#!/bin/bash dir="." count=$(find "$dir" | wc -l) echo "V adresari $dir je aktualne $coutn souboru."
Tento skript používá příkaz find k sečtení všech souborů a adresářů včetně skrytých.
Tyto různé metody počítání souborů poskytují velkou flexibilitu a kontrolu a vyhovují tak různým potřebám a scénářům.
A je to…
Michal Šika - OK1MSI