Come contare il numero di file in una directory in Linux
Ti sei mai scervellato per trovare un modo per contare il numero di file in una directory e sottodirectory in Linux?
In questo breve tutorial vedremo come farlo in modo semplice ma preciso.
1) Usando il comando wc
Il comando WC, abbreviazione di Word Count, è uno strumento a riga di comando nei sistemi Unix/Linux utilizzato per stampare nuove righe, contare righe numeriche e caratteri in un file. Il comando può anche essere combinato con altre operazioni della pipeline per funzioni generali di conteggio.
Per contare il numero di file in una directory, utilizzare la sintassi seguente
# ls -1 | wc -l
Analizziamo la sintassi e vediamo cosa fa cosa
ls
: Elenca i file-1
: Questo è l’UNO. Stampa una voce per riga. Per stampare i file nascosti, modificalo in -1a
|
: Tubi di uscita in…wc
: Numero di parole-l
: conta le linee
a contare il numero di file al di fuori della directoryè possibile specificare il nome della directory come mostrato
# ls directory_name | wc -l
Per dimostrare come funzionano questi comandi, creiamo una nuova directory file_prova, e navigare in esso.
# mkdir test_folder && cd test_folder
Successivamente, creeremo alcuni file di testo a scopo dimostrativo
# touch file1.txt file2.txt file3.txt file4.txt file5.txt
Confermiamo l’esistenza dei file elencandoli utilizzando ls
comando
# ls -l
Uscita
Ottimo, ora contiamo i file
# ls -1 | wc -l
Uscita
Allo stesso modo, puoi uscire dalla directory usando il comando cd
# cd ..
E scappa
# ls test_folder | wc -l
Uscita
2) Usando il comando albero
tree
è uno strumento da riga di comando Unix/Linux che stampa ricorsivamente le directory in un formato ad albero. Elenca ogni directory insieme a tutte le sottodirectory al suo interno. Inoltre, può anche visualizzare i tipi e il numero di file in una directory.
Vai al nostro esempio “test_folder”
cd test_folder
Successivamente, esegui il comando tree
tree
Uscita
Come puoi vedere, i nomi dei file sono elencati accanto al numero che appare in basso. Chiaramente, per osservazione, il numero corrisponde esattamente al numero di file creati in precedenza.
4) Il comando Rsync
Possiamo usare il comando rsync per trovare il numero di file, directory, collegamenti simbolici.
# rsync --stats --dry-run -ax /etc /test
--dry-run
viene utilizzato in realtà non trasferire i file. /test
dovrebbe essere una cartella vuota o inesistente.
# rsync --stats --dry-run -ax /etc /test
Number of files: 1,406 (reg: 622, dir: 187, link: 597)
Number of created files: 1,406 (reg: 622, dir: 187, link: 597)
Number of deleted files: 0
Number of regular files transferred: 622
Total file size: 2,341,951 bytes
Total transferred file size: 2,320,656 bytes
Literal data: 0 bytes
Matched data: 0 bytes
File list size: 0
File list generation time: 0.001 seconds
File list transfer time: 0.000 seconds
Total bytes sent: 64,184
Total bytes received: 4,429
sent 64,184 bytes received 4,429 bytes 137,226.00 bytes/sec
total size is 2,341,951 speedup is 34.13 (DRY RUN)
3) Enumerare i file in modo ricorsivo attraverso directory e sottodirectory
Per contare in modo ricorsivo i file attraverso directory e sottodirectory utilizzando il comando seguente
# find DIR_NAME -type f | wc -l
Dove:
DIR_NOME è il nome della directory
– digitare f specificare solo i file
bagno (wordcount) conta newline, parole e byte sul suo input
esso Conta le nuove righe
Se stai contando i file nella directory corrente, sostituisci DIR_NAME con un punto, come mostrato
# find . -type f | wc -l
Per includere altre sottocartelle e file nelle sottocartelle, omettere - type f
bandiera.
find . | wc -l
Spero che questo articolo sia stato utile e ora puoi contare comodamente il numero di file nelle directory e nelle sottodirectory. Prova anche strumento ncdu che è uno strumento GUI che aiuta anche a trovare il numero di file.