压缩和归档工具

压缩比:压缩前和压缩后文件大小的比例
目的:时间 换 空间
CPU的时间 --> 磁盘空间

压缩工具

压缩文件,不支持压缩目录

compress/uncompress,,文件名后缀.Z
gzip/gunzip,文件名后缀 .gz
bzip2/bunzip2, ,文件名后缀.bz2
xz/unxz,,文件名后缀 .xz
lzma/unlzma,文件名后缀.lzma

gzip/gunzip/zcat

gzip, gunzip, zcat - compress or expand files
格式:gzip [OPTION]... FILE...

[root@promote tmp]# ll -h
total 284K
-rwx------. 1 root root  836 Apr 14 09:34 ks-script-PKkn9G
-rw-------. 1 root root 278K Apr 14 11:25 messages
[root@promote tmp]# gzip messages 
[root@promote tmp]# ll -h
total 44K
-rwx------. 1 root root 836 Apr 14 09:34 ks-script-PKkn9G
-rw-------. 1 root root 40K Apr 14 11:25 messages.gz

-d:解压缩,相当于gunzip

[root@promote tmp]# gunzip messages.gz 
[root@promote tmp]# ll -h
total 284K
-rwx------. 1 root root  836 Apr 14 09:34 ks-script-PKkn9G
-rw-------. 1 root root 278K Apr 14 11:25 messages

-#:指定压缩比,默认是6;数字越大压缩比越大(1-9)

[root@promote tmp]# ll -h
total 284K
-rwx------. 1 root root  836 Apr 14 09:34 ks-script-PKkn9G
-rw-------. 1 root root 278K Apr 14 11:25 messages
[root@promote tmp]# gzip -9 messages 
[root@promote tmp]# ll -h
total 44K
-rwx------. 1 root root 836 Apr 14 09:34 ks-script-PKkn9G
-rw-------. 1 root root 40K Apr 14 11:25 messages.gz

-c:将压缩结果输出至标准输出
gzip -c FILE > /PATH/TO/SOMEFILE.gz

[root@promote tmp]# gzip -c messages > messages.gz 
[root@promote tmp]# ll -h
total 324K
-rwx------. 1 root root  836 Apr 14 09:34 ks-script-PKkn9G
-rw-------. 1 root root 278K Apr 14 11:36 messages
-rw-r--r--. 1 root root  40K Apr 14 11:36 messages.gz

zcat:查看压缩文件内容

bzip2/bunzip2/bzcat

格式:bzip2 [OPTION]... FILE...

[root@promote tmp]# bzip2 messages
[root@promote tmp]# ll -h
total 72K
-rwx------. 1 root root 836 Apr 14 09:34 ks-script-PKkn9G
-rw-------. 1 root root 26K Apr 14 11:36 messages.bz2

-d:解压缩
-#:指定压缩比;默认是6;数字越大压缩比越大(1-9)
-k:keep,保留原文件

[root@promote tmp]# bzip2 -k messages
[root@promote tmp]# ll -h
total 352K
-rwx------. 1 root root  836 Apr 14 09:34 ks-script-PKkn9G
-rw-------. 1 root root 278K Apr 14 11:36 messages
-rw-------. 1 root root  26K Apr 14 11:36 messages.bz2
xz/unxz/xzcat,lzma/unlzma/lzcat

格式:xz [OPTION]... FILE...

[root@promote tmp]# xz messages
[root@promote tmp]# ll -h
total 96K
-rwx------. 1 root root 836 Apr 14 09:34 ks-script-PKkn9G
-rw-------. 1 root root 21K Apr 14 11:36 messages.xz

-d:解压缩
-#:指定压缩比;默认是6;数字越大压缩比越大(1-9)
-k:保留原文件

[root@promote tmp]# xz -k messages
[root@promote tmp]# ll -h
total 376K
-rw-------. 1 root root 278K Apr 14 11:36 messages
-rw-------. 1 root root  21K Apr 14 11:36 messages.xz

归档工具

tar, cpio

tar命令:

格式:tar [OPTION]... FILE...

  • 创建归档
    -c -f /PATH/TO/SOMEFILE.tar FILE...
    -cf /PATH/TO/SOMEFILE.tar FILE...
[root@promote tmp]# tar -cf /tmp/mylog.tar *.log
  • 展开归档
    -xf /PATH/FROM/SOMEFILE.tar
    -xf /PATH/FROM/SOMEFILE.tar -C /PATH/TO/SOMEDIR
[root@promote tmp]# tar -xf mylog.tar
  • 查看归档文件的文件列表
    -tf /PATH/TO/SOMEFILE.tar
[root@promote tmp]# tar -tf mylog.tar 

归档完成后通常需要压缩,结合此前的压缩工具,就能实现压缩多个文件了;

  • 归档并压缩

-z:gzip2
-zcf /PATH/TO/SOMEFILE.tar.gz FILE...
解压缩并展开归档:
-zxf /PATH/TO/SOMEFILE.tar.gz

-j:bzip2
-jcf /PATH/TO/SOMEFILE.tar.bz2 FILE...
解压缩并展开归档:
-jxf /PATH/TO/SOMEFILE.tar.bz2

-J: xz
-Jcf /PATH/TO/SOMEFILE.tar.xz FILE...
解压缩并展开归档:
-Jxf /PATH/TO/SOMEFILE.tar.xz

zip:既能归档又能压缩

zip/unzip
后缀名:.zip

你可能感兴趣的:(压缩和归档工具)