Enumere todos los directorios y clasifique por tamaño

Enumere todos los directorios y clasifique por tamaño

Cuando se trata de ordenar su disco duro en Linux, ya sea para liberar el espacio o para volverse más organizado, es útil identificar qué directorios están consumiendo la mayor cantidad de espacio de almacenamiento.

En esta guía, le mostraremos cómo enumerar todos los directorios y ordenarlos por su tamaño total en Linux, a través de ejemplos de línea de comandos, un script bash y métodos de GUI.

En este tutorial aprenderás:

  • Cómo enumerar los directorios por tamaño con du Ejemplos de comando
  • Cómo enumerar los directorios por tamaño con un script bash
  • Cómo verificar los tamaños de directorio con la utilidad GUI analizador de uso de disco
Enumerando los directorios más importantes en Linux Requisitos de software y convenciones de línea de comandos de Linux
Categoría Requisitos, convenciones o versión de software utilizada
Sistema Cualquier distribución de Linux
Software Du, analizador de uso de disco
Otro Acceso privilegiado a su sistema Linux como root o a través del sudo dominio.
Convenciones # - requiere que los comandos de Linux dados se ejecuten con privilegios raíz directamente como un usuario raíz o mediante el uso de sudo dominio
ps - Requiere que los comandos de Linux dados se ejecuten como un usuario regular no privilegiado

Lista de directorios por tamaño a través de la línea de comandos

Las utilidades de línea de comandos DF y DU son las dos mejores herramientas que tenemos para medir el consumo de disco en Linux. Para verificar el uso del disco por carpeta, el du El comando es particularmente útil.

Al correr du Sin ninguna opción adicional, tenga en cuenta que verificará el uso total del disco de cada subdirectorio, individualmente. Dependiendo de qué tan profunda sea la estructura de su carpeta, esto podría ser una cantidad masiva de directorios, y su terminal será enviado por correo electrónico con mucha salida.

En el siguiente ejemplo, ejecutamos du en un directorio lleno de archivos ISO de Linux, pero es solo un directorio de profundidad. Agradeceremos el -H Opción (legible humana) para que sea más fácil ver qué tipo de espacio están consumiendo estos directorios.

$ du -h 11g ./Almalinux 671m ./Arch Linux 14g ./Centos 349m ./Debian 1.9G ./Fedora 415m ./GENTOO 6.5G ./Kali Linux 9.4G ./Ubuntu 44g . 

Podemos ver que la carpeta Almalinux está usando 11 GB, y la carpeta Debian solo está usando 349 MB. El total de todas estas carpetas es de 44 GB, como se indica en la última línea.

Veamos qué sucede si tenemos una estructura de carpeta más profunda.

$ du -h 671m ./Arch Linux 6.5G ./Basado en Debian/Kali Linux 9.4G ./Debian con sede/Ubuntu 17G ./415m con sede en Debian ./GENTOO 11G ./RHEL Based/Almalinux 14g ./RHEL Based/CentOS 1.9G ./Rhel con sede/Fedora 27g ./44G con sede en Rhel . 


Como puede ver, los directorios "basados ​​en Debian" y "basados ​​en RHEL" tienen dos y tres subdirectorios, respectivamente. Esto nos da una mirada bastante granular a cuánto espacio está usando cada subdirectorio. Si tiene una estructura profunda, podemos usar el --Max-Depth = N bandera para contar du cuántos subdirectorios de profundidad debe atravesar.

$ du -h -max -depth = 1 671m ./Arch Linux 17g ./415m con sede en Debian ./GENTOO 27G ./44G con sede en Rhel . 

Para ordenar estos directorios por tamaño, facilitando la identificación de cuáles están consumiendo la mayor cantidad de espacio, podemos abordar nuestro du comandar al clasificar utilidad. Si estás usando el -H opción du, asegúrese de usarlo también clasificar.

$ du -h | sort -h 415m ./Gentoo 671m ./Arch Linux 1.9G ./Rhel con sede/Fedora 6.5G ./Basado en Debian/Kali Linux 9.4G ./Debian con sede/Ubuntu 11g ./RHEL Based/Almalinux 14g ./RHEL/CENTOS 17G ./27G con sede en Debian ./44G con sede en Rhel . 

O, para limitar el número de directorios que se atraviesan recursivamente:

$ du -h --max -depth = 1 | sort -h 415m ./Gentoo 671m ./Arch Linux 17g ./27G con sede en Debian ./44G con sede en Rhel . 

En estos ejemplos, hemos estado ejecutando du de nuestro directorio de trabajo actual. Tenga en cuenta que puede especificar cualquier directorio con el comando: no tiene que estar realmente en el directorio que está revisando.

$ du -h /home /linuxconfig 

Si intentas correr du En su directorio raíz para ver espacio de almacenamiento en todo el disco, tenga en cuenta que deberá ejecutar ese comando con privilegios raíz y debe redirigir el error estándar a /dev/nulo Dado que obtendrá mucho spam de "permiso denegado" en su salida.

