Aunque no muy a menudo, hay momentos en los que necesita averiguar cuántos archivos hay en un directorio determinado. Por ejemplo, si se queda sin inodos en su sistema Linux, deberá encontrar qué directorio contiene miles o millones de archivos.

En este artículo, le mostraremos varias formas diferentes de encontrar la cantidad de archivos en un directorio en Linux.

Contar archivos en el directorio

La forma más sencilla de contar archivos en un directorio es enumerar un archivo por línea ls y canalizar la salida wc para contar las líneas:

ls -1U DIR_NAME | wc -l

El comando anterior le dará una suma de todos los archivos, incluidos directorios y enlaces simbólicos. La -1opción significa enumerar un archivo por línea y -Ule indica lsque no ordene la salida, lo que hace que la ejecución del comando sea más rápida.

ls -1U El comando no cuenta los archivos ocultos (dotfiles).

Si desea contar solo archivos y no incluir los directorios, use lo siguiente:

ls -1Up DIR_NAME | grep -v / | wc -l

La -popción obliga lsa agregar /el indicador de barra inclinada ( ) a los directorios. La salida se canaliza al grep -v comando que excluye los directorios.

Para tener más control sobre qué archivos se enumeran, use el findcomando en lugar de ls:

find DIR_NAME -maxdepth 1 -type f | wc -l

-type fLa opción le dice findque enumere solo los archivos (incluidos los archivos de puntos) y -maxdepth 1limite la búsqueda al directorio de primer nivel.

Contar archivos recursivamente en el directorio

Para contar recursivamente los archivos en el directorio, ejecute el findcomando de la siguiente manera:

find DIR_NAME -type f | wc -l

Otro comando que se puede usar para contar archivos es treeel que enumera el contenido de los directorios en un formato de árbol:

tree DIR_NAME

La última línea de salida mostrará el número total de archivos y directorios enumerados:

15144 directories, 91311 files

Conclusión

Le mostramos cómo contar archivos en el directorio usando los comandos lsfindy .tree

Si tiene alguna pregunta o comentario, no dude en dejar un comentario.