¿Rastrear dónde ha ido el espacio en disco en Linux?

532

Cuando administro sistemas Linux, a menudo me encuentro luchando por localizar al culpable después de que una partición se llena. Normalmente uso, du / | sort -nrpero en un sistema de archivos grande, esto lleva mucho tiempo antes de que se devuelvan los resultados.

Además, esto suele ser exitoso para resaltar al peor delincuente, pero a menudo me encuentro recurriendo dusin el sort en los casos más sutiles y luego tuve que rastrear a través de la salida.

Prefiero una solución de línea de comandos que se base en comandos estándar de Linux ya que tengo que administrar bastantes sistemas e instalar un nuevo software es una molestia (¡especialmente cuando no hay espacio en el disco!)

Stephen Kitt
fuente
1
@Bart, gracias por tomarse el tiempo para mejorar las publicaciones aquí, pero ¿puedo pedirle que tenga un poco más de cuidado al agregar etiquetas? Las etiquetas no son para visibilidad, describen la pregunta. La etiqueta del disco no es apropiada aquí (vea la descripción de su etiqueta), y las al menos dos de las etiquetas que agregó en esta edición sugerida no eran apropiadas allí (Kali no es Debian y no hay PPA involucrados).
Stephen Kitt

Respuestas:

614

Pruebe ncdu, un excelente analizador de uso de disco de línea de comandos:

ingrese la descripción de la imagen aquí

KERR
fuente
66
Por lo general, odio que me pidan que instale algo para resolver un problema simple, pero esto es simplemente genial.
gwg
14
sudo apt install ncduen ubuntu lo consigue fácilmente. Es genial
Orion Edwards
10
Probablemente sepa qué sistema de archivos tiene poco espacio. En ese caso, puede usar ncdu -xpara contar solo archivos y directorios en el mismo sistema de archivos que el directorio que se está escaneando.
Luke Cousins
77
la mejor respuesta. también: sudo ncdu -rx /debería dar una lectura limpia en los directorios / archivos más grandes SOLAMENTE en la unidad de área raíz. ( -r= solo lectura, -x = permanecer en el mismo sistema de archivos (es decir: no atravesar otros montajes del sistema de archivos))
bshea
55
Tengo tan poco espacio que no puedo instalar ncdu
Chris
337

No vayas directamente a du /. Úselo dfpara encontrar la partición que lo está lastimando, y luego pruebe los ducomandos.

Una que me gusta probar es

# U.S.
du -h <dir> | grep '[0-9\.]\+G'
# Others
du -h <dir> | grep '[0-9\,]\+G'

porque imprime tamaños en "forma legible por humanos". A menos que tenga particiones realmente pequeñas, la búsqueda de directorios en gigabytes es un filtro bastante bueno para lo que desea. Esto le llevará un tiempo, pero a menos que tenga cuotas establecidas, creo que así será.

Como @jchavannes señala en los comentarios, la expresión puede ser más precisa si encuentra demasiados falsos positivos. Incorporé la sugerencia, que lo hace mejor, pero todavía hay falsos positivos, por lo que solo hay compensaciones (expr más simple, peores resultados; expr más complejo y más largo, mejores resultados). Si tiene demasiados directorios pequeños que aparecen en su salida, ajuste su expresión regular en consecuencia. Por ejemplo,

grep '^\s*[0-9\.]\+G'

es aún más preciso (no se enumerarán directorios <1GB).

Si lo tienen cuotas, puede utilizar

quota -v

para encontrar usuarios que acaparan el disco.

Ben Collins
fuente
2
Esto es muy rápido, simple y práctico
zzapper
24
grep '[0-9]G'contenía muchos falsos positivos y también omitió los decimales. Esto funcionó mejor para mí:sudo du -h / | grep -P '^[0-9\.]+G'
jchavannes
1
En caso de que tenga directorios realmente grandes, querrá en [GT]lugar de soloG
Vitruvius
1
¿Existe alguna herramienta que monitoree continuamente el uso del disco en todos los directorios (perezosamente) en el sistema de archivos? ¿Algo que se pueda transmitir a una interfaz de usuario web? Preferiblemente información en tiempo real suave.
CMCDragonkai
20
Me gusta usardu -h | sort -hr | head
augurar
104

Para una primera mirada, use la vista "resumen" de du:

