2010-08-17 9 views
5

Tengo una carpeta que contiene archivos .tcb y .tch. Necesito saber cuál es el tamaño de todos los archivos .tcb, respectivamente, de todos los archivos .tch. lo hice así:Calcular el consumo de espacio total de archivos específicos en el terminal de Unix

1) creé una carpeta temporal y, a continuación:

mv *tch temp 

2) y luego:

du -sk temp 

me encontré con el comando en el Internet y Wikipedia dice esto : "du (abreviado del uso del disco) es un programa Unix estándar utilizado para estimar el uso del espacio de archivos". Creo que la razón por la que dice que es una estimación es que si hay enlaces, se mostrará el tamaño del enlace en lugar del archivo vinculado.

Pero si lo hago

ls -l 

en la carpeta de archivos temporales (que contiene los .TCH todos *) los archivos y luego resumir los tamaños que se muestran en el terminal, tengo otro tamaño del archivo. ¿Por qué es ese el caso?

Bueno, en suma, lo que necesito es un comando que me muestra el archivo real * tamaño de todos los archivos .TCH en una carpeta, que pueden contener también otros tipos de archivos .

Espero que cualquiera pueda ayudarme con eso. ¡Muchas gracias!

Respuesta

10

Usted puede utilizar la opción -L a du si quiere seguir enlaces simbólicos (es decir, calcular el tamaño del destino del enlace, no del propio enlace) También puede usar la opción -c para mostrar un total general al final.

Armado con esas opciones, intente du -skLc *.tch.

Para obtener más información sobre du, consulte this manpage.

+1

Tenga en cuenta que esto puede no darle el resultado que espera si la carpeta contiene un enlace a un archivo .tch en el mismo directorio. Ese archivo se contará dos veces: una para el archivo "actual" y otra para la versión vinculada. – bta

+0

la carpeta no contiene ningún enlace, por lo que esta solución parece hacer lo que yo quiero. thx bta – mkn

1

Mire la página de manual específica para su versión de du ya que varían considerablemente en la cantidad.

"aproximado" puede deberse a que:

  1. bloques utilizados o bytes utilizados se pueden presentar con bloques exagerando tamaño de los archivos que no son múltiplos exactos del tamaño de bloque, pero representa con mayor precisión "espacio utilizado que No puedo utilizar para otras cosas "
  2. Los archivos Unix pueden tener" agujeros "creados buscando un largo camino y escribiendo. El sistema operativo no asigna espacio para los agujeros saltados.
  3. Los enlaces simbólicos pueden ser desreferenciados o no al archivo real al que apuntan.

Si lo que desea es la ByteCount utilizar wc -c *.tcb

Cuestiones relacionadas