Buscando una serie de comandos que me muestren los archivos más grandes en una unidad.
                    
                        command-line
                                disk-usage
                                
                    
                    
                        Ryan Detzel
fuente
                
                fuente

Respuestas:
Si solo necesita encontrar archivos grandes, puede usar
findcon la-sizeopción. El siguiente comando enumerará todos los archivos de más de 10MiB (que no deben confundirse con 10MB ):Si desea buscar archivos con un tamaño determinado, puede combinarlo con una búsqueda de "tamaño inferior a". El siguiente comando busca archivos entre 10MiB y 12MiB:
apt-cache search 'disk usage'enumera algunos programas disponibles para el análisis del uso del disco. Una aplicación que parece muy prometedora esgt5.De la descripción del paquete:
En la sección "paquetes relacionados" de gt5 , encontré
ncdu. De su descripción del paquete:fuente
-lssalida está codificado (consulte las funciones de código fuentepred_flsy list_file ). Puede intentar aproximar la salida utilizando la-printfopción, procesar la salida con awk o usar algo comofind ... -type f -exec ls -ldh {} \; | column -tSolo uso una combinación de
duysort.Luego se trata de enjuagar y repetir . Apunte a los subdirectorios que considere demasiado grandes, ejecute el comando para ellos y descubra qué está causando el problema.
Nota: Utilizo
dula-xbandera de '' para mantener las cosas limitadas a un sistema de archivos (tengo una disposición bastante complicada de cosas de montaje cruzado entre SSD y RAID5).Nota 2:
2>/dev/nullredirige cualquier mensaje de error al olvido. Si no te molestan, no es obligatorio.fuente
dupágina de manual: "Resuma el uso del disco de cada ARCHIVO, de forma recursiva para los directorios".Mi solución favorita utiliza una mezcla de varias de estas buenas respuestas.
duargumentos:-apara "todos" los archivos y directorios. Déjalo solo para directorios-BMpara generar los tamaños en megabytes (M) tamaños de bloque (B)2>/dev/null- excluir mensajes de error de "permiso denegado" (gracias @Oli)sortargumentos:-npara "numérico"-rpara "reversa" (mayor a menor)headargumentos:-n 50para los mejores 50 resultados.moresi usa un número más pequeñoNota: Prefijo
sudopara incluir directorios a los que su cuenta no tiene permiso de acceso.Ejemplo que muestra los 10 archivos y directorios más grandes en / var (incluido el total general).
fuente
Para mostrar los directorios más grandes del top 20 (recursivamente) en la carpeta actual, use el siguiente one-liner:
o (más orientado a Unix):
Para los 20 archivos más grandes del directorio actual (recursivamente):
o con tamaños legibles por humanos:
Por lo tanto, estos alias son útiles para tener en sus archivos rc (cada vez que lo necesite):
fuente
La respuesta de qbi es correcta, pero será muy lenta cuando haya muchos archivos, ya que comenzará un nuevo proceso ls para cada elemento.
una versión mucho más rápida que usa find sin generar procesos secundarios sería usar printf para imprimir el tamaño en bytes (% s) y la ruta (% p)
find "$directory" -type f -printf "%s - %p\n" | sort -n | tail -n $num_entriesfuente
Esta parece ser la aplicación perfecta para
find:Este comando encontrará todos los archivos en el directorio
$DIRECTORYy los ejecutaráls -s. El último comando imprime el tamaño asignado de un archivo más el nombre del archivo. El resultado se ordena numéricamente y se muestran las últimas cinco entradas. Por lo tanto, verá los 5 archivos más grandes$DIRETORYo cualquier subdirectorio. Si ingresatail -n 1, verá solo el archivo más grande.Además puedes jugar mucho con
find. Por ejemplo, puede buscar archivos que tengan menos de n días (-ctime -n) o que pertenezcan a usuarios especiales (-user johndoe).fuente
Cuando necesito hacer más espacio libre en los servidores, uso este comando. Encuentra todos los archivos más grandes que 50 MB y "du -h" hace una mejor lista de archivos y "sort -n" después de la lista de tuberías, ordenada numéricamente por tamaño de archivo.
fuente
Pruebe Baobab, le brinda una descripción gráfica de los archivos y carpetas, puede ver dónde están los cerdos del espacio real y eliminarlos con un clic https://help.ubuntu.com/community/Baobab
fuente
Para encontrar todos los archivos GB, por ejemplo, usaría du y grep, aunque los otros métodos mencionados aquí también parecen geniales.
También puedes ponerte elegante con la opción --except que du tiene.
fuente
También puede ordenar los archivos por tamaño:
Encuentra solo archivos y se ejecuta
du -hpara cada archivo, que muestra el tamaño del archivo. Por último, clasificamos la salida defind/ deduacuerdo con la primera columna (en formato legible para humanos).El último archivo impreso es el más grande.
fuente
Puedes usar el comando para ver los archivos más grandes mientras saltas los directorios:
Para encontrar todos los archivos que son más grandes que 100MiB (esto no es 100MB, vea aquí si está confundido):
El siguiente comando mostrará los 5 archivos más grandes de la carpeta
$DIRECTORY:USO
du: El siguiente comando que usa du, muestra los directorios con los 20 tamaños más grandes en la carpeta de trabajo de inicio:Ahora para mostrar los directorios / archivos más grandes, incluidas las subcarpetas, ejecute:
Utilizando
ls:Para enumerar los 5 archivos más grandes en el directorio / bin, emita el siguiente comando:
También puede usar el Analizador de uso de disco o Baobao como se muestra aquí, por ejemplo.
fuente
Una herramienta excelente y fácil de usar a la que se hace referencia en la respuesta a una pregunta similar es la
NCurses Disk Usageherramienta:fuente