打包和压缩

   

windows下:

winrar

winzip

7zip

好压

压缩用处:减少占用磁盘空间,可以做备份,在网络传输中节省时间和带宽


Linux压缩方式:

zip:

gzip:

bzip2:

zip:

语法格式:

zip  压缩后的文件名字.zip  待压缩文件

[root@server254 test]# zip f7M.zip f7M

adding: f7M (deflated 100%)

[root@server254 test]# ll f7*

-rw-r--r--. 1 root root 7340032 Oct 20 14:08 f7M

-rw-r--r--. 1 root root    7285 Oct 20 14:37 f7M.zip

是不是能压缩目录?

[root@server254 test]# zip -r test.zip /test

[root@server254 test]# ll test.zip

-rw-r--r--. 1 root root 24503 Oct 20 14:39 test.zip

unzip:解压缩

不指定解压路径,默认解压到当前路径

[root@server254 test]# unzip f7M.zip

指定解压路径

[root@server254 test]# mkdir /test1

[root@server254 test]# unzip test.zip -d /test1/


gzip:压缩之后,源文件消失,生成压缩文件。

如果指定压缩后的文件名,那么文件名一定要以.gz结尾,否则无法解压

[root@server254 test]# gzip f1M

[root@server254 test]# file f1M.gz    验证文件类型

f1M.gz: gzip compressed data, was "f1M", from Unix, last modified: Sun Oct 20 14:05:38 2013

-r:递归压缩,遍历压缩,压缩完成一个文件一个包,而不是将目录整体打包

[root@server254 /]# gzip -r /test

[root@server254 test]# ll

total 36

-rw-r--r--. 1 root root 1055 Oct 20 14:05 f1M.gz

-rw-r--r--. 1 root root 4106 Oct 20 14:28 f4M.bak.gz

-rw-r--r--. 1 root root 4102 Oct 20 14:07 f4M.gz

-rw-r--r--. 1 root root 7151 Oct 20 14:08 f7M.gz

-rw-r--r--. 1 root root  183 Oct 20 14:37 f7M.zip.gz

-rw-r--r--. 1 root root  551 Oct 20 14:39 test.zip.gz

gunzip:解压缩

[root@server254 test]# gunzip f1M.gz

[root@server254 test]# ll f1M

-rw-r--r--. 1 root root 1048576 Oct 20 14:05 f1M

解压不了非.gz结尾的文件

[root@server254 test]# mv f4M.gz f4M.g

[root@server254 test]# file f4M.g

f4M.g: gzip compressed data, was "f4M", from Unix, last modified: Sun Oct 20 14:07:32 2013

[root@server254 test]# gunzip f4M.g

gzip: f4M.g: unknown suffix -- ignored


bzip2:压缩完源文件也消失,后缀名必须也是.bz2,否则无法解压

[root@server254 test]# bzip2 f1M

[root@server254 test]# ll f1*

-rw-r--r--. 1 root root 45 Oct 20 14:05 f1M.bz2


bunzip2:解压缩

[root@server254 test]# bunzip2 f1M.bz2

[root@server254 test]# ll f1M

-rw-r--r--. 1 root root 1048576 Oct 20 14:05 f1M


tar:既可以打包,也可以压缩;还可以同时进行

——打包命令

[-]zcvf:

[-]jcvf:

[-]zxvf:

[-]jxvf:

-c——表示创建

-v——显示创建或者解压过程

-z——表示打包的同时使用gzip压缩

-j——表示打包的同时使用bzip2压缩

-f——指定压缩文件名

-x——表示解压

语法格式:

压缩:

tar 选项 打包后的名字 要打包的文件或者目录  (注意两个红色参数的顺序)

1)只打包

[root@server254 /]# tar cvf test.tar /test/

tar: Removing leading `/' from member names    # 防止解压时覆盖原来文件

2)打包同时压缩

[root@server254 /]# tar zcvf test.tar.gz /test

[root@server254 /]# ll test.tar.gz

-rw-r--r--. 1 root root 2352 Oct 20 15:24 test.tar.gz

[root@server254 /]# tar jcvf test.tar.bz2 /test

[root@server254 /]# ll test.tar.bz2

-rw-r--r--. 1 root root 1354 Oct 20 15:25 test.tar.bz2

解包:

[root@server254 test]# tar xvf test.tar


解压:

1)不指定解压路径

[root@server254 test]# tar zxf test.tar.gz

2)指定解压路径

[root@server254 test]# tar jxvf test.tar.bz2 -C /usr/local/src/

[root@server254 test]# cd /usr/local/src/

[root@server254 src]# ll

total 8

drwxr-xr-x. 2 root root 4096 Oct 20 15:12 test

-C —— 指定解压路径

-t:不解包只查看包中内容

[root@server254 test]# tar tf test.tar.gz

test/

test/test.zip.gz

test/f1M

test/f4M.bak.gz

test/f7M.zip.gz

test/f4M.g

test/f7M.gz

-r:向tar包中追加文件

[root@server254 test]# tar rf test.tar /etc/passwd

tar: Removing leading `/' from member names

[root@server254 test]# tar tf test.tar

test/

test/test.zip.gz

test/f1M

test/f4M.bak.gz

test/f7M.zip.gz

test/f4M.g

test/f7M.gz

etc/passwd

查看目录实际大小

[root@server254 test]# du -sh /test

2.1M/test

--delete:从tar包中删除文件

[root@server254 test]# tar --delete etc/passwd -f test.tar

[root@server254 test]# tar tf test.tar

test/

test/test.zip.gz

test/f1M

test/f4M.bak.gz

test/f7M.zip.gz

test/f4M.g

test/f7M.gz