GNU/Linux >> Tutoriales Linux >  >> Linux

Linux:busque el número de archivos en un directorio y subdirectorios

A veces queremos encontrar la cantidad de archivos en un directorio en Linux. Por ejemplo, encontrar cuántas imágenes están presentes en el directorio de cargas de JournalDev WordPress.

Hay varias formas de hacerlo, veamos algunos de los escenarios comunes y el mejor comando para encontrar la cantidad de archivos en un directorio.

1. Encuentra el Número de Archivos en un Directorio

Podemos usar el comando ls junto con el comando wc para contar la cantidad de archivos en un directorio. Contemos el número de archivos en el directorio raíz de mi tema.

# ls
404.php    archive.php   functions.php  inc        layouts            phpcs.xml.dist     screenshot.png    single.php      webpack
LICENSE    comments.php  header.php     index.php  package-lock.json  postcss.config.js  search.php        src             woocommerce.css
Plugins    dist          home.php       js         package.json       readme.txt         sidebar-left.php  style.css
README.md  footer.php    images         languages  page.php           rtl.css            sidebar.php       template-parts
# ls -1 | wc -l
34

Si observa la imagen, los elementos de color azul son directorios. También se incluyen como archivo en la salida.

¿Qué pasa si queremos contar solo archivos y no directorios?

# ls -p | grep -v / | wc -l
24
#
  1. El comando "ls -p" imprime los nombres de los directorios con "/" al final.
  2. El comando "grep -v /" filtra la salida e imprime solo el nombre que no contiene "/", por lo tanto, omite todos los directorios.
  3. Finalmente, "wc -l" cuenta las líneas en la salida y las imprime.

Del mismo modo, si desea encontrar la cantidad de directorios solo dentro de un directorio, use el siguiente comando.

# ls -p | grep / | wc -l
10
#

Nota:Los comandos anteriores no buscan los archivos ocultos, si desea que el conteo también incluya archivos ocultos, use la opción "-a" con el comando ls.

# ls -a1 | wc -l
41
#

Este comando contará “.” y ".." también, por lo que deberá tenerlo en cuenta en su script de shell si es necesario.

2. Encuentra el número de archivos en un directorio y subdirectorios de forma recursiva

Los ejemplos anteriores son buenos para contar archivos y directorios en un directorio. Pero, si desea contar la cantidad de archivos, incluidos los subdirectorios, deberá usar el comando de búsqueda.

# find . -type f
./.test_file
./functions.php
./logger/class-logger-writter.php
./logger/class-logger-export.php
./logger/assets/js/base.js
./logger/assets/css/base.css
./logger/assets/css/base.less
./logger/assets/css/base.css.map
./logger/class-logger-reader.php
./class-protector.php
./class-anti-spam-plugin.php
# find . -type f | wc -l
11
#
  1. La opción "-type f" del comando de búsqueda se usa para buscar archivos normales.
  2. Este comando ignorará todos los directorios, “.” y archivos “..”. Pero incluirá archivos ocultos en la salida.
  3. El comando "wc -l" contará el número total de líneas y lo imprimirá, dándonos así el recuento de archivos.

Referencias:

  • página man del comando wc
  • buscar página del comando man


Linux
  1. Cómo encontrar archivos de configuración de MySQL, PHP y Apache

  2. Cómo encontrar el número de archivos en un directorio y subdirectorios

  3. Encuentra archivos y directorios en Linux como un profesional

  4. ¿Número máximo de archivos/directorios en Linux?

  5. Encuentre todos los archivos de cero bytes en directorios y subdirectorios

Cómo contar archivos en el directorio en Linux

Cómo encontrar y eliminar archivos duplicados en Linux

3 formas de encontrar archivos y directorios en Linux

Encuentre archivos y directorios en Linux fácilmente

Contar el número de archivos en un directorio en Linux

Cómo contar el número de archivos en un directorio en Linux