Linux/Compression tools

From Wiki

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 (untar)
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