
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/directoryComience a buscar dentro del directorio especificado.-type fDecirfindBusque solo archivos (no directorios).- este
|(tubería) pasó la salidafindcomando al siguiente comando. wc -lCuenta el número de filas en la entrada que recibe, gracias al usofindcorrespondiente 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
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/directoryComience a buscar dentro del directorio especificado.-type dDecirfindBusque directorios únicamente.- este
|(tubería) pasó la salidafindcomando al siguiente comando. wc -lCuenta el número de líneas en la entrada que recibe, que corresponde al número de directorios encontrados a través defind.
Este comando cuenta todos los directorios, incluido el directorio raíz buscado.
ejemplo:
$ find ~/Downloads -type d | wc -l 563

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
-typeopciones (fPara archivos,dpara 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
maxdepthymindepthApropiadamente 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 ~/MyFiles Sí Capí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 -lRdirectiva 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 porgrep ^dOrden.
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:
findOrden: Por defecto,findIncluir directorios ocultos (comenzando con.) en su búsqueda y conteo.ls -lROrden: Esta combinación, sin opciones adicionales, no enumerará directorios ocultos a menos que se le indique explícitamente que lo haga (usando-aOpciones yls).
2. Recuento del directorio raíz:
findOrden: recuento obtenidofind /path/to/directory -type d | wc -lIncluye el directorio raíz especificado en su total.ls -lR | grep ^d | wc -lOrden: 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:










