3.zip压缩工具
zip照比前两个压缩工具所不同的是zip支持压缩目录,在windows下有zip压缩,在linux中也有。
首先我们先看看它的用法,先来压缩文件
[root@localhost d6z]# zip 4.txt.zip 4.txt
adding: 4.txt (deflated 75%)
[root@localhost d6z]# ll
-rw-r--r--. 1 root root 647627 2月 8 22:39 4.txt.zip
这个文件就压缩成功了
然后我们来压缩目录
[root@localhost d6z]# zip -r aming.zip 4.txt aminglinux
adding: 4.txt (deflated 75%)
adding: aminglinux/ (stored 0%)
adding: aminglinux/2/ (stored 0%)
adding: aminglinux/2/2.txt (stored 0%)
adding: aminglinux/2/4.txt (deflated 75%)
adding: aminglinux/aming2/ (stored 0%)
zip有一个特点,它压缩完后,源文件不删除
它的解压命令是unzip
[root@localhost d6z]# unzip aming.zip
replace 4.txt? [y]es, [n]o, [A]ll, [N]one, [r]ename: A
由于它没有删除源文件,所以在我们解压缩的时候会出现如下的提示,是否覆盖?是否替换?这就要根据你自己的实际情况去定夺了。输入A是全部。
unzip它也可以指定目录去储存,参数是-d。
[root@localhost d6z]# unzip aming.zip -d /tmp/d6z/test
Archive: aming.zip
inflating: /tmp/d6z/test/4.txt
creating: /tmp/d6z/test/aminglinux/
creating: /tmp/d6z/test/aminglinux/2/
extracting: /tmp/d6z/test/aminglinux/2/2.txt
inflating: /tmp/d6z/test/aminglinux/2/4.txt
creating: /tmp/d6z/test/aminglinux/aming2/
[root@localhost d6z]# cd test
[root@localhost test]# ll
总用量 2528
-rw-r--r--. 1 root root 2587368 2月 7 23:19 4.txt
drwxr-xr-x. 4 root root 29 2月 8 22:35 aminglinux
这样,我们就把aming.zip解压到/test目录下了,但是zip压缩工具不能改名,也不能查看它的压缩内容,只能看文件的列表,在unzip后面加参数-l。
[root@localhost d6z]# unzip -l aming.zip
Archive: aming.zip
Length Date Time Name
2587368 02-07-2018 23:19 4.txt
0 02-08-2018 22:35 aminglinux/
0 02-08-2018 22:35 aminglinux/2/
0 02-08-2018 22:32 aminglinux/2/2.txt
2587368 02-08-2018 22:34 aminglinux/2/4.txt
0 02-08-2018 22:34 aminglinux/aming2/
5174736 6 files
4.tar打包工具
比如我们要在两台服务器上传输多个目录或者文件,这样一个个去传的话,会很麻烦,不仅耗费带宽,也耗费时间,如果我们打包在一起的话,就会很快。
tar可以打包目录和文件,也可以将他们打包在一起。
我们先打包一个目录
[root@localhost d6z]# tar -cvf aminglinux.tar aminglinux(这里面c表示创建,v表示可视化,f表示你要的包名,其中v可以省略)
aminglinux/
aminglinux/2/
aminglinux/2/2.txt
aminglinux/2/4.txt
aminglinux/aming2/
[root@localhost d6z]#
如果这个文件已经存在,然后继续打包,它就会覆盖旧文件,而且不会有任何提示。
既然他们能打包,那么就能解包,解包参数为x,也可以加其他的参数,比如v和f
[root@localhost d6z]# tar -xvf aminglinux.tar
aminglinux/
aminglinux/2/
aminglinux/2/2.txt
aminglinux/2/4.txt
aminglinux/aming2/
他解包完后也会阀盖源文件,并且不会提示。
tar也可以目录加文件一起打包
[root@localhost d6z]# tar -zcvf aminglinux.tar aminglinux 1.txt 5.txt
aminglinux/
aminglinux/2/
aminglinux/2/2.txt
aminglinux/2/4.txt
aminglinux/aming2/
1.txt
5.txt
这样就把目录和文件打包在一起了
tar也有查看包中的文件列表,就是-tf
[root@localhost d6z]# tar -tf aminglinux.tar
aminglinux/
aminglinux/2/
aminglinux/2/2.txt
aminglinux/2/4.txt
aminglinux/aming2/
1.txt
5.txt
tar还有一个重要的参数--exclude,它可以过滤某些文件不去打包它,比如我们要过滤掉2.txt
[root@localhost d6z]# tar -cvf aminglinux.tar --exclude 2.txt aminglinux 1.txt 5.txt
aminglinux/
aminglinux/2/
aminglinux/2/4.txt
aminglinux/aming2/
1.txt
5.txt
照比上面,我们就少了2.txt这个文件,也可以过滤所有的txt文件
[root@localhost d6z]# tar -cvf aminglinux.tar --exclude "*.txt" aminglinux 1.txt 5.txt
aminglinux/
aminglinux/2/
aminglinux/aming2/
这样我们就过滤了所有的txt文件,我们可以过滤多个文件或者目录,但是要注意的是--exclude中间要有空格去隔开它。我们还要注意的是在参数后面一定要接包名,不要接其他的参数。
tar不仅可以打包,也可以在打包的同时去压缩文件。它支持zip,gzip,bzip2,zx都可以在tar中使用
首先,我们看看它配合gzip使用
[root@localhost d6z]# tar -zcvf aming.tar.gz aminglinux 1.txt 4.txt (支持zip在加参数z)
aminglinux/
aminglinux/2/
aminglinux/2/2.txt
aminglinux/2/4.txt
aminglinux/aming2/
1.txt
4.txt
我们看看它配合bzip2的使用
[root@localhost d6z]# tar -jcvf aming.tar.bz2 aminglinux 1.txt 4.txt (支持bzip2加参数j)
aminglinux/
aminglinux/2/
aminglinux/2/2.txt
aminglinux/2/4.txt
aminglinux/aming2/
1.txt
4.txt
和xz的配合使用
[root@localhost d6z]# tar -Jcvf aming.tar.xz aminglinux 1.txt 4.txt (支持xz加参数J)
aminglinux/
aminglinux/2/
aminglinux/2/2.txt
aminglinux/2/4.txt
aminglinux/aming2/
1.txt
4.txt
在解压缩的时候,不关支持怎样的格式,都是讲参数c换成x,查看压缩包中的内容都是加参数-tf。