du -s /*

El efecto es imprimir el tamaño de cada uno de sus argumentos, es decir, cada carpeta raíz en el caso anterior.

Además, tanto GNUdu como BSDdu pueden tener restricciones de profundidad (¡ pero POSIX duno puede! ):

  • GNU (Linux, ...):

    du --max-depth 3
  • BSD (macOS, ...):

    du -d 3
    

Esto limitará la visualización de salida a la profundidad 3. El tamaño calculado y mostrado sigue siendo el total de la profundidad total, por supuesto. Pero a pesar de esto, restringir la profundidad de visualización acelera drásticamente el cálculo.

Otra opción útil es -h(palabras en GNU y BSD pero, una vez más, no solo en POSIX du) para salida "legible para humanos" (es decir, usando KiB, MiB, etc. ).

Konrad Rudolph
fuente
23
si se duqueja de -dprobar --max-depth 5en su lugar.
ReactiveRaven
8
Gran respuesta. Parece correcto para mi. Sugiero du -hcd 1 /directory. -h para lectura humana, c para total yd para profundidad.
Estoy usandodu -hd 1 <folder to inspect> | sort -hr | head
jonathanccalixto
du --max-depth 5 -h /* 2>&1 | grep '[0-9\.]\+G' | sort -hr | headpara filtrar Permiso denegado
srghma
49

También puede ejecutar el siguiente comando usando du:

~# du -Pshx /* 2>/dev/null
  • La -sopción resume y muestra el total de cada argumento.
  • h imprime Mio, Gio, etc.
  • x = permanecer en un sistema de archivos (muy útil).
  • P = no siga los enlaces simbólicos (lo que podría hacer que los archivos se cuenten dos veces, por ejemplo).

Tenga cuidado, el /rootdirectorio no se mostrará, debe ejecutarlo ~# du -Pshx /root 2>/dev/nullpara obtenerlo (una vez, me costó mucho no señalar que mi /rootdirectorio se había llenado).

Editar: Opción corregida -P

Creasixtina
fuente
2
du -Pshx .* * 2>/dev/null+ directorios ocultos / del sistema
Mykhaylo Adamovych
27

Encontrar los archivos más grandes en el sistema de archivos siempre llevará mucho tiempo. Por definición, debe atravesar todo el sistema de archivos en busca de archivos grandes. La única solución es probablemente ejecutar un trabajo cron en todos sus sistemas para tener el archivo listo con anticipación.

Otra cosa, la opción x de du es útil para evitar que du siga los puntos de montaje en otros sistemas de archivos. Es decir:

du -x [path]

El comando completo que suelo ejecutar es:

sudo du -xm / | sort -rn > usage.txt

Los -mresultados medios devuelven en megabytes, y sort -rnordenarán primero el mayor número de resultados. Luego puede abrir use.txt en un editor, y las carpetas más grandes (comenzando con /) estarán en la parte superior.

rjmunro
fuente
3
¡Gracias por señalar la -xbandera!
SamB
1
"la búsqueda de la mayor toma mucho tiempo .." -> Bueno, depende, pero tienden a estar en desacuerdo: No se necesita tanto tiempo con utilidades como ncdu- por lo menos más rápido que duo find(dependiendo de la profundidad y argumentos) ..
bshea
Como prefiero no ser root, tuve que adaptar el lugar donde está escrito el archivo:sudo du -xm / | sort -rn > ~/usage.txt
Bruno
20

Siempre uso du -sm * | sort -n, lo que le da una lista ordenada de cuánto usan los subdirectorios del directorio de trabajo actual, en mebibytes.

También puede probar Konqueror, que tiene un modo de "vista de tamaño", que es similar a lo que hace WinDirStat en Windows: le brinda una representación visual de qué archivos / directorios utilizan la mayor parte de su espacio.

Actualización: en versiones más recientes, también puede usar las du -sh * | sort -hque mostrarán tamaños de archivos legibles por humanos y los ordenarán por esos. (los números tendrán el sufijo K, M, G, ...)

Para las personas que buscan una alternativa a la vista de tamaño de archivo Konqueror de KDE3, pueden echar un vistazo a la luz de archivo, aunque no es tan agradable.

wvdschel
fuente
Sin embargo, eso es solo Konqueror 3.x: la vista del tamaño del archivo aún no se ha portado a KDE4.
'du -sh * | sort -h 'funciona perfectamente en mi caja de Linux (distribución de Centos). ¡Gracias!
pahariayogi
18

Lo uso para los 25 peores delincuentes principales debajo del directorio actual

# -S to not include subdir size, sorted and limited to top 25
du -S . | sort -nr | head -25
serg10
fuente
Este comando hizo el truco para encontrar una carpeta oculta que parecía aumentar de tamaño con el tiempo. ¡Gracias!
thegreendroid
¿Está esto en bytes?
Usuario
Por defecto, en mi sistema, 'du -S' ofrece una buena salida legible por humanos. Obtiene un número simple de bytes para archivos pequeños, luego un número con un sufijo 'KB' o 'MB' para archivos más grandes.
serg10
Podrías hacer du -Sh para obtener una salida legible por humanos.
Siddhartha
@Siddhartha Si agrega -h, es probable que cambie el efecto del sort -nrcomando, lo que significa que la ordenación ya no funcionará, y luego el headcomando tampoco funcionará más
Clare Macrae
14

En una empresa anterior, teníamos un trabajo cron que se ejecutaba de la noche a la mañana e identificaba cualquier archivo de cierto tamaño, por ejemplo

encontrar / -size + 10000k

Es posible que desee ser más selectivo sobre los directorios que está buscando y tener cuidado con las unidades montadas de forma remota que podrían desconectarse.

Andrew Whitehouse
fuente
Puede usar la -x opción de buscar para asegurarse de no encontrar archivos en otros dispositivos que no sean el punto de inicio de su comando de búsqueda. Esto soluciona el problema de las unidades montadas de forma remota.
rjmunro
10

Una opción sería ejecutar su comando du / sort como un trabajo cron y enviarlo a un archivo, de modo que ya esté allí cuando lo necesite.


fuente
9

Para la línea de comandos, creo que el método du / sort es el mejor. Si no está en un servidor, debería echar un vistazo a Baobab - Analizador de uso de disco . Este programa también tarda un tiempo en ejecutarse, pero puede encontrar fácilmente el subdirectorio en el fondo, donde se encuentran todos los ISO de Linux antiguos.

Peter Stuifzand
fuente
2
También puede escanear carpetas remotas a través de SSH, FTP, SMB y WebDAV.
Esto es genial. Algunas cosas simplemente funcionan mejor con una GUI para visualizarlas, ¡y esta es una de ellas! Necesito un servidor X en mi servidor de todos modos para CrashPlan, por lo que también funciona en eso.
Timelmer
9

yo suelo

du -ch --max-depth=2 .

y cambio la profundidad máxima para adaptarme a mis necesidades. La opción "c" imprime totales para las carpetas y la opción "h" imprime los tamaños en K, M o G según corresponda. Como han dicho otros, todavía escanea todos los directorios, pero limita la salida de una manera que me resulta más fácil encontrar los directorios grandes.


fuente
9

Voy a segunda xdiskusage. Pero voy a agregar en la nota que en realidad es una interfaz de usuario y puede leer la salida de un archivo. Para que pueda ejecutar du -ax /home > ~/home-duen su servidor, scprecuperar el archivo y luego analizarlo gráficamente. O canalizarlo a través de ssh.

derobert
fuente
6

Intente alimentar la salida de du en un script awk simple que verifica si el tamaño del directorio es mayor que algún umbral, si es así, lo imprime. No tiene que esperar a que se atraviese todo el árbol antes de comenzar a obtener información (frente a muchas de las otras respuestas).

Por ejemplo, a continuación se muestran los directorios que consumen más de aproximadamente 500 MB.

du -kx / | awk '{ if ($1 > 500000) { print $0} }'

Para hacer que lo anterior sea un poco más reutilizable, puede definir una función en su .bashrc (o puede convertirlo en un script independiente).

dubig() {
    [ -z "$1" ] && echo "usage: dubig sizethreshMB [dir]" && return
    du -kx $2 | awk '{ if ($1 > '$1'*1024) { print $0} }'
}

Por lo tanto, dubig 200 ~/busca en el directorio de inicio (sin seguir los enlaces simbólicos del dispositivo) los directorios que usan más de 200 MB.

Mark Borgerding
fuente
Es una pena que una docena de hackers grep estén más votados. Ah, y du -klo haré absolutamente seguro de que du está usando unidades KB
ndemou
Buena idea sobre el -k. Editado
Mark Borgerding
Aún más simple y más robusto: du -kx $2 | awk '$1>'$(($1*1024))(si especifica solo una condición, también conocida como patrón para awk, la acción predeterminada es print $0)
dave_thompson_085
Buen punto @ date_thompson_085. Eso es cierto para todas las versiones de awk que conozco (net / free-BSD & GNU). @ mark-borgerding, lo que significa que puede simplificar enormemente su primer ejemplo a solodu -kx / | awk '$1 > 500000'
ndemou
@ mark-borgerding: Si solo le quedan unos pocos kBytes en algún lugar, también puede mantener toda la salida de du de esta manera du -kx / | tee /tmp/du.log | awk '$1 > 500000'. Esto es muy útil porque si su primer filtrado resulta infructuoso, puede probar otros valores como este awk '$1 > 200000' /tmp/du.logo inspeccionar la salida completa como esta sort -nr /tmp/du.log|lesssin volver a escanear todo el sistema de archivos
ndemou
4

Me gusta el viejo xdiskusage como una alternativa gráfica a du (1).

asjo
fuente
Tenga en cuenta esta parte de la pregunta: "Prefiero una solución de línea de comandos que se base en comandos estándar de Linux desde ..."
ndemou
4

Prefiero usar lo siguiente para obtener una visión general y profundizar desde allí ...

cd /folder_to_check
du -shx */

