Con GNU tar
solo puedes hacer:
tar --totals -c . >/dev/null
... que generará resultados como ...
Total bytes written: 5990400 (5.8MiB, 5.5GiB/s)
... en stderr. Del mismo modo, con cualquier tar (o secuencia) que pueda usar dd
para entregar un informe sobre el recuento de bytes. Esto puede ser preferible o no wc
, pero el valor dd
predeterminado es un tamaño de bloque de 512 bytes, que es idéntico al tar
tamaño de bloque de. Si el PIPE_BUF de su sistema es lo suficientemente grande, incluso puede expandir dd
el tamaño de bloque para que coincida con tar
el tamaño de registro, que es de 20 bloques o 10240 bytes. Me gusta esto:
tar -c . | dd bs=bx20 >/dev/null
585+0 records in
585+0 records out
5990400 bytes (6.0 MB) copied, 0.0085661 s, 699 MB/s
Esto puede o no ofrecer una solución más eficaz que wc
.
En los dos dd
y tar
los casos de uso que no necesita realmente deshacerse de la corriente, sin embargo. Redirijo a lo /dev/null
anterior, pero podría haber redirigido fácilmente a algún archivo y aún recibir el informe sobre su tamaño en el momento en que se escribió.
wc
superfluo,-
entonces tampoco necesita elcut
comando posterior .