Tutoriales

Cómo contar la cantidad de archivos y directorios en Linux: una guía para principiantes

saber ser eficiente Conteo de archivos y directorios en Linux Esta es una habilidad valiosa para los administradores de sistemas y cualquiera que trabaje con grandes cantidades de material.En esta guía, compartiré cómo usar herramientas simples de línea de comandos como find, wcy lsrápido Encuentre la cantidad exacta de archivos y carpetas en Linux y Unix Sistema operativo.

¡Empecemos!

Cuente el número de archivos en un directorio usando find Orden

Para contar todos los archivos en una ruta determinada (incluidos todos sus subdirectorios), puede utilizar find combinación de comandos wc -l en su terminal Linux. Puedes hacerlo:

1. Abre tu terminal.

2. Utilice el siguiente comando para reemplazar /path/to/your/directory con la ruta real al directorio:

$ find /path/to/your/directory -type f | wc -l

Analicemos el comando anterior y veamos qué hace cada parte del comando:

  • find /path/to/your/directory Comience a buscar dentro del directorio especificado.
  • -type f Decir find Busque solo archivos (no directorios).
  • este | (tubería) pasó la salida find comando al siguiente comando.
  • wc -l Cuenta el número de filas en la entrada que recibe, gracias al uso findcorrespondiente al número de archivos.

Esto generará el número total de archivos en el directorio especificado y todos sus subdirectorios.

ejemplo:

Para contar la cantidad de archivos en el directorio de descarga, el comando es:

$ find ~/Downloads -type f | wc -l
5968
Cuente la cantidad de archivos en un directorio a través de la línea de comando en Linux

Como puedes ver, hay 5968 archivos en el directorio de descarga.

Usar directorio de recuento find Orden

En el ejemplo anterior, contamos la cantidad de archivos en una ubicación determinada. ¿Qué pasa con la tabla de contenidos? ¿Podemos usar el comando buscar para buscar subdirectorios en un directorio específico?

Sí, podemos usar la línea de comando para encontrar la cantidad de subdirectorios dentro de un directorio determinado en Linux.Usarás find comando nuevamente, pero esta vez buscará el directorio (-type d) en lugar de un archivo.

$ find /path/to/the/directory -type d | wc -l

Solo reemplaza /path/to/the/directory con el camino real. Aquí hay una descripción detallada del comando:

  • find /path/to/the/directory Comience a buscar dentro del directorio especificado.
  • -type d Decir find Busque directorios únicamente.
  • este | (tubería) pasó la salida find comando al siguiente comando.
  • wc -l Cuenta el número de líneas en la entrada que recibe, que corresponde al número de directorios encontrados a través de find.

Este comando cuenta todos los directorios, incluido el directorio raíz buscado.

ejemplo:

$ find ~/Downloads -type d | wc -l
563
Cuente el número de directorios a través de la línea de comando en Linux
Cuente el número de directorios a través de la línea de comando en Linux

Como puede ver, hay 563 subdirectorios bajo el directorio ~/Downloads directorio, incluido él mismo.

Si desea excluir el directorio raíz del recuento, simplemente reste 1 del resultado.

Cuente el número de archivos y directorios. find Uso de comandos maxdepth y mindepth Opciones

Cuando se usa para contar archivos y directorios find Instrucciones en Linux, uso. maxdepth y mindepth Las opciones efectivas pueden ayudarlo a identificar su búsqueda y evitar contar elementos innecesarios.

A continuación se explica cómo utilizar estas opciones para contar.

Cuente la cantidad de archivos dentro de un rango de profundidad específico

Para contar archivos dentro de un rango de profundidad de directorio específico, también puede especificar mindepth y maxdepth. Esto es útil cuando desea excluir archivos de nivel superior o profundizar en un nivel de subdirectorio específico.

ejemplo:Solo cuente archivos en el subdirectorio de segundo nivel:

$ find /path/to/directory -mindepth 2 -maxdepth 2 -type f | wc -l

Este comando contará archivos exactamente a dos profundidades de directorio desde el punto de partida.

Calcular directorios a una profundidad específica.

Asimismo, para contar directorios a una profundidad específica, puede ajustar mindepth y maxdepth opciones correspondientes.

ejemplo: Calcula directorios con exactamente tres niveles de profundidad:

$ find /path/to/directory -mindepth 3 -maxdepth 3 -type d | wc -l

Excluir directorios de nivel superior del recuento