Esto mostrará resultados con salida legible para humanos, como GB, MB. También evitará atravesar sistemas de archivos remotos. La -sopción solo muestra un resumen de cada carpeta encontrada para que pueda profundizar más si está interesado en obtener más detalles de una carpeta. Tenga en cuenta que esta solución solo mostrará carpetas, por lo que querrá omitir el / después del asterisco si también desea archivos.

cmevoli
fuente
4

No se menciona aquí, pero también debe verificar lsof en caso de archivos borrados / colgados. Tuve un archivo tmp eliminado de 5.9GB de un cronjob que se escapó.

https://serverfault.com/questions/207100/how-can-i-find-phantom-storage-usage Me ayudó a encontrar el propietario del proceso de dicho archivo (cron) y luego pude ir /proc/{cron id}/fd/{file handle #}al archivo menos pregunta para iniciar la ejecución, resolver eso y luego hacer eco ""> del archivo para liberar espacio y dejar que cron se cierre con gracia.

David
fuente
3

Desde el terminal, puede obtener una representación visual del uso del disco con dutree

Es muy rápido y ligero porque está implementado en Rust

holandés

$ dutree -h
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
    -f, --files-only    skip directories for a fast local overview
    -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

Ver todos los detalles de uso en el sitio web

nachoparker
fuente
2

