Linux 文件的压缩

文件的压缩
压缩工具 :gzip/gunzip        .gz    不能压缩目录,只能压缩文件
gzip 选项 文件名…
-#       1-9   默认6   数字越大压缩比例就越大
-d        可以实现解压的功能
-c        将压缩的数据输出到标准输出
实例:
gzip -c messages >> messages.gz
gzip -d messages.gz

zcat 读取压缩的文件

例:使用gzip压缩,不保留源文件
[root@bash tmp]# cd /tmp/
[root@bash tmp]# cp /var/log/messages  .
-rw——-. 1 root root 118167 Jul 10 00:02 messages
[root@bash tmp]# ls -lh
total 116K
-rw——-. 1 root root 116K Jul 10 00:02 messages
[root@bash tmp]# gzip messages
[root@bash tmp]# ls -lh
total 28K
-rw——-. 1 root root 27K Jul 10 00:02 messages.gz

解压缩,不保留源文件
[root@bash tmp]# gunzip messages.gz
[root@bash tmp]# ll -lh
total 116K
-rw——-. 1 root root 116K Jul 10 00:02 messages

保留源文件
[root@bash tmp]# gzip -c messages  >> messages.gz
[root@bash tmp]# ll
total 172
-rw——-. 1 root root 118167 Jul 10 00:02 messages
-rw-r–r–. 1 root root  54234 Jul 10 00:10 messages.gz
[root@bash tmp]#

[root@bash tmp]# ll
total 172
-rw——-. 1 root root 118167 Jul 10 00:02 messages
-rw-r–r–. 1 root root  54234 Jul 10 00:10 messages.gz
[root@bash tmp]# rm -rf messages
[root@bash tmp]# ll
total 56
-rw-r–r–. 1 root root 54234 Jul 10 00:10 messages.gz
[root@bash tmp]# gzip -d messages.gz
[root@bash tmp]# ll
total 232
-rw-r–r–. 1 root root 236334 Jul 10 00:10 messages

bzip2/bunzip2   .bz2    不能压缩目录,只能压缩文件

bzip2   选项  文件名
-#    1-9    默认是6    数字越大压缩比例就越大
-d    解压缩选项
-k    压缩后保留源文件

bzcat   读取压缩后的文件内容

[root@bash tmp]# bzip2 messages
[root@bash tmp]# ls
etc  messages.bz2
[root@bash tmp]# bunzip2 messages.bz2
[root@bash tmp]# ls
etc  messages

xz/unxz   .xz    不能压缩目录,只能压缩文件
xz      选项     文件名
-#    1-9    默认是6    数字越大压缩比例就越大
-d    解压缩选项
-k    压缩后保留源文件

xzcat   读取压缩后的文件内容

[root@bash tmp]# xz messages
[root@bash tmp]# ll
total 28
drwxr-xr-x. 122 root root 12288 Jul 10 00:13 etc
-rw-r–r–.   1 root root 12412 Jul 10 00:10 messages.xz
[root@bash tmp]# unxz messages.xz
[root@bash tmp]# ll
total 244
drwxr-xr-x. 122 root root  12288 Jul 10 00:13 etc
-rw-r–r–.   1 root root 236334 Jul 10 00:10 messages

zip/unzip     .zip

zip    选项     压缩后文件名    源文件名
-r       压缩目录必须加上(递归压缩)

文件归档工具:tar       .tar

创建归档
tar  选项   归档后文件名    源文件名
-c     创建归档文件
-f     指定归档后的文件名
-z     调用gzip将归档后的文件进行压缩
-j     调用bzip2将归档后的文件进行压缩
-J     调用xz将归档后的文件进行压缩

实例:tar -cf etc.tar etc/

展开归档
tar  选项   归档后文件名
-x     展开归档文件
-f     指定归档后的文件名
-z     调用gzip将归档后的文件进行解压缩
-j     调用bzip2将归档后的文件进行解压缩
-J     调用xz将归档后的文件进行解压缩
-C     指定解压的目录