Dutree – Herramienta de análisis de uso de disco de línea de comandos en Linux

DUtree es una combinación de Durep y Tree. Durep crea informes de uso de disco con gráficos que nos permiten identificar qué directorios están usando más espacio. Aunque durep puede producir una salida de texto similar a du, su poder real es la capacidad de almacenar informes en un archivo. Tree es un programa de visualización de directorios que enumera de forma recursiva el directorio en una estructura similar a un árbol en la Terminal. Tree es un programa limpio y simple que puede usar para construir una estructura similar a un árbol para directorios y sistemas de archivos. Esto me lleva a enumerar las características de DUtree,

  • Fantasía: salida en color,
  • Visualización jerárquica del sistema de archivos,
  • El usuario puede agregar archivos pequeños,
  • El usuario puede excluir archivos o directorios,
  • El usuario puede comparar diferentes directorios,
  • Confiable y rápido.

DUTree está escrito en ÓXIDO lenguaje de programación, Óxido es un lenguaje de programación de sistemas que se ejecuta sorprendentemente rápido, evita segfaults y es seguro para subprocesos. Hoy, les mostraré cómo instalar DUTree en CentOS 7 y Ubuntu 16.04. El siguiente tutorial comienza desde la instalación en Git y RUST, si ya lo ha completado, puede pasar a la instalación de Dutree. Tenga en cuenta que la instalación de RUST es imprescindible para que se ejecute este tutorial.

Instalación de Git

Ubuntu 16.04

$ sudo apt install git

CentOS 7

$ sudo yum install git

Instalación RUST

Ubuntu 16.04

$ sudo apt install curl 

$ curl https://sh.rustup.rs -sSf | sh

Centos 7

$ curl https://sh.rustup.rs -sSf | sh

Instalación de DUTree

$ git clone https://github.com/nachoparker/dutree.git
Cloning into 'dutree'... 

remote: Counting objects: 27, done. 
remote: Compressing objects: 100% (18/18), done. 
remote: Total 27 (delta 3), reused 27 (delta 3), pack-reused 0 
Unpacking objects: 100% (27/27), done. 
Checking connectivity... done.
$ curl https://sh.rustup.rs -sSf | sh 
Welcome to Rust! 

This will download and install the official compiler for the Rust programming 
language, and its package manager, Cargo. 
It will add the cargo, rustc, rustup and other commands to Cargo's bin directory, located at:   /home/administrator/.cargo/bin 
This path will then be added to your PATH environment variable by modifying the 
profile file located at:   /home/administrator/.profile 
You can uninstall at any time with rustup self uninstall and these changes will be reverted. 
Current installation options:    
  default host triple: x86_64-unknown-linux-gnu
  default toolchain: stable 
  modify PATH variable: yes 

1) Proceed with installation (default) 
2) Customize installation 
3) Cancel installation
$ 1
info: syncing channel updates for 'stable-x86_64-unknown-linux-gnu' 
info: latest update on 2018-03-01, rust version 1.24.1 (d3ae9a9e0 2018-02-27) 
info: downloading component 'rustc' 
 47.8 MiB /  47.8 MiB (100 %)   1.7 MiB/s ETA:   0 s 
info: downloading component 'rust-std' 
 66.9 MiB /  66.9 MiB (100 %)   1.0 MiB/s ETA:   0 s 
info: downloading component 'cargo' 
  4.2 MiB /   4.2 MiB (100 %)   1.7 MiB/s ETA:   0 s 
info: downloading component 'rust-docs' 
  4.6 MiB /   4.6 MiB (100 %)   1.8 MiB/s ETA:   0 s 
info: installing component 'rustc' 
info: installing component 'rust-std' 
info: installing component 'cargo' 
info: installing component 'rust-docs' 
info: default toolchain set to 'stable' 
  stable installed - rustc 1.24.1 (d3ae9a9e0 2018-02-27) 
Rust is installed now. Great! 

To get started you need Cargo's bin directory ($HOME/.cargo/bin) in your PATH 
environment variable. Next time you log in this will be done automatically. 
To configure your current shell run source $HOME/.cargo/env 

Establecer entorno RUST

