In qualità di amministratore di sistema, probabilmente stai monitorando continuamente lo spazio su disco del tuo sistema.
Durante la navigazione nelle directory sul tuo server, potresti esserti imbattuto in directory con molti file al loro interno .
A volte, potresti voler sapere quanti file si trovano in una determinata directory , o in molte directory diverse.
In altre parole, vuoi contare il numero di file archiviati in una directory del tuo sistema.
In questo tutorial vedremo come puoi facilmente contare i file in una directory su Linux.
Conta i file usando wc
Il modo più semplice per contare i file in una directory su Linux è utilizzare il comando "ls" e inviarlo tramite pipe con il comando "wc -l".
$ ls | wc -l
Il comando "wc" viene utilizzato su Linux per stampare il conteggio di byte, caratteri o nuove righe. Tuttavia, in questo caso, stiamo usando questo comando per contare il numero di file in una directory.
Ad esempio, supponiamo che tu voglia contare il numero di file presente nella directory “/etc”.
Per ottenere ciò, esegui il comando "ls" nella directory "/etc" e invialo tramite pipe con il comando "wc".
$ ls /etc | wc -l
268
Congratulazioni, hai contato con successo i file in una directory su Linux!
Osserva usando il comando wc
Un comando importante quando si utilizza il comando "wc" risiede nel fatto che arriva il numero di nuove righe per un determinato comando.
Di conseguenza, c'è una grande differenza tra questi due comandi
$ ls -l | wc -l
269
$ ls | wc -l
268
Anche se pensiamo che quei due comandi ci darebbero lo stesso output, in realtà non è vero.
Quando si esegue "ls" con l'opzione "-l", si stampa anche una riga per l'allocazione totale del disco per tutti i file in questa directory.
Di conseguenza, stai contando una riga che non dovrebbe essere contata, incrementando di uno il risultato finale.
Conta i file in modo ricorsivo usando trova
Per contare i file in modo ricorsivo su Linux, devi usare il comando "find" e inviarlo tramite pipe con il comando "wc" per contare il numero di file.
$ find <directory> -type f | wc -l
Come promemoria, il comando "trova" viene utilizzato per cercare i file sul tuo sistema.
Se utilizzato con l'opzione "-f", stai prendendo di mira solo i file.
Per impostazione predefinita, il comando "trova" non si ferma alla prima profondità della directory:esplorerà ogni singola sottodirectory, rendendo ricorsiva la ricerca dei file.
Ad esempio, se desideri contare in modo ricorsivo i file nella directory "/etc", scrivere la seguente query:
$ find /etc -type f | wc -l
2074
Quando conteggi ricorsivamente i file in una directory, potresti non essere autorizzato a esplorare ogni singola sottovoce, con conseguente negazione dell'autorizzazione nella tua console.
Affinché i messaggi di errore vengano reindirizzati, puoi utilizzare il "reindirizzamento dell'output" e reindirizzare i messaggi a "/dev/null".
$ find /etc -type f 2> /dev/null | wc -l
2074
Fantastico, hai contato ricorsivamente i file in una directory su Linux!
Conta i file usando l'albero
Un modo semplice per contare file e directory in una directory consiste nell'usare il comando "tree" e specificare il nome della directory da controllare.
$ tree <directory>
3 directories, 3 files
Come puoi vedere, il numero di file e directory è disponibile nella parte inferiore del comando ad albero.
Il comando "tree" non è installato su tutti gli host per impostazione predefinita.
Se hai un "albero:comando non trovato" o "albero:nessun file o directory del genere", dovrai installarlo utilizzando i privilegi sudo sul tuo sistema.
$ sudo apt-get install tree (for Ubunbu/Debian hosts)
$ sudo yum install tree (for CentOS/RHEL hosts)
Conteggio dei file nascosti con albero
In alcuni casi, potresti voler contare i file nascosti sul tuo sistema.
Per impostazione predefinita, indipendentemente dal fatto che tu stia utilizzando i comandi "tree", "find" o "ls", i file nascosti non verranno stampati nell'output del terminale.
Per contare i file nascosti usando tree, devi eseguire "tree" e aggiungere l'opzione "-a" per "all", seguita dalla directory da analizzare.
$ tree -a <directory>
Ad esempio, se contiamo file e directory nella tua directory "/home", sarai in grado di vedere che c'è una differenza perché sono presenti più file nascosti.
$ tree /home/user
4321 directories, 27047 files
$ tree -a /home/user
9388 directories, 32633 files
Conteggio dei file utilizzando l'interfaccia utente grafica
Se stai usando un'interfaccia desktop come KDE o GNOME, potresti avere più facilità a contare i file nelle directory.
Gestione file KDE Dolphin
Un modo rapido per trovare il numero di file in una directory è utilizzare Dolphin File Manager.
Fai clic sull'angolo in basso a sinistra della tua interfaccia utente e fai clic sulla voce "Gestione file delfino".
Quando sei in Dolphin File Manager, vai alla cartella che vuoi esplorare.
Fare clic con il pulsante destro del mouse sulla cartella e selezionare l'opzione "Proprietà".
Si aprirà la finestra "Proprietà" e potrai vedere il numero di file e sottodirectory che si trovano nella directory selezionata.
Fantastico, hai contato il numero di file in una directory su KDE!
Gestione file GNOME
Se stai utilizzando GNOME come ambiente desktop, vai al menu "Attività" nell'angolo in alto a sinistra del desktop e cerca "File".
Quando sei in "File Explorer", seleziona la cartella da ispezionare, fai clic con il tasto destro su di essa e seleziona l'opzione "Proprietà".
Quando sei nella finestra "Proprietà", ti verrà presentato il numero di "elementi" disponibili nella cartella selezionata.
Sfortunatamente, non ti verrà presentato il numero effettivo di "file", ma piuttosto il numero di "articoli" che possono essere trovati piuttosto imprecisi.
Fantastico, hai trovato il numero di elementi disponibili in una directory su Linux!
Conclusione
In questo tutorial, hai imparato come contare facilmente i file in una directory su Linux.
Hai visto che puoi farlo usando comandi nativi come i comandi "wc" e "find", ma puoi anche installare utility per farlo più velocemente.
Infine, hai visto come puoi farlo usando interfacce utente come GNOME o KDE.
Se sei interessato a Amministrazione di sistema Linux , abbiamo una sezione completa dedicata ad esso sul sito Web, quindi assicurati di dare un'occhiata!