Para la línea de comando du (y sus opciones) parece ser la mejor manera. Parece que DiskHog también utiliza información du / df de un trabajo cron, por lo que la sugerencia de Peter es probablemente la mejor combinación de simple y eficaz.

( FileLight y KDirStat son ideales para la GUI).

tostada casera
fuente
2

Puede usar herramientas estándar como findy sortpara analizar el uso de espacio en disco.

Listar directorios ordenados por su tamaño:

find / -mount -type d -exec du -s "{}" \; | sort -n

Lista de archivos ordenados por su tamaño:

find / -mount -printf "%k\t%p\n" | sort -n
scai
fuente
1
Me parece que este es la mejor respuesta, para detectar la gran tamaño en forma ordenada
vimal Krishna
2

Tal vez valga la pena señalar que mc(Midnight Commander, un administrador de archivos clásico en modo de texto) muestra de forma predeterminada solo el tamaño de los inodos de directorio (generalmente 4096) pero con CtrlSpaceo con las Herramientas de menú puede ver el espacio ocupado por el directorio seleccionado en una lectura humana formato (por ejemplo, algunos como 103151M).

Por ejemplo, la imagen a continuación muestra el tamaño completo de las distribuciones de Vanilla TeX Live de 2018 y 2017, mientras que las versiones de 2015 y 2016 muestran solo el tamaño del inodo (pero tienen realmente cerca de 5 Gb cada una).

Es decir, CtrlSpacedebe hacerse uno por uno, solo para el nivel de directorio real, pero es tan rápido y práctico cuando está navegando mcque tal vez no lo necesite ncdu(de hecho, solo para este propósito es mejor). De lo contrario, también puede ejecutar ncdudesde mc. sin salir mco lanzar otra terminal.

mwe

Fran
fuente
1

Al principio verifico el tamaño de los directorios, así:

