Cómo contar la cantidad de archivos en un directorio en Linux

¿Alguna vez se ha estrujado el cerebro buscando una forma de contar la cantidad de archivos en un directorio y subdirectorios en Linux?
En este breve tutorial, veremos cómo puede hacer esto de una manera simple pero precisa.
1) Usando el comando wc
El comando WC, abreviatura de Word Count, es una herramienta de línea de comandos en los sistemas Unix/Linux que se utiliza para imprimir líneas nuevas, contar líneas numéricas y caracteres en un archivo. El comando también se puede combinar con otras operaciones de tubería para funciones generales de conteo.
Para contar la cantidad de archivos en un directorio, use la siguiente sintaxis
# ls -1 | wc -l
Analicemos la sintaxis y veamos qué hace qué
ls
: enumerar los archivos-1
: Éste es el indicado. Imprime una entrada por línea. Para imprimir archivos ocultos, cámbielo a -1a
|
: Tubos de salida en…wc
: Número de palabras-l
: cuenta las líneas
a contar el número de archivos fuera del directoriopuede especificar el nombre del directorio como se muestra
# ls directory_name | wc -l
Para demostrar cómo funcionan estos comandos, creemos un nuevo directorio archivo_prueba, y navegar en él.
# mkdir test_folder && cd test_folder
A continuación, crearemos algunos archivos de texto con fines de demostración.
# touch file1.txt file2.txt file3.txt file4.txt file5.txt
Confirmemos la existencia de los archivos enumerándolos usando ls
dominio
# ls -l
Salida

Genial, ahora vamos a contar los archivos.
# ls -1 | wc -l
Salida

De manera similar, puede salir del directorio usando el comando cd
# cd ..
y huir
# ls test_folder | wc -l
Salida

2) Usando el comando de árbol
tree
es una herramienta de línea de comandos de Unix/Linux que imprime directorios de forma recursiva en un formato de árbol. Enumera cada directorio junto con cualquier subdirectorio dentro de él. Además, también puede mostrar los tipos y la cantidad de archivos en un directorio.
Navegue a nuestro ejemplo «test_folder»
cd test_folder
A continuación, ejecute el comando de árbol
tree
Salida

Como puede ver, los nombres de los archivos se enumeran junto al número que aparece en la parte inferior. Claramente, por observación, el número coincide exactamente con el número de archivos creados anteriormente.
4) El comando Rsync
Podemos usar el comando rsync para encontrar la cantidad de archivos, directorios, enlaces simbólicos.
# rsync --stats --dry-run -ax /etc /test
--dry-run
se utiliza en realidad no transferir los archivos. /test
debe ser una carpeta vacía o inexistente.
# 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) Enumerar archivos recursivamente a través de directorios y subdirectorios
Para contar recursivamente archivos a través de directorios y subdirectorios usando el siguiente comando
# find DIR_NAME -type f | wc -l
Dónde:
DIR_NOMBRE es el nombre del directorio
– tipo f especificar archivos solamente
WC (wordcount) cuenta líneas nuevas, palabras y bytes en su entrada
eso Contar líneas nuevas
Si está contando archivos en el directorio actual, reemplace DIR_NAME con un punto, como se muestra
# find . -type f | wc -l
Para incluir otras subcarpetas y archivos en subcarpetas, omita - type f
bandera.
find . | wc -l
Espero que este artículo haya sido útil y que ahora pueda contar cómodamente la cantidad de archivos en directorios y subdirectorios. Intenta también herramienta ncdu que es una herramienta GUI que también ayuda a encontrar la cantidad de archivos.