Más recursos de Linux
- Hoja de trucos de los comandos de Linux
- Hoja de trucos de comandos avanzados de Linux
- Curso en línea gratuito:Descripción general técnica de RHEL
- Hoja de trucos de red de Linux
- Hoja de trucos de SELinux
- Hoja de trucos de los comandos comunes de Linux
- ¿Qué son los contenedores de Linux?
- Nuestros últimos artículos sobre Linux
Si trabaja en la línea de comandos de Linux, estará familiarizado con el du
dominio. Conocer comandos como du
, que devuelve información sobre el uso del disco rápidamente, es una de las formas en que la línea de comandos hace que los programadores sean más productivos. Sin embargo, si está buscando una manera de ahorrar aún más tiempo y hacer su vida aún más fácil, eche un vistazo al polvo, que es du
reescrito en Rust con más intuición.
En resumen, dust
es una herramienta que proporciona el tipo de archivo y los metadatos. Si activas dust
en un directorio, informará la utilización del disco de ese directorio de varias maneras. Proporciona un gráfico muy informativo que le indica qué carpeta está utilizando la mayor cantidad de espacio en disco. Si hay una carpeta anidada, puede ver el porcentaje de espacio utilizado por cada carpeta.
Instalar polvo
Puedes instalar dust
usando el administrador de paquetes de Rust's Cargo:
$ cargo install du-dust
Alternativamente, puede encontrarlo en su repositorio de software en Linux y en macOS, use MacPorts o Homebrew.
Explora el polvo
Emitiendo el dust
El comando en un directorio devuelve un gráfico que muestra su contenido y qué porcentaje tiene cada elemento en un formato de árbol.
$ dust
5.7M ┌── exa │ ██ │ 2%
5.9M ├── tokei │ ██ │ 2%
6.1M ├── dust │ ██ │ 2%
6.2M ├── tldr │ ██ │ 2%
9.4M ├── fd │ ██ │ 4%
2.9M │ ┌── exa │ ░░░█ │ 1%
15M │ ├── rustdoc │ ░███ │ 6%
18M ├─┴ bin │ ████ │ 7%
27M ├── rg │ ██████ │ 11%
1.3M │ ┌── libz-sys-1.1.3.crate │ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█ │ 0%
1.4M │ ├── libgit2-sys-0.12.19+1.1.0.crate │ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█ │ 1%
4.5M │ ┌─┴ github.com-1ecc6299db9ec823 │ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█ │ 2%
4.5M │ ┌─┴ cache │ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█ │ 2%
1.0M │ │ ┌── git2-0.13.18 │ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓▓▓▓█ │ 0%
1.4M │ │ ├── exa-0.10.1 │ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓▓▓▓█ │ 1%
1.5M │ │ │ ┌── src │ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓▓▓▓█ │ 1%
2.2M │ │ ├─┴ idna-0.2.3 │ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓▓▓▓█ │ 1%
1.2M │ │ │ ┌── linux │ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓▓▓▓█ │ 0%
1.6M │ │ │ ┌─┴ linux_like │ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓▓▓▓█ │ 1%
2.6M │ │ │ ┌─┴ unix │ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓▓▓▓█ │ 1%
3.1M │ │ │ ┌─┴ src │ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓▓▓▓█ │ 1%
3.1M │ │ ├─┴ libc-0.2.94 │ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓▓▓▓█ │ 1%
1.2M │ │ │ ┌── test │ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓▓▓▓█ │ 0%
2.6M │ │ │ ┌─┴ zlib-ng │ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓▓▓▓█ │ 1%
904K │ │ │ │ ┌── vstudio │ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓▓▓▓█ │ 0%
2.0M │ │ │ │ ┌─┴ contrib │ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓▓▓▓█ │ 1%
3.4M │ │ │ ├─┴ zlib │ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓▓▓▓█ │ 1%
6.1M │ │ │ ┌─┴ src │ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓▓▓██ │ 2%
6.1M │ │ ├─┴ libz-sys-1.1.3 │ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓▓▓██ │ 2%
1.6M │ │ │ ┌── pcre │ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓▓▓▓█ │ 1%
2.5M │ │ │ ┌─┴ deps │ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓▓▓▓█ │ 1%
3.8M │ │ │ ├── src │ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓▓▓▓█ │ 1%
7.4M │ │ │ ┌─┴ libgit2 │ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓▓▓██ │ 3%
7.6M │ │ ├─┴ libgit2-sys-0.12.19+1.1.0 │ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓▓▓██ │ 3%
26M │ │ ┌─┴ github.com-1ecc6299db9ec823 │ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░██████ │ 10%
26M │ ├─┴ src │ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░██████ │ 10%
932K │ │ ┌── .cache │ ░░░░░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█ │ 0%
11M │ │ │ ┌── pack-c3e3a51a17096a3078196f3f014e02e5da6285aa.idx │ ░░░░░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓███ │ 4%
135M │ │ │ ├── pack-c3e3a51a17096a3078196f3f014e02e5da6285aa.pack│ ░░░░░░▓▓███████████████████████████ │ 53%
147M │ │ │ ┌─┴ pack │ ░░░░░░█████████████████████████████ │ 57%
147M │ │ │ ┌─┴ objects │ ░░░░░░█████████████████████████████ │ 57%
147M │ │ ├─┴ .git │ ░░░░░░█████████████████████████████ │ 57%
147M │ │ ┌─┴ github.com-1ecc6299db9ec823 │ ░░░░░░█████████████████████████████ │ 57%
147M │ ├─┴ index │ ░░░░░░█████████████████████████████ │ 57%
178M ├─┴ registry │ ███████████████████████████████████ │ 69%
257M ┌─┴ . │██████████████████████████████████████████████████ │ 100%
$
Para aplicar dust
a un directorio específico:
$ dust ~/Work/
El -r
La opción muestra la salida en orden inverso, con la raíz en la parte inferior:
$ dust -r ~/Work/
Usando dust -d 3
devuelve tres niveles de subdirectorios y su utilización del disco:
$ dust -d 3 ~/Work/wildfly/jaxrs/target/classes
$ dust -d 3 ~/Work/wildfly/jaxrs/target/classes
4.0K ┌── jaxrs.xml │ █ │ 1%
4.0K ┌─┴ subsystem-templates │ █ │ 1%
4.0K │ ┌── org.jboss.as.controller.transform.ExtensionTransformerRegistration│ █ │ 1%
4.0K │ ├── org.jboss.as.controller.Extension │ █ │ 1%
8.0K │ ┌─┴ services │ █ │ 2%
8.0K ├─┴ META-INF │ █ │ 2%
4.0K │ ┌── jboss-as-jaxrs_1_0.xsd │ ░█ │ 1%
8.0K │ ├── jboss-as-jaxrs_2_0.xsd │ ░█ │ 2%
12K ├─┴ schema │ ██ │ 3%
408K │ ┌── as │ ████████████████████████████████████████ │ 94%
408K │ ┌─┴ jboss │ ████████████████████████████████████████ │ 94%
408K ├─┴ org │ ████████████████████████████████████████ │ 94%
432K ┌─┴ classes │██████████████████████████████████████████ │ 100%
$
Conclusión
La belleza del dust
radica en ser un comando pequeño, simple y fácil de entender. Utiliza un esquema de colores para indicar los subdirectorios más grandes, lo que facilita la visualización de su directorio. Es un proyecto popular y las contribuciones son bienvenidas.
¿Ha usado o considerado usar dust
? Si es así, háganos saber sus pensamientos en los comentarios a continuación.