¿Existe un comando simple para mostrar el tamaño total agregado (uso del disco) de todos los archivos en un directorio (carpeta)?
He intentado esto, y no hacen lo que quiero:
ls -l
, que solo muestra el tamaño de los archivos individuales en un directorio, nidf -h
, que solo muestra el espacio libre y usado en mis discos.
filesystem
command-line
David Barry
fuente
fuente
Respuestas:
El comando
du
"resume el uso del disco de cada ARCHIVO, recursivamente para directorios", por ejemplo,-h
es obtener los números "legibles por humanos", por ejemplo, obtener en140M
lugar de143260
(tamaño en KBytes)-s
es un resumen (de lo contrario, obtendrá no solo el tamaño de la carpeta, sino también todo lo que está en la carpeta por separado)Mientras lo usa
-h
, puede ordenar los valores legibles por humanos usandoLa
-h
banderasort
activada considerará valores de tamaño "legibles para humanos".Si desea evitar enumerar recursivamente todos los archivos y directorios, puede proporcionar el
--max-depth
parámetro para limitar la cantidad de elementos que se muestran. Más comúnmente,--max-depth=1
fuente
du -sh
o DOOSH como una forma de recordarlo (NOTA: el comando es el mismo, solo la organización de las banderas de la línea de comandos para propósitos de memoria)du -hs *
y fui al directorio más grande y descubrí qué archivos eran tan grandes ... ¡Este es un método tan bueno, y la mejor parte es que no tiene que instalar nada! Definitivamente mereció mi voto a favordu
tiene un redondeo algo peculiar, que no muestra decimales si el valor tiene más de un dígito en la unidad elegida), y el clásico problema de prefijo 1024 vs. 1000 .du
tiene una opción-B
(o--block-size
) para cambiar las unidades en las que muestra los valores, o puede usar en-b
lugar de-h
obtener el valor "en bruto" en bytes.Recientemente encontré una excelente herramienta interactiva basada en ncurses, que rápidamente le brinda una visión general sobre los tamaños de directorio. Busqué ese tipo de herramienta durante años.
Piense en ello como baobab para la línea de comando:
fuente
ncdu
¡es increíble! Después de instalarlo, solo haz estoncdu /
. Encontrarás muy rápidamente los archivos más grandes del sistema. Presione tambiénh
dentro de la interfaz de la consola de ncdu. Tiene atajos muy útilesEsto encuentra el tamaño de forma recursiva y lo coloca junto al nombre de cada carpeta, junto con el tamaño total en la parte inferior, todo en formato humano
fuente
¡Disfrutar!
Más información sobre ese comando aquí
fuente
tree
es otro comando útil para este trabajo:Simplemente instálelo a través de
sudo apt-get install tree
y escriba lo siguiente:Del árbol del hombre :
fuente
A continuación se muestra lo que estoy usando para imprimir el total, la carpeta y el tamaño del archivo:
Detalles
Salida
fuente
Las respuestas han hecho obvio que
du
es la herramienta para encontrar el tamaño total de un directorio. Sin embargo, hay un par de factores a considerar:Ocasionalmente, la
du
salida puede ser engañosa porque informa el espacio asignado por el sistema de archivos, que puede ser diferente de la suma de los tamaños de los archivos individuales. Por lo general, el sistema de archivos asignará 4096 bytes para un archivo, incluso si almacenó solo un carácter en él.Diferencias de salida debido a la potencia de 2 y la potencia de 10 unidades. El
-h
conmutadordu
divide el número de bytes entre 2 ^ 10 (1024), 2 ^ 20 (1048576), etc. para proporcionar una salida legible por humanos. Muchas personas podrían estar más habituadas a ver potencias de 10 (por ejemplo, 1K = 1000, 1M = 1000000) y se sorprenderían con el resultado.Para encontrar la suma total de tamaños de todos los archivos en un directorio, en bytes, haga:
Ejemplo:
fuente
--bignum
o-M
; si esa no es una opción, use elfind . -ls | tr -s ' '|cut -d' ' -f 7| paste -sd+ |bc
# 2 .--si
opción: "como -h, pero usa potencias de 1000 no 1024"Solo para el tamaño del directorio en un formato legible, use lo siguiente:
Probablemente esto no se encuentre en la sección correcta, pero desde la línea de comando, podría intentar:
El
-s
tamaño es, y el-h
es legible por humanos.Use
-l
para mostrar en lals
lista, como a continuación:fuente
du /foldername
es el comando estándar para saber el tamaño de una carpeta. Se recomienda encontrar las opciones leyendo la página del manual:Debe leer la página de manual (disponible en línea ) antes de usar el comando.
fuente
Aquí hay un script POSIX que funcionará con:
Fuente
fuente
Si su directorio deseado tiene muchos subdirectorios, use lo siguiente:
que luego produciría un total general del uso de memoria de todos los archivos / carpetas en el directorio actual.
fuente
El mejor, creo, es el siguiente:
Esto le mostrará solo el tamaño del directorio que le interesa y no imprimirá los tamaños de ningún directorio y archivo dentro de ese directorio.
Debo agregar que si el tamaño de la carpeta es grande, du lleva más tiempo. Debe ser paciente para que este comando funcione. Al igual que cualquier otro comando de Unix, puede averiguar el tiempo total para este proceso utilizando
time
antes de este comando:fuente
du
tiene una opción para esto:-s