$ administrator@administrator:~/dutree$ source $HOME/.cargo/env 
$ administrator@administrator:~/dutree$ rustc --version 
rustc 1.24.1 (d3ae9a9e0 2018-02-27) 
$ administrator@administrator:~/dutree$ cargo install 
  Installing dutree v0.1.0 (file:///home/administrator/dutree) 
    Updating registry `https://github.com/rust-lang/crates.io-index` 
    Updating git repository `https://github.com/eminence/terminal-size.git` 
 Downloading getopts v0.2.15 
 Downloading regex v0.2.10 
 Downloading unicode-width v0.1.4 
 Downloading winapi v0.2.8 
 Downloading kernel32-sys v0.2.2 
 Downloading libc v0.2.39 
 Downloading winapi-build v0.1.1 
 Downloading regex-syntax v0.5.3 
 Downloading aho-corasick v0.6.4 
 Downloading utf8-ranges v1.0.0 
 Downloading thread_local v0.3.5 
 Downloading memchr v2.0.1 
 Downloading ucd-util v0.1.1 
 Downloading unreachable v1.0.0 
 Downloading lazy_static v1.0.0 
 Downloading void v1.0.2 
   Compiling regex v0.2.10 
   Compiling utf8-ranges v1.0.0 
   Compiling getopts v0.2.15 
   Compiling winapi v0.2.8 
   Compiling void v1.0.2 
   Compiling libc v0.2.39 
   Compiling ucd-util v0.1.1 
   Compiling winapi-build v0.1.1 
   Compiling lazy_static v1.0.0 
   Compiling unicode-width v0.1.4 
   Compiling unreachable v1.0.0 
   Compiling regex-syntax v0.5.3 
   Compiling memchr v2.0.1 
   Compiling kernel32-sys v0.2.2 
   Compiling thread_local v0.3.5 
   Compiling aho-corasick v0.6.4 
   Compiling terminal_size v0.1.7 (https://github.com/eminence/terminal-size.git#af31d2b0) 
   Compiling dutree v0.1.0 (file:///home/administrator/dutree) 
    Finished release [optimized] target(s) in 453.67 secs 
Installing /home/administrator/.cargo/bin/dutree 

Fuente de configuración

El comando de origen se puede usar para cargar cualquier archivo de funciones en el script de shell actual o en un símbolo del sistema,

$ source $HOME/.cargo/env

Opción de ayuda general, muestra una lista de opciones y lo que realiza,

$ dutree –-help 

Usage: dutree [options] <path> [<path>..] 
Options: 
    -d, --depth [DEPTH] show directories up to depth N (def 1) 
    -a, --aggr [N[KMG]] aggregate smaller than N B/KiB/MiB/GiB (def 1M) 
    -s, --summary       equivalent to -da, or -d1 -a1M 
    -u, --usage         report real disk usage instead of file size 
    -b, --bytes         print sizes in bytes 
    -x, --exclude NAME  exclude matching files or directories 
    -H, --no-hidden     exclude hidden files 
    -A, --ascii         ASCII characters only, no colors 
    -h, --help          show help 
    -v, --version       print version number 

Abajo están todos example usando varias opciones para mostrar el uso de dutree,

Ejemplo

Profundidad

El profundidad de un directorio es el número de bordes desde el archivo / directorio al árboles directorio raíz. Un directorio raíz tendrá un profundidad de 1. La altura de un archivo es el número de bordes en la ruta más larga desde el directorio a una hoja.

Puede ver la profundidad del primer directorio por,

$ dutree -d1 test/

o quieres ver más archivos en profundidad,

$ dutree -d2 test/

o ver todo,

$ dutree test/

Resumen

Para tener una descripción general rápida del directorio especificado, utilice la opción -s.

$ dutree -s test/

también puede ver el tamaño del archivo en bytes usando la opción -b,

$ dutree -b test/

si desea ver archivos que excluyen la extensión específica o el nombre del archivo o directorio, puede usar la opción -x,

$ dutree -x dir1 test/

a continuación, verá que dir1 está excluido del árbol,

Agregación

Puede agregar archivos en un directorio determinado o especificar un tamaño de archivo determinado para una mejor visualización,

$ dutree -a 100b test/

Uso de disco real

En la siguiente imagen, puede ver cómo verificar el uso real del disco en lugar del tamaño del archivo. El tamaño de archivo de los archivos no es equivalente al uso del disco, esta es la cantidad real de bloques de disco que se utilizan. Los archivos pequeños generalmente ocupan más espacio del que asumimos porque solo se almacenará un archivo pequeño en un bloque.

$ dutree -u test/

Comparar

Puede comparar cualquier cantidad de carpetas diferentes,

Caracteres ASCII

En la imagen de abajo, puede ver cómo usar dutree especificando la ruta del directorio. Si usted es el tipo de persona a la que no le importan los colores de moda o tiene problemas con los caracteres de bloque en su antiguo terminal, puede obtener la salida en buenos caracteres ASCII sencillos.

$ dutree -A test/

Intente usar la variable LS_COLOR para colores elegantes para su entorno y háganos saber sus comentarios.