$ sudo du -h --max -depth = 1 / | sort -h 2> /dev /null 

Enumere los 10 directorios más grandes

Usando los comandos anteriores, incluso los directorios pequeños se enumerarán en el du salida de comando. Sin embargo, muchas veces solo puede estar interesado en los 10 directorios más grandes, o en algún número similar al. En ese caso, podemos llevar nuestra salida al cabeza Comandar solo mostrar los directorios más grandes. Tenga en cuenta que también usamos el cola Comando para evitar imprimir el tamaño del directorio principal, que sería irrelevante en este caso.

$ du -h --max -depth = 1 2> /dev /null | sort -hr | cola -n +2 | cabeza 

Script de bash para directorios de listado por tamaño

El du y clasificar Los comandos, junto con las opciones que hemos pasado, deberían ser suficientes para ayudarlo a verificar fácilmente el uso de disco por carpeta. En lugar de recordar estas diversas opciones de comando, y tener que escribirlas cada vez, podemos hacer que nuestras vidas sean un poco más fáciles poniendo todo esto en un guión bash.

El siguiente script bash aceptará 2 argumentos. El primer argumento será un nombre de directorio en el que comenzaremos nuestra búsqueda y el segundo argumento se realizará por varios directorios que el script debe emitir.

#!/bin/bash if [$# != 2]; luego hacer eco "Número incorrecto de argumentos !"> & 2 echo" Uso: sortDirbySize [Directorio] "fi du -h --max -depth = 1 $ 1 2> /dev /null | sort -hr | cola -n +2 | cabeza -$ 2
Copiar

Y aquí hay un ejemplo de cómo ejecutaría el script desde la línea de comando:

ps ./Sort-Dir por tamaño.sh /home /linux 15 


Verifique el uso del disco por carpeta a través de GUI

A veces, es más fácil visualizar el uso de disco si usamos una utilidad GUI. Una de esas aplicaciones se llama analizador de uso de disco, pero puede no instalarse de forma predeterminada en su distribución de Linux. Use el comando apropiado a continuación para instalarlo con el Administrador de paquetes de su sistema.

A veces, es más fácil visualizar el uso de disco si usamos una utilidad GUI. Una de esas aplicaciones se llama analizador de uso de disco, pero puede no instalarse de forma predeterminada en su distribución de Linux. Use el comando apropiado a continuación para instalarlo con el Administrador de paquetes de su sistema.

Para instalar el analizador de uso de disco en Ubuntu, Debian y Linux Mint:

$ sudo apt install baobab 

Para instalar analizador de uso de disco en CentOS, Fedora, Almalinux y Red Hat:

$ sudo dnf install baobab 

Para instalar analizador de uso de disco en Arch Linux y Manjaro:

$ sudo Pacman -S baobab 

Después de instalarlo, busque y abra la aplicación.

Analizador de uso de disco abierto desde el lanzador de aplicaciones

Cuando se abra el programa, le preguntará si desea que escanee el directorio de inicio o un disco completo. También puede hacer clic en el menú Opciones (tres líneas apiladas) para la capacidad de escanear una carpeta particular.

Elija escanear la carpeta de inicio, el disco completo o seleccionar un directorio en particular

Haga su selección y la utilidad comenzará a escanear para archivos. Una vez que termine de escanear para el contenido, le dará una lectura completa de cómo se distribuye su espacio de disco duro a varios directorios en su sistema. También hay una representación gráfica que puede mover el cursor del mouse para tener una idea aún mejor. Enumera los directorios por tamaño, por lo que puede determinar rápidamente qué está masticando la mayor cantidad de espacio en disco.

El analizador de uso de disco muestra cómo se está utilizando espacio de almacenamiento en diferentes directorios

Pensamientos de cierre

En esta guía, vimos cómo enumerar los directorios y ordenarlos por su tamaño total en Linux. Esto involucró varios ejemplos de línea de comando, centrándose principalmente en torno a du utilidad, así como un método de guión y GUI bash. Todos los métodos pueden darnos un resumen rápido del uso de almacenamiento o desgloses detallados de cómo se está utilizando espacio de almacenamiento en varios directorios de nuestro sistema.

Tutoriales de Linux relacionados:

  • Cómo verificar el uso del disco por carpeta en Linux
  • Cómo imprimir el árbol de directorio usando Linux
  • Cosas para instalar en Ubuntu 20.04
  • Ubuntu 20.04 cheque de espacio en disco
  • Cómo encontrar directorios más grandes en Linux
  • Cómo enumerar todos los discos, particiones y tamaños en Linux
  • Ubuntu 22.04 cheque de espacio en disco
  • Cosas que hacer después de instalar Ubuntu 20.04 fossa focal Linux
  • Cómo dividir la unidad USB en Linux
  • Cómo particionar una unidad en Linux