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 inode 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 con ls
y canalice la salida a 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. El -1
opción significa enumerar un archivo por línea y -U
le dice a ls
para no ordenar 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 los archivos y no incluir los directorios, use lo siguiente:
ls -1Up DIR_NAME | grep -v / | wc -l
El -p
opción fuerza ls
para añadir barra inclinada (/
) indicador a directorios. La salida se canaliza a grep -v
comando que excluye los directorios.
Para tener más control sobre qué archivos se enumeran, use el find
comando en lugar de ls
:
find DIR_NAME -maxdepth 1 -type f | wc -l
-type f
opción le dice a find
para enumerar solo los archivos (incluidos los archivos de puntos), y -maxdepth 1
limitar la búsqueda al directorio de primer nivel.
Recuento recursivo de archivos en el directorio #
Para contar recursivamente los archivos en el directorio, ejecute find
comando de la siguiente manera:
find DIR_NAME -type f | wc -l
Otro comando que se puede usar para contar archivos es tree
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 el ls
, find
y tree
comandos.
Si tiene alguna pregunta o comentario, no dude en dejar un comentario.