du -sh /var/cache/*/
hendry
fuente
1

Si sabe que los archivos grandes se han agregado en los últimos días (por ejemplo, 3), puede usar un comando de búsqueda junto con " ls -ltra" para descubrir los archivos agregados recientemente:

find /some/dir -type f -mtime -3 -exec ls -lart {} \;

Esto le dará solo los archivos (" -type f"), no los directorios; solo los archivos con tiempo de modificación en los últimos 3 días (" -mtime -3") y ejecutar " ls -lart" contra cada archivo encontrado (" -exec" parte).


fuente
1

Para comprender el uso desproporcionado del espacio en disco, a menudo es útil comenzar en el directorio raíz y recorrer algunos de sus elementos secundarios más grandes.

Podemos hacer esto por

  • guardar la salida de du en un archivo
  • buscando el resultado iterativamente

Es decir:

# sum up the size of all files and directories under the root filesystem
du -a -h -x / > disk_usage.txt
# display the size of root items
grep $'\t/[^/]*$' disk_usage.txt

ahora digamos que / usr parece demasiado grande

# display the size of /usr items
grep $'\t/usr/[^/]*$' disk_usage.txt

ahora si / usr / local es sospechosamente grande

# display the size /usr/local items
grep $'\t/usr/local/[^/]*$' disk_usage.txt

y así...

Alex Jasmin
fuente
1

He usado este comando para buscar archivos de más de 100Mb:

find / -size +100M -exec ls -l {} \;

fuente
0

He tenido éxito rastreando al (los) peor (s) delincuente (s) canalizando la dusalida en forma legible por humanos egrepy haciendo coincidir una expresión regular.

Por ejemplo:

du -h | egrep "[0-9]+G.*|[5-9][0-9][0-9]M.*"

lo que debería devolverte todo 500 megas o más.

Justin Standard
fuente
No utilice grep para las operaciones aritméticas - uso awk lugar: du -k | awk '$1 > 500000'. Es mucho más fácil de entender, editar y corregir en el primer intento.
ndemou
0

Si desea velocidad, puede habilitar cuotas en los sistemas de archivos que desea monitorear (no necesita establecer cuotas para ningún usuario) y usar un script que use el comando de cuota para enumerar el espacio en disco que usa cada usuario. Por ejemplo:

quota -v $user | grep $filesystem | awk '{ print $2 }'

le daría el uso del disco en bloques para el usuario particular en el sistema de archivos particular. Debería poder verificar los usos en cuestión de segundos de esta manera.

Para habilitar las cuotas, deberá agregar usrquota a las opciones del sistema de archivos en su archivo / etc / fstab y luego probablemente reiniciar para que se pueda ejecutar quotacheck en un sistema de archivos inactivo antes de llamar a quotaon.


fuente
0

Aquí hay una pequeña aplicación que utiliza un muestreo profundo para encontrar tumores en cualquier disco o directorio. Recorre el árbol del directorio dos veces, una para medirlo y la segunda para imprimir las rutas a 20 bytes "aleatorios" en el directorio.

void walk(string sDir, int iPass, int64& n, int64& n1, int64 step){
    foreach(string sSubDir in sDir){
        walk(sDir + "/" + sSubDir, iPass, n, n1, step);
    }
    foreach(string sFile in sDir){
        string sPath = sDir + "/" + sFile;
        int64 len = File.Size(sPath);
        if (iPass == 2){
            while(n1 <= n+len){
               print sPath;
               n1 += step;
            }
        }
        n += len;
    }
}

void dscan(){
    int64 n = 0, n1 = 0, step = 0;
    // pass 1, measure
    walk(".", 1, n, n1);
    print n;
    // pass 2, print
    step = n/20; n1 = step/2; n = 0;
    walk(".", 2, n, n1);
    print n;
}

El resultado se ve así para mi directorio de Archivos de programa:

 7,908,634,694
.\ArcSoft\PhotoStudio 2000\Samples\3.jpg
.\Common Files\Java\Update\Base Images\j2re1.4.2-b28\core1.zip
.\Common Files\Wise Installation Wizard\WISDED53B0BB67C4244AE6AD6FD3C28D1EF_7_0_2_7.MSI
.\Insightful\splus62\java\jre\lib\jaws.jar
.\Intel\Compiler\Fortran\9.1\em64t\bin\tselect.exe
.\Intel\Download\IntelFortranProCompiler91\Compiler\Itanium\Data1.cab
.\Intel\MKL\8.0.1\em64t\bin\mkl_lapack32.dll
.\Java\jre1.6.0\bin\client\classes.jsa
.\Microsoft SQL Server\90\Setup Bootstrap\sqlsval.dll
.\Microsoft Visual Studio\DF98\DOC\TAPI.CHM
.\Microsoft Visual Studio .NET 2003\CompactFrameworkSDK\v1.0.5000\Windows CE\sqlce20sql2ksp1.exe
.\Microsoft Visual Studio .NET 2003\SDK\v1.1\Tool Developers Guide\docs\Partition II Metadata.doc
.\Microsoft Visual Studio .NET 2003\Visual Studio .NET Enterprise Architect 2003 - English\Logs\VSMsiLog0A34.txt
.\Microsoft Visual Studio 8\Microsoft Visual Studio 2005 Professional Edition - ENU\Logs\VSMsiLog1A9E.txt
.\Microsoft Visual Studio 8\SmartDevices\SDK\CompactFramework\2.0\v2.0\WindowsCE\wce500\mipsiv\NETCFv2.wce5.mipsiv.cab
.\Microsoft Visual Studio 8\VC\ce\atlmfc\lib\armv4i\UafxcW.lib
.\Microsoft Visual Studio 8\VC\ce\Dll\mipsii\mfc80ud.pdb
.\Movie Maker\MUI\0409\moviemk.chm
.\TheCompany\TheProduct\docs\TheProduct User's Guide.pdf
.\VNI\CTT6.0\help\StatV1.pdf
7,908,634,694

Me dice que el directorio es 7.9gb, de los cuales

  • ~ 15% va al compilador Intel Fortran
  • ~ 15% va a VS .NET 2003
  • ~ 20% va a VS 8

Es bastante simple preguntar si alguno de estos puede descargarse.

También informa sobre los tipos de archivos que se distribuyen en todo el sistema de archivos, pero en conjunto representan una oportunidad para ahorrar espacio:

  • ~ 15% aproximadamente va a archivos .cab y .MSI
  • ~ 10% aproximadamente se destina a registrar archivos de texto

También muestra muchas otras cosas allí, que probablemente podría prescindir, como "SmartDevices" y el soporte "ce" (~ 15%).

Lleva tiempo lineal, pero no tiene que hacerse a menudo.

Ejemplos de cosas que ha encontrado:

  • copias de seguridad de archivos DLL en muchos repositorios de código guardados, que realmente no necesitan guardarse
  • una copia de seguridad del disco duro de alguien en el servidor, bajo un directorio oscuro
  • voluminosos archivos temporales de internet
  • documentos antiguos y archivos de ayuda que se necesitaban mucho

fuente
0

Tuve un problema similar, pero las respuestas en esta página no fueron suficientes. El siguiente comando me pareció el más útil para el listado:

du -a / | sort -n -r | head -n 20

Lo que me mostraría a los 20 mayores delincuentes. Sin embargo, aunque ejecuté esto, no me mostró el verdadero problema, porque ya había eliminado el archivo. El problema fue que todavía había un proceso en ejecución que hacía referencia al archivo de registro eliminado ... así que tuve que matar ese proceso primero y luego el espacio en disco apareció como libre.

VenomFangs
fuente
Buen punto, pero esto debería ser un comentario y no una respuesta en sí misma: esta pregunta tiene demasiadas respuestas
Ndemou
0

Puede usar DiskReport.net para generar un informe web en línea de todos sus discos.

Con muchas ejecuciones, le mostrará un gráfico de historial para todas sus carpetas, fácil de encontrar lo que ha crecido

SteeTri
fuente
Esta herramienta no coincide con dos puntos principales de la pregunta "A menudo me encuentro luchando por localizar al culpable después de que una partición se llena" y "Prefiero una solución de línea de comandos que se base en comandos estándar de Linux"
ndemou
0

Hay una buena pieza de software gratuito multiplataforma llamada JDiskReport que incluye una GUI para explorar lo que ocupa todo ese espacio.

Captura de pantalla de ejemplo:
Captura de pantalla de JDiskReport

Por supuesto, tendrá que limpiar un poco de espacio manualmente antes de poder descargarlo e instalarlo, o descargarlo a una unidad diferente (como una unidad de memoria USB).


(Copiado aquí de la respuesta del mismo autor en una pregunta duplicada)

WBT
fuente