Estoy tratando de escribir una secuencia de comandos que calcule un tamaño de directorio y si el tamaño es menor a 10 GB y mayor a 2 GB, realice alguna acción. ¿Dónde debo mencionar el nombre de mi carpeta?
# 10GB
SIZE="1074747474"
# check the current size
CHECK="`du /data/sflow_log/`"
if [ "$CHECK" -gt "$SIZE" ]; then
echo "DONE"
fi

dues y cómo todos conocen todos estos comandos: puede escribirman dusu terminal para buscar el comando du en el manual. Esto mostrará una salida que puede ver, y resumirá todos los indicadores como -h, -c, -s, -b, -B, --apparent-size, etc. que las respuestas sugiere que utilice. Luego, puede decidir por sí mismo cuál es la mejor manera de usarladupara su caso de uso específico.Respuestas:
Tu puedes hacer:
que le dará el tamaño de su directorio de destino.
Si quieres una salida breve,
du -hcs your_directoryes agradable.fuente
du -hs==du -hs ..du | sort -nordenará los directorios por su tamañodu -hcs dir_name/*incluye las subcarpetassi solo desea ver el tamaño de la carpeta y no las subcarpetas, puede usar:
Actualizar:
Deberías saber eso
dumuestra el espacio en disco utilizado; y no el tamaño del archivo.Puede usarlo
--apparent-sizesi desea ver la suma de los tamaños de archivo reales.Y, por supuesto, no hay necesidad de
-huna opción (legible para humanos) dentro de un script.En su lugar, puede usar
-bpara una comparación más fácil dentro del script.Pero debe tener en cuenta que se
-baplica--apparent-sizepor sí mismo. Y puede que no sea lo que necesitas.así que creo que deberías usar
--block-sizeo-Bfuente
Use un resumen (
-s) y bytes (-b). Puede cortar el primer campo del resumen concut. Poniendolo todo junto:fuente
Para obtener el tamaño del directorio, nada más:
la salida se ve como
fuente
--max-depth¡es muy útil para controlar la salida de manera útil! por ejemplo, para tener una buena idea de lo que sucede dentro de un directorio:du -h --max-depth=1Para verificar el tamaño de todos los directorios dentro de un directorio, puede usar:
du -h --max-depth=1fuente
du -h -d 1en Androiddu -h -d 1en OSXsi solo desea ver el tamaño agregado de la carpeta y probablemente en formato MB o GB, pruebe el siguiente script
fuente
-gpara-mconteos de 1 Gbyte y 1 Mbyte. víaman dufuente
Si ayuda, también puede crear un alias en su
.bashrco.bash_profile.Esto imprime el tamaño del directorio actual o el directorio que ha pasado como argumento.
fuente