xz를 사용하여 블록 장치(예: /dev/sda1
) 를 압축하면 --verbose
입력 파일에서 읽은 현재 크기(아래 128MiB)가 표시됩니다. 그러나 입력 파일을 읽은 비율은 표시되지 않습니다( --- %
왼쪽). 이 장치의 크기에 대한 힌트를 xz에 제공하여 백분율을 표시할 수 있습니까? 예를 들어 일반 파일 xz를 압축하면 0.7 %
아래와 같습니다.
$ sudo xz -1ck --verbose /dev/sda1 > /dev/null
/dev/sda1 (1/1)
--- % 12.2 MiB / 128.0 MiB = 0.095 21 MiB/s 0:06
^C
$ sudo xz -1ck --verbose a_normal_file > /dev/null
a_normal_file (1/1)
0.7 % 11.6 MiB / 12.7 MiB = 0.916 2.3 MiB/s 0:05
^C
$
답변1
xz
파티션은 일반 파일이 아니기 때문에 파티션 크기를 볼 수 없으므로 이에 대해 보고하지 않습니다.
하지만 당신이 할 수 있는 일은 dd if=/dev/sda1 status=progress | xz -1k --verbose > /dev/null
. 하지만 자세한 내용은 알 수 없습니다 xz
. 당신이 해야 할 일은 각각의 출력을 별도의 tty
또는 파일과 tail
그것들로 리디렉션하는 것입니다.
답변2
파티션 크기(키비바이트)는 다음과 같이 에서 얻을 수 /proc/partitions
있으며 dd
출력은 을 통해 전달될 수 있습니다 pv
.
$ kb=$(grep $(basename /dev/sdb1) /proc/partitions | awk '{print $3}')
$ sudo dd if=/dev/sdb1 | pv -s ${kb}K | xz -1k >/dev/null
72,2MiO 0:00:20 [2,58MiB/s] [========> ] 28% ETA 0:00:49