Linux/Compression tools
< Linux
tar
- create .tar.gz
tar -czvf file.tar.gz directory # pack directory # (c):create (z):gzip (v):verbose (f):file tar -czf file.tar.gz -C /var/www . # remove parent directory path
- list contents
tar -ztvf my-data.tar.gz # (z):gzip (t):list (v):verbose (f):file
- extract
tar -xvf archive.tar.gz # (x):extract (v):verbose (f):file
benchmark
- Compressing 6144MB kvm image (RAW, 2,7GB used)
Command | Arguments | compressed size [MB] | time [s] | additional size [MB] |
---|---|---|---|---|
pigz | --best | 1526 | 259.65 | 533 |
pigz | --fast | 1667 | 28.06 | 674 |
cat | > target | 6144 | 60.80 | |
copy | 6144 | 59.36 | ||
7z | a -t7z -mx1 -si | 1333 | 359.66 | 340 |
7z | a -t7z -mx9 -si | 993 | 1360.15 | 0 |
7z | a -m0=lzma2 -si | 1137 | 551.40 | 144 |
7z | a -m0=lzma2 -mx9 -si | 1006 | 788.00 | 13 |
- benchmark script
#!/bin/bash COMPRESSCMD="pigz -9" DESC="pigz-best" START=$(date +%s.%N) cat image.img | $COMPRESSCMD > /backup/$DESC.img.gz END=$(date +%s.%N) DIFF=$(echo "$END - $START" | bc) echo "$DIFF" > /backup/$DESC.log