GNU/Linux >> Tutoriales Linux >  >> Linux

Encontrar los archivos y carpetas más grandes en la línea de comandos de Linux

Este es un tutorial rápido para mostrarle cómo encontrar los archivos más grandes en su máquina Linux usando algunos comandos con los que quizás ya esté familiarizado du, sort y head.

He aquí un breve resumen:

Para encontrar las 10 carpetas más grandes en el directorio actual:

du -h | sort -hr | head -n 10

Para encontrar los 10 archivos y carpetas más grandes en el directorio actual:

du -ah | sort -hr | head -n 10

Lea el resto del artículo para obtener una explicación detallada de estos comandos.

¿Cómo encontrar las carpetas más grandes en Linux?

El comando du se usa para obtener el uso del disco. El comando Ordenar ordena los datos según sus requisitos. El comando head muestra las líneas superiores de una fuente de entrada de texto.

Esta es solo una combinación para obtener los archivos y directorios más grandes en la línea de comandos de Linux. Puede haber varias otras formas de lograr el mismo resultado.

¿Qué sucede si ejecuta estos tres comandos juntos sin opciones? Su salida probablemente no será muy útil.

Cuando ejecuta estos comandos, a menos que se especifique con du, todo se ejecutará automáticamente utilizando el directorio de trabajo actual como archivo fuente.

Ordenar sin opciones organiza los elementos en orden numérico, pero este comportamiento es un poco extraño. 100 se considera menor que 12 porque 2> 0. Eso definitivamente no es lo que queremos.

Diríjase aquí por defecto para mostrar los primeros 10 elementos. Dependiendo del directorio que desee analizar, puede personalizarlo para encontrar archivos grandes rápidamente.

[email protected]:~$ du | sort | head
100    ./.local/share/evolution/addressbook
108    ./.mozilla/firefox/jwqwiz97.default-release/datareporting
112    ./.local/share/gvfs-metadata
12    ./.cache/fontconfig
12    ./.cache/gnome-software/screenshots/112x63
12    ./.cache/thumbnails/fail
12    ./.config/dconf
12    ./.config/evolution
12    ./.config/gnome-control-center/backgrounds
12    ./.config/ibus

Opciones de adición

Así que veamos cuáles podrían ser las opciones más típicas.

Agregar -n ordenar significa que los elementos se ordenarán por valor numérico. Agregar -r significa que los resultados se invertirán. Esto es lo que queremos cuando buscamos el número más grande.

También voy a agregar -5 para limitar nuestros resultados más allá del valor predeterminado para head. Este valor es algo que debe decidir en función de lo que sabe sobre el sistema.

Es posible que desee expandir el valor a un número superior a 10 u omitirlo por completo si hay muchos archivos grandes que está tratando de filtrar. De lo contrario, puede ejecutarlo, eliminar varios archivos, pero seguir teniendo problemas de espacio.

Bien, juntemos todo y veamos qué sucede.

[email protected]:~$ du | sort -nr | head -5
1865396    .
1769532    ./Documents
76552    ./.cache
64852    ./.cache/mozilla
64848    ./.cache/mozilla/firefox

Eso es mejor, puede ver rápidamente dónde están los archivos más grandes. Sin embargo, puedes hacerlo mejor. Limpiémoslo con algunas opciones más.

Salida legible por humanos

Las opciones humanas para ciertos comandos ayudan a presentar los números de una manera que nos resulta familiar. Intentemos agregar eso al comando du.

[email protected]:~$ du -h | sort -nr | head -5
980K    ./.local/share/app-info
976K    ./.local/share/app-info/xmls
824K    ./.cache/thumbnails
808K    ./.cache/thumbnails/large
804K    ./.local/share/tracker

Salida corregida de lectura humana

Espera un segundo… Esos números no tienen ningún sentido. No, no lo hacen porque solo ha cambiado el contenido a legible por humanos para el comando du. Ordenar tiene su propia función incorporada para la ordenación numérica legible por humanos con -h. Ambos deben usarse para obtener el resultado deseado. Puede encontrarse con este tipo de problemas a menudo en Linux.

Es importante experimentar y asegurarse de que sus resultados "tengan sentido" antes de usar un comando de una manera específica.

Intentémoslo de nuevo.

[email protected]:~$ du -h | sort -hr | head -5
1.8G    .
1.7G    ./Documents
75M    ./.cache
64M    ./.cache/mozilla/firefox/jwqwiz97.default-release
64M    ./.cache/mozilla/firefox

Eso me gusta más.

¿Dónde están los archivos más grandes?

Puede ver en el resultado que la carpeta Documentos contiene algunos archivos más grandes, pero si cambia a esa carpeta y ejecuta nuestro comando nuevamente, no obtendrá el archivo más grande. Obtienes esto:

[email protected]:~/Documents$ du -h | sort -hr | head -5
1.7G    .

Esto es solo decirnos lo que ya sabes. El directorio actual, denominado . , tiene 1,7 G de archivos. Eso no es útil si está tratando de encontrar archivos únicos e inusualmente grandes.

Debe agregar otra bandera a du para esta tarea. Usando la opción -a, puede obtener el resultado que estamos buscando. Intentémoslo.

[email protected]:~/Documents$ du -ah | sort -hr | head -5
1.7G    .
1.1G    ./1gig-file.file
699M    ./doc.tar
2.9M    ./photo-of-woman-wearing-turtleneck-top-2777898.jpg
1.4M    ./semi-opened-laptop-computer-turned-on-on-table-2047905.jpg

Conclusión

¿Disfrutó de esta guía para encontrar archivos grandes en Linux? Espero que todos estos consejos te hayan enseñado algo nuevo.

Si te gusta esta guía, compártela en las redes sociales. Si tiene algún comentario o pregunta, déjelos a continuación.


Linux
  1. Encuentra archivos y directorios en Linux con el comando de búsqueda

  2. Eliminar archivos y carpetas en la terminal de Linux

  3. 8 consejos para la línea de comandos de Linux

  4. Crear archivos usando la línea de comando en Linux

  5. Migración de un servidor Linux desde la línea de comandos

Uso de más para ver archivos de texto en la línea de comandos de Linux

Sugerencias para enumerar archivos con ls en la línea de comandos de Linux

Uso de less para ver archivos de texto en la línea de comandos de Linux

Buscar comando en Linux (Buscar archivos y directorios)

Cómo eliminar archivos y directorios usando la línea de comandos de Linux

Domina la línea de comandos de Linux