tar、zip 、unzip 打包与压缩 (参考:http://pengyl.blog.51cto.com/5591604/1191197)
通常都是先通过tar命令将多个文件或目录打包成一个包文件,然后再通过gzip或bzip2进行压缩,如*.tar.gz和*.tar.bz2就属于这种先打包再压缩的文件。在实际使用中,一般都是通过tar命令来调用gzip或bzip2进行压缩或解压,而很少去单独使用gzip或bzip2命令
root@linux ~]# tar -cvf /tmp/etc.tar /etc<==仅打包,不压缩!
[root@linux ~]# tar -zcvf /tmp/etc.tar.gz /etc<==打包后,以 gzip 压缩
[root@linux ~]# tar -jcvf /tmp/etc.tar.bz2 /etc<==打包后,以 bzip2 压缩
(查看所生成的包文件的大小 du -h home.tar)
1.压缩
1.1以 bzip2 压缩
[hujiande@whistle-200 ~]$ ll total 12 -rw-r--r-- 1 hujiande wheel 246 Dec 11 14:50 if.sh -rwxr--r-- 1 hujiande wheel 53 Dec 11 13:50 var.sh -rw-r--r-- 1 hujiande wheel 145 Dec 11 15:22 while.sh [hujiande@whistle-200 ~]$ tar -jcvf test.tar.bz2 if.sh var.sh #以tar.bz2形式压缩if.sh var.sh文件 if.sh var.sh [hujiande@whistle-200 ~]$ ll total 16 -rw-r--r-- 1 hujiande wheel 246 Dec 11 14:50 if.sh -rw-r--r-- 1 hujiande wheel 307 Dec 12 11:29 test.tar.bz2 -rwxr--r-- 1 hujiande wheel 53 Dec 11 13:50 var.sh -rw-r--r-- 1 hujiande wheel 145 Dec 11 15:22 while.sh
1.2以 gzip 压缩
[hujiande@whistle-200 ~]$ tar -zcvf test.tar.gz if.sh while.sh #以tar.gz形式压缩if.sh var.sh文件 if.sh while.sh [hujiande@whistle-200 ~]$ ll total 16 -rw-r--r-- 1 hujiande wheel 246 Dec 11 14:50 if.sh -rw-r--r-- 1 hujiande wheel 326 Dec 12 12:10 test.tar.gz -rwxr--r-- 1 hujiande wheel 53 Dec 11 13:50 var.sh -rw-r--r-- 1 hujiande wheel 145 Dec 11 15:22 while.sh
2.解压
2.1.bz2
[hujiande@whistle-200 ~]$ mkdir test2 [hujiande@whistle-200 ~]$ tar jxvf test2.tar.bz2 -C test2
2.2.gz
[hujiande@whistle-200 test2]$ tar zxvf test.tar.gz
3.查看压缩文件内容
[root@localhost ~]# tar ztvf home.tar.gz | more
[root@localhost ~]# tar jtvf home.tar.bz2 | more
ZIP压解看
1.zip 压缩 zip -r yasuo.zip
2.zip 解压 unzip yasuo.zip
3.zip 查看压缩文件 unzip -v yasuo.zip