Anche se non molto spesso, ci sono momenti in cui è necessario scoprire quanti file ci sono in una determinata directory. Ad esempio, se esaurisci inode sul tuo sistema Linux, dovrai trovare quale directory contiene migliaia o milioni di file.
In questo articolo, ti mostreremo diversi modi per trovare il numero di file in una directory in Linux.
Conta file nella directory #
Il modo più semplice per contare i file in una directory è elencare un file per riga con ls
e reindirizzare l'output a wc
contare le righe:
ls -1U DIR_NAME | wc -l
Il comando sopra ti darà una somma di tutti i file, comprese le directory e i collegamenti simbolici. Il -1
opzione significa elencare un file per riga e -U
dice a ls
per non ordinare l'output che rende più veloce l'esecuzione del comando.
ls -1U
il comando non conta i file nascosti (dotfile).
Se vuoi contare solo i file e non includere le directory, usa quanto segue:
ls -1Up DIR_NAME | grep -v / | wc -l
Il -p
l'opzione forza ls
per aggiungere una barra (/
) indicatore alle directory. L'output viene inviato tramite pipe a grep -v
comando che esclude le directory.
Per avere un maggiore controllo su quali file sono elencati, usa find
comando invece di ls
:
find DIR_NAME -maxdepth 1 -type f | wc -l
-type f
l'opzione dice find
per elencare solo i file (inclusi i dotfile) e -maxdepth 1
limita la ricerca alla directory di primo livello.
Conta ricorsivamente i file nella directory #
Per contare in modo ricorsivo i file nella directory, esegui find
comando come segue:
find DIR_NAME -type f | wc -l
Un altro comando che può essere utilizzato per contare i file è tree
che elenca il contenuto delle directory in un formato ad albero:
tree DIR_NAME
L'ultima riga di output mostrerà il numero totale di file e directory elencati:
15144 directories, 91311 files
Conclusione #
Ti abbiamo mostrato come contare i file nella directory usando ls
, find
e tree
comandi.
Se hai domande o feedback, sentiti libero di lasciare un commento.