neděle 8. února 2026

Linux: Počet souborů v adresáři

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..