Si está contando elementos pero desea excluir el directorio de nivel superior o cualquier elemento del directorio de nivel superior, puede utilizar el siguiente comando de ejemplo.

ejemplo: Cuente todos los archivos excepto los directorios de nivel superior:

$ find /path/to/directory -mindepth 1 -type f | wc -l

ejemplo: El cálculo no incluye los subdirectorios de nivel superior:

$ find /path/to/directory -mindepth 1 -type d | wc -l

Cuente todos los archivos o directorios dentro de una cierta profundidad

Si desea incluir todo hasta cierta profundidad, puede usar maxdepth No especificado mindepth.

Ejemplo: cuente todos los archivos en el subdirectorio de segundo nivel:

$ find /path/to/directory -maxdepth 2 -type f | wc -l

Consejos para un uso eficaz

  • aclara tus objetivos: Comprenda si está interesado en archivos, directorios o ambos, y ajuste -type opciones (f Para archivos, d para directorios) en consecuencia.
  • Considere el rendimiento: La búsqueda en estructuras de directorios muy profundas puede llevar mucho tiempo.Si sólo está interesado en un rango de profundidad específico, configure maxdepth y mindepth Apropiadamente puede acelerar su búsqueda.
  • Valide sus suposiciones profundas: Antes de realizar una operación de conteo grande, pruebe su comando con una pequeña porción del directorio de destino para asegurarse de que está contando a la profundidad correcta.

Puede contar archivos y carpetas en Linux con mayor precisión y rapidez utilizando Ajustar profundidad de búsquedamindepth» y»maxdepth«Según tus necesidades.

Cuente el número de directorios y sus subdirectorios usando el siguiente comando ls Orden

La combinación de ls, grep y wc es otra forma de contar el número de directorios dentro de un directorio específico (incluidos todos sus subdirectorios).

Navegue hasta el directorio donde desea contar la cantidad de subdirectorios:

$ cd MyFiles/

y ejecuta el siguiente comando:

$ ls -lR | grep ^d | wc -l
488

Como puede ver en el resultado anterior, el número total de subdirectorios ~/MyFilesCapítulo 488.

Aquí hay una breve explicación de cómo funciona el comando:

  • ls -lR: este comando enumera de forma recursiva todos los archivos y directorios en el directorio actual y sus subdirectorios, mostrando información detallada sobre cada archivo y directorio.
  • grep ^d: Este comando filtra la salida. ls -lR directiva para seleccionar solo líneas que comiencen con «d», que representa un directorio.
  • wc -l: Este comando cuenta el número de líneas en la salida generada por grep ^d Orden.

Entonces, en resumen, este comando enumera todos los directorios y subdirectorios dentro del directorio actual y sus subdirectorios, luego cuenta el número de directorios y genera el recuento. Básicamente, le indica cuántos directorios existen dentro del directorio actual y sus subdirectorios.

Este es un método conveniente, especialmente cuando ya está trabajando en un directorio específico y desea calcular rápidamente el recuento de directorios.

Por qué find y ls ¿Comando que muestra diferentes recuentos al contar directorios?

Orden ls -lR | grep ^d | wc -l y find /path/to/directory -type d | wc -l Ambos cuentan directorios, pero lo hacen de diferentes maneras, lo que puede llevar a resultados diferentes.

Estas son las razones por las que los recuentos son diferentes:

1. Directorio oculto:

  • find Orden: Por defecto, find Incluir directorios ocultos (comenzando con .) en su búsqueda y conteo.
  • ls -lR Orden: Esta combinación, sin opciones adicionales, no enumerará directorios ocultos a menos que se le indique explícitamente que lo haga (usando -a Opciones y ls).

2. Recuento del directorio raíz:

  • find Orden: recuento obtenido find /path/to/directory -type d | wc -l Incluye el directorio raíz especificado en su total.
  • ls -lR | grep ^d | wc -l Orden: este método normalmente solo cuenta los subdirectorios, no el directorio raíz desde el que se ejecuta el comando, dependiendo de cómo se interprete el resultado. grep.

en conclusión

Ya sea que esté limpiando un disco duro externo o simplemente tenga curiosidad sobre el contenido de una carpeta, poder contar rápidamente la cantidad de archivos y directorios dentro de una ubicación específica es una habilidad esencial.

Usando el comando apropiado, p.e. find, lsy wcpuede obtener efectivamente la cantidad exacta de archivos y directorios dentro de una ubicación específica o incluso de todo el sistema Linux.

Lectura relacionada:

LEER  Python Time.sleep Milisegundos

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba