5 alternativas al du Command

Autor: JackTian
Fuente: cuenta pública "Jie Ge's IT Journey"
ID: Jake_Internet
Reimpresión, póngase en contacto con la autorización (WeChat ID: Hc220088)
Dirección original: ¡ 5 herramientas que pueden reemplazar el comando du!

Hola a todos, mi nombre es Jack.

En el último artículo, les presenté " 10 herramientas alternativas en el entorno Linux que no conoces". "principalmente incluye: bat, duf, tldr, htop, looks, exa, fd, ag, axel, pydf y sus aplicaciones. Luego, continué explorando y encontré algunas buenas alternativas y las resumí.

Bueno, creo que este artículo se basa en comandos nativos como saben. En el entorno Linux, el comando du es familiar para todos. Puede calcular y resumir el uso de espacio de archivos y directorios en el sistema Linux.

Cuando el archivo ocupa el 80% del espacio en disco y el espacio no se puede expandir temporalmente, podemos encontrar los archivos en el directorio específico que ocupa una gran cantidad de espacio en disco en el sistema para limpiar, simplemente ejecute el siguiente comando para ver el espacio ocupado por el tamaño de la carpeta.

# du -sh

Ingrese a la carpeta que ocupa un gran espacio y ejecute el siguiente comando para ordenar los archivos en el directorio actual de mayor a menor.

# du -sh * |sort -rh

Determine si los archivos que ocupan un gran espacio después de la salida se pueden eliminar normalmente de acuerdo con la situación real, para liberar espacio en el disco y observar el uso del disco.

Cuando el archivo ocupa mucho espacio en disco, du se ejecutará muy lentamente y se ejecutará repetidamente cada vez para encontrar archivos grandes, lo cual es ineficiente ncdu. Este problema se puede resolver en este momento.

1. ncdu

ncdu es un analizador de uso de disco simple y rápido desarrollado con lenguaje C e interfaz ncurses, que se puede usar para ver el espacio en disco ocupado por directorios o archivos en sistemas locales o remotos.

Ubuntu 21.10 disponible en ncdu:

# sudo apt-get install ncdu

Opciones de parámetro ncdu:

  • -h: información de ayuda
  • -q: modo silencioso, el intervalo de actualización es de 2 segundos
  • -v: versión impresa
  • -x: mismo sistema de archivos
  • -e: Habilitar información extendida
  • -r: solo lectura
  • -o FILE: exportar el directorio de escaneo como un archivo
  • -f FILE: Importar directorio de escaneo desde archivo
  • -0,-1,-2: interfaz de usuario para usar al escanear (0 = ninguno, 2 = ncurses completos)
  • --si: Use el prefijo base 10 (SI) en lugar de la base 2
  • --exclude PATTERN: Excluir archivos que coincidan con PATRÓN
  • -X, --exclude-from FILE: Excluir archivos que coincidan con cualquier patrón en el archivo
  • -L, --follow-symlinks: seguir enlaces simbólicos (excluyendo directorios)
  • --exclude-caches: Excluir directorios que contengan CACHEDIR.TAG
  • --exclude-kernfs: Excluya los pseudo-sistemas de archivos de Linux (procfs, sysfs, cgroups...)
  • --confirm-quit:confirmar salida
  • --color SCHEME: establecer el esquema de color

Si no usa ninguna opción de parámetro, puede ejecutar directamente el comando en el directorio que se analizará ncduy, una vez que se complete el escaneo ncdu, aparecerá una interfaz de terminal interactiva.

El tamaño de cada directorio se puede ver claramente, 使用方向键o la Enterclave puede entrar o salir del directorio específico seleccionado.

Cuando se descubre que un determinado directorio o archivo ocupa un gran espacio, puede buscar el archivo de acuerdo con el uso del teclado mencionado anteriormente y confirmar que, si se puede eliminar, no es necesario salir de ncdu.Después de seleccionar el directorio o archivo a eliminar, presione la dtecla para eliminarlo. , si se completa la eliminación, presione el qbotón para salir.

dos, polvo

dust (du + rust = dust) es una herramienta du gratuita, de código abierto y más intuitiva escrita en rust, así como una herramienta que proporciona tipos de archivos y metadatos.

Ubuntu 21.10 instala polvo:

du-dust_0.7.1_amd64.deb es la última versión en el repositorio de polvo de GitHub, descargue el .debarchivo desde la página de lanzamiento de polvo y ejecute los siguientes comandos para descargar e instalar.

wget https://github.com/bootandy/dust/releases/du-dust_0.7.1_amd64.deb
dpkg -i du-dust_0.7.1_amd64.deb

Para otros sistemas, puede consultar otros métodos de instalación de polvo del sistema operativo en GitHub para la instalación.

uso de polvo:

dust [FLAGS] [OPTIONS] [--] [inputs]...

opciones de parámetros de polvo:

  • -f: el "tamaño" del directorio es el número de subarchivos/directorios, no el tamaño del disco
  • -s: use la longitud del archivo en lugar de bloques
  • -p: las rutas a los subdirectorios no se acortan
  • -h: información de ayuda
  • -i: No mostrar archivos ocultos
  • -x: cuente solo los archivos y directorios que están en el mismo sistema de archivos que el directorio proporcionado
  • -b: No se mostrará ninguna barra de porcentaje o porcentaje
  • -c: no imprimirá en color (generalmente los directorios más grandes están coloreados)
  • -r: árbol de impresión al revés (el más grande, el más alto, el más alto)
  • -t: mostrar solo estos tipos de archivos
  • -V: información de la versión impresa
  • -d: profundidad de visualización
  • -e: solo incluye archivos que coincidan con esta expresión regular. Para el tipo de archivo png: -e ".png$"
  • -X: Excluir cualquier archivo o directorio con este nombre
  • -v: Excluir archivos que coincidan con esta expresión regular. Ignorar los tipos de archivos png: -v ".png$"
  • -n: El número de líneas de salida a mostrar. Esta es la altura, (pero h ayuda) [predeterminado: 23]
  • -w: especifica el ancho de la salida para anular la detección automática del ancho del terminal

uso de polvo:

Para ver el tamaño de los archivos en el directorio actual y todos los subdirectorios, puede ejecutar el siguiente comando:

# dust

Cuenta pública de WeChat: el viaje de TI de Jie Ge
-pLos parámetros se pueden mostrar como un directorio completo a partir del directorio actual

# dust -p

Cuenta pública de WeChat: el viaje de TI de Jie Ge
Si solo desea ver el tamaño de varios directorios, solo necesita enumerar estos directorios al mismo tiempo y separarlos con espacios:

# dust /bin /etc

inserte la descripción de la imagen aquí
Mostrar la longitud del archivo:

# dust -s

inserte la descripción de la imagen aquí
Mostrar solo 10 directorios:

# dust -n 10

inserte la descripción de la imagen aquí

3. duu

duu es la abreviatura de Directory Usage Utility. Es una herramienta escrita en Python para ver el tamaño de un directorio específico. Tiene funciones multiplataforma y se puede usar en los sistemas operativos Windows, Linux y MacOS. Es un kilobyte en kilobytes. Las unidades muestran el uso del disco del directorio.

Ubuntu 21.10 También duu:

Antes de instalar la herramienta duu, debe asegurarse de que el sistema tenga instalado el entorno Python 3. De lo contrario, debe instalarlo. Si lo hay, puede ignorarlo. Sin embargo, Python 3 está actualmente disponible en el software predeterminado. repositorios en la mayoría de las distribuciones de Linux.

v2.22.tar.gz es la última versión del paquete de código fuente en el repositorio de duu GitHub, descargue el .tar.gzarchivo desde la página de lanzamiento de duu y ejecute los siguientes comandos para descargar e instalar.

# wget https://github.com/jftuga/duu/archive/refs/tags/v2.22.tar.gz
# tar -zxvf v2.22.tar.gz

Después de la descompresión, ingrese a la carpeta duu-2.22 y verifique duu.pysi el archivo existe.

# ls | grep duu
duu-2.22
# cd duu-2.22/
# ls
duu.py  LICENSE  README.md

duu uso:

duu.py [-h] [-b] [-e] [-q] [-s STATUS] [-n] [-N] [-f] [-S] [-H] [-T THREADS] [-x EXCLUDE] [-X REGEXPR] [-o OUTPUT] [dname]

opciones de parámetro duu:

  • -h: mostrar este mensaje de ayuda y salir
  • -b: No imprime resúmenes ni estadísticas, se utiliza exclusivamente para ordenar
  • -e: extensión de archivo de resumen
  • -q: no mostrar un solo directorio
  • -s: enviar estado de procesamiento a STDERR, número de directorios por ESTADO
  • -n: saltar directorios que comienzan con "."
  • -N: sin recursividad
  • -f: Muestra el número de archivos en cada directorio
  • -S: Mostrar estadísticas de archivo de media, mediana, moda y desviación estándar
  • -H: Mostrar números en un formato más legible
  • -T: número de subprocesos simultáneos, considerando SAN
  • -x: una lista separada por dos puntos de cadenas que no distinguen entre mayúsculas y minúsculas para excluir
  • -X: una lista separada por dos puntos de expresiones regulares que no distinguen entre mayúsculas y minúsculas para excluir
  • -o: salida a archivo CSV

duu uso:

Para ver el tamaño del directorio actual, simplemente ejecute el siguiente comando:

# python3 duu.py

inserte la descripción de la imagen aquí
Como se muestra en la figura anterior, se puede ver que duu mostrará la cantidad de archivos y directorios en el directorio actual y mostrará el tamaño total de estos archivos en Bytes, KB y MB, así como el tamaño de cada archivo. .

Para ver el tamaño de un directorio, simplemente agregue la ruta absoluta al directorio:

# python3 duu.py /etc/init.d/

inserte la descripción de la imagen aquí

Cuarto, disco

Diskus también es una herramienta de código abierto pequeña, rápida y reemplazable por comandos basada en Rust Diskus calculará el tamaño de todos los archivos en el directorio actual, y el efecto de du -shejecutar el comando es el mismo que el de .diskusdu -shdu -sh --bytes

Según el desarrollador del repositorio diskus GitHub, en su computadora portátil de 8 núcleos, las carpetas de tamaño mediano (15 GB, 100 000 directorios, 400 000 archivos) se probaron con la herramienta de referencia de línea de comandos hiperfina, para carpetas más pequeñas. La prueba es realmente inútil. ya que todos los programas se completarán en un tiempo razonable sin interrumpir su flujo de trabajo, lo que lleva a la conclusión de que diskus es aproximadamente diez veces más rápido que el caché de disco frío y el caché de disco caliente tres veces más.

La siguiente es una comparación de los resultados de la memoria caché de disco frío y la memoria caché de disco caliente según las pruebas de diskuslos comandos du -sh, sn p -d0 -j8y .dust -d0

caché de disco frío

Mando Medio] Min [s] máx. [s] Relativo
discos 1,746 ± 0,017 1.728 1.770 1.00
du-sh 17,776 ± 0,549 17.139 18.413 10.18
sn p -d0 -j8 18,094 ± 0,566 17.482 18.579 10.36
polvo -d0 21,357 ± 0,328 20.974 21.759 12.23

caché de disco caliente

Mando Medio] Min [s] máx. [s] Relativo
discos 500,3 ± 17,3 472.9 530.6 1.00
du-sh 1098,3 ± 10,0 1087.8 1122.4 2.20
sn p -d0 -j8 1122,2 ± 18,2 1107.3 1170.1 2.24
polvo -d0 3532,1 ± 26,4 3490.0 3563.1 7.06

Disco antropomórfico de Ubuntu 21.10:

diskus_0.7.0_amd64.deb es la última versión en el repositorio diskus GitHub, descargue el .debarchivo desde la página de lanzamiento de diskus y ejecute los siguientes comandos para descargar e instalar.

# wget https://github.com/sharkdp/diskus/releases/download/v0.7.0/diskus_0.7.0_amd64.deb
# dpkg -i diskus_0.7.0_amd64.deb

Para otros sistemas, puede consultar otros métodos de instalación del sistema operativo de diskus en GitHub para la instalación.

uso de disco:

diskus [OPTIONS] [path]...

Opciones de parámetros de diskus:

  • -j: establece el número de subprocesos (predeterminado: 3 x número de núcleos), formato de salida del tamaño del archivo (decimal: MB, binario: MiB) [predeterminado: decimal] [valores posibles: decimal, binario]
  • -v: no ocultar errores del sistema de archivos
  • -b: Calcula el tamaño aparente en lugar del uso del disco
  • -h: información de ayuda
  • -v:Información de versión

usos de diskus:

El du -sh 路径comando utilizado puede ver el tamaño de un directorio, y el -sparámetro aquí indica el tamaño total de la pantalla.

# du -sh /etc
16M	/etc

Si diskusse usa, puede mostrar directamente el tamaño total del directorio actual.

# diskus

Si desea verificar el tamaño de un directorio, puede diskusagregar una ruta absoluta después.

# diskus /etc
16.66 MB (16,662,528 bytes)

Cinco, estaño-verano

tin-summer (sn) es una herramienta de código abierto escrita en lenguaje Rust y duun reemplazo para los comandos que se pueden usar para encontrar archivos que ocupan espacio en el disco, con mejor salida, comandos y valores predeterminados más limpios, y gracias a los subprocesos múltiples, incluso puede ejecutar más rápido que el comando du al calcular el tamaño de directorios grandes, la diferencia entre tin-summer y el comando du es que el primero lee el tamaño del archivo, mientras que el segundo lee el uso del disco.

Además, los desarrolladores de tin-summer también hicieron una comparación clara de las razones para usar du y sn.

Razones para usar du:

  • Uso de disco legible, no solo tamaño de archivo
  • enlace simbólico opcional de desreferencia
  • Puede ser un poco más rápido en directorios pequeños
  • Estable y bien soportado

Razones para usar sn:

  • Más rápido en directorios grandes
  • Use expresiones regulares para la exclusión, haciéndolo mucho más rápido que du cuando se usa con el indicador --exclude.
  • Valores predeterminados para salida legible
  • salida de color
  • al obtener una mejor ayuda
  • Proporciona salida ordenada
  • Buscar artefactos de construcción
  • Lee el tamaño del archivo, no el uso del disco
  • Extensible en Rust

Al mismo tiempo, también se realizó una prueba comparativa para comparar los resultados de tiempo de sn y du ejecutando diferentes tamaños de directorio.

Tamaño del directorio Herramienta Mando Hora
600 MB sn sn p 60,74 ms
600 MB sn sn d 99,92 ms
600 MB desde du-hacd2 88,28 ms
4 GB sn sn p 185,2 ms
4 GB sn sn d 271,9 ms
4 GB desde du-hacd2 195,5ms
700 MB sn sn p 91,05 ms
700 MB sn sn d 176,3 ms
700 MB desde du-hacd2 153,8 ms
7MB sn sn p 19,48 ms
7MB sn sn d 12,72 ms
7MB desde du-hacd2 10,13 ms

Instalar estaño-verano:

# curl -LSfs https://japaric.github.io/trust/install.sh | sh -s -- --git vmchale/tin-summer

También se puede instalar usando un cargoadministrador de paquetes tin-summer, siempre que Rust esté instalado en el sistema. Si Rust ya está instalado, ejecute el siguiente comando:

# cargo install tin-summer

Si los dos métodos de instalación anteriores no han instalado correctamente tin-summer, también puede descargar la última versión de los archivos binarios desde el área de lanzamiento del repositorio de tin-summer GitHub para la instalación manual.

Uso de estaño-verano:

Vea el tamaño del archivo del directorio actual sin agregar ningún parámetro. tin-summer también muestra al usuario en un formato fácil de leer de forma predeterminada. Puede ejecutar el siguiente comando:

# sn f

Para ver el tamaño del archivo de un directorio específico, ejecute el siguiente comando:

# sn f <path-to-the-directory>

Para buscar en el directorio actual el directorio que contiene los artefactos de compilación, ejecute el siguiente comando:

# sn ar

Para buscar artefactos o directorios que contengan artefactos que ocupen más de 200 MB de espacio en disco, ejecute el siguiente comando:

# sn ar -t200M

Para obtener una lista ordenada de los 10 directorios más grandes en $DIR, ejecute el siguiente comando:

# sn sort $DIR -n12

Sn es realmente más rápido cuando opera un directorio grande y relativamente lento cuando opera un directorio pequeño.

Referirse a

polvo:https://github.com/bootandy/dust/
duu:https://github.com/jftuga/duu
diskus:https://github.com/sharkdp/diskus/
tin-summer:https://github .com/vmchale/tin-verano

finalmente

Aunque la mayoría de nosotros todavía usamos la herramienta de comando básica predeterminada en nuestro trabajo diario, cuando la reemplaza con las 5 herramientas de reemplazo descritas anteriormente, se cree que es muy útil en muchos escenarios. Por supuesto, puede haber más alternativas de línea de comandos de Linux, y puede agregarlas en el área de comentarios a continuación.

Eso es todo por hoy.

Si crees que este artículo es útil para ti, dale me gusta , deja un comentario o reenvía este artículo para que más amigos puedan verlo, ¡porque esta será la motivación más fuerte para que continúe publicando más artículos de alta calidad!

Supongo que te gusta

Origin blog.csdn.net/jake_tian/article/details/121790267
Recomendado
Clasificación