
Bien que cela ne soit pas très fréquent, il arrive parfois que vous ayez besoin de savoir combien de fichiers se trouvent dans un répertoire donné. Par exemple, si vous manquez d'inode sur votre système Linux, vous devrez trouver quel répertoire contient des milliers ou des millions de fichiers.
Dans cet article, nous allons vous montrer plusieurs façons différentes de trouver le nombre de fichiers dans un répertoire sous Linux.
Compter les fichiers dans le répertoire #
La façon la plus simple de compter les fichiers dans un répertoire est de lister un fichier par ligne avec ls
et dirigez la sortie vers wc
pour compter les lignes :
ls -1U DIR_NAME | wc -l
La commande ci-dessus vous donnera une somme de tous les fichiers, y compris les répertoires et les liens symboliques. Le -1
l'option signifie lister un fichier par ligne et -U
indique ls
pour ne pas trier la sortie ce qui accélère l'exécution de la commande.
ls -1U
la commande ne compte pas les fichiers cachés (dotfiles).
Si vous souhaitez compter uniquement les fichiers et ne pas inclure les répertoires, utilisez ce qui suit :
ls -1Up DIR_NAME | grep -v / | wc -l
Le -p
l'option force ls
pour ajouter une barre oblique (/
) indicateur aux répertoires. La sortie est redirigée vers le grep -v
commande qui exclut les répertoires.
Pour avoir plus de contrôle sur les fichiers répertoriés, utilisez la commande find
commande au lieu de ls
:
find DIR_NAME -maxdepth 1 -type f | wc -l
-type f
l'option indique find
pour ne lister que les fichiers (y compris les dotfiles), et -maxdepth 1
limiter la recherche au répertoire de premier niveau.
Compter récursivement les fichiers dans le répertoire #
Pour compter récursivement les fichiers dans le répertoire, exécutez la commande find
commande comme suit :
find DIR_NAME -type f | wc -l
Une autre commande qui peut être utilisée pour compter les fichiers est tree
qui répertorie le contenu des répertoires sous forme d'arborescence :
tree DIR_NAME
La dernière ligne de sortie affichera le nombre total de fichiers et de répertoires répertoriés :
15144 directories, 91311 files
Conclusion #
Nous vous avons montré comment compter les fichiers dans le répertoire en utilisant le ls
, find
et tree
commandes.
Si vous avez des questions ou des commentaires, n'hésitez pas à laisser un commentaire.