一:zip命令
命令:zip 压缩之后名字 原文件
如果需要压缩目录,则是:zip -r 压缩之后名字 原目录
例如:
[root@VM_89_251_centos ~]# ls
aa anaconda-ks.cfg
[root@VM_89_251_centos ~]# zip -r aa.zip aa
adding: aa/ (stored 0%)
adding: aa/cangls.gz (deflated 19%)
adding: aa/bb/ (stored 0%)
[root@VM_89_251_centos ~]# ls
aa aa.zip anaconda-ks.cfg
linux不以文件后缀来区分文件,但是我们同样要写好后缀,让后面使用的人知道你用的什么格式去压缩文件。
解压缩:unzip 压缩文件
如下:
[root@VM_89_251_centos ~]# ls
aa.zip anaconda-ks.cfg
[root@VM_89_251_centos ~]# unzip aa.zip
Archive: aa.zip
creating: aa/
inflating: aa/cangls.gz
creating: aa/bb/
[root@VM_89_251_centos ~]# ls
aa aa.zip anaconda-ks.cfg
二:gzip命令
命令: gzip 原文件
这个命令压缩之后源文件会消失,如下:
[root@VM_89_251_centos ~]# touch cc
[root@VM_89_251_centos ~]# ls
aa anaconda-ks.cfg cc
[root@VM_89_251_centos ~]# gzip cc
[root@VM_89_251_centos ~]# ls
aa anaconda-ks.cfg cc.gz
gzip 不能压缩目录,但是加参数可以把目录下的文件压缩成包,命令如下:
gzip -r 原目录
解压缩: gunzip 压缩文件 或者 gzip -d 压缩文件
同样的,解压缩之后,压缩文件也会消失
如果要解压目录下被压缩的包
gunzip -r 目录
三:bzip2命令
命令:bzip2 原文件
压缩之后原文件会消失,加上参数-k可以保留原文件
bzip2不能压缩目录
解压缩:bunzip2 原压缩文件 或者 bzip2 -d 原压缩文件 同样的,可以加上-k保留原压缩文件
由于bzip2和gzip对于目录的压缩不能很好的支持,所以提供了如下两种压缩格式
四:tar.gz 和 tar.bz2
先将目录或文件压缩成tar文件,再进行压缩
打包tar命令:tar -cvf 压缩文件名 原文件
选项:
-c 打包
-v 显示过程
-f 指定打包后的文件名
如下:
[root@VM_89_251_centos ~]# ls
aa anaconda-ks.cfg cc cc.tar
[root@VM_89_251_centos ~]# tar -cvf aa.tar aa
aa/
aa/bb/
aa/cangls
[root@VM_89_251_centos ~]# ls
aa aa.tar anaconda-ks.cfg cc cc.tar
[root@VM_89_251_centos ~]#
解压缩:tar -xvf 压缩文件
选项:
-x 解打包
[root@VM_89_251_centos ~]# ls
aa.tar anaconda-ks.cfg cc cc.tar
[root@VM_89_251_centos ~]# tar -xvf aa.tar
aa/
aa/bb/
aa/cangls
[root@VM_89_251_centos ~]# ls
aa aa.tar anaconda-ks.cfg cc cc.tar
我们将文件或者目录打包成tar文件之后,就可以在使用gz或者bz2来进行压缩了,但是这样会很麻烦,有更加方便的方式进行压缩:
直接压缩成.tar.gz
命令:tar -zcvf 压缩文件 原文件
如 tar -zcvf aa.tar.gz aa
[root@VM_89_251_centos ~]# ls
aa anaconda-ks.cfg cc
[root@VM_89_251_centos ~]# tar -zcvf aa.tar.gz aa
aa/
aa/bb/
aa/cangls
[root@VM_89_251_centos ~]# ls
aa aa.tar.gz anaconda-ks.cfg cc
解压缩命令:tar -zxvf 压缩文件
[root@VM_89_251_centos ~]# ls
aa.tar.gz anaconda-ks.cfg cc
[root@VM_89_251_centos ~]# tar -zxvf aa.tar.gz
aa/
aa/bb/
aa/cangls
[root@VM_89_251_centos ~]# ls
aa aa.tar.gz anaconda-ks.cfg cc
[root@VM_89_251_centos ~]#
直接压缩成.tar.bz2
命令:tar -jcvf 压缩文件 原文件
例如:
[root@VM_89_251_centos ~]# ls
aa anaconda-ks.cfg cc
[root@VM_89_251_centos ~]# tar -jcvf aa.tar.bz2 aa
aa/
aa/bb/
aa/cangls
[root@VM_89_251_centos ~]# ls
aa aa.tar.bz2 anaconda-ks.cfg cc
解压缩:tar -jxvf 压缩文件
如:
[root@VM_89_251_centos ~]# ls
aa.tar.bz2 anaconda-ks.cfg cc
[root@VM_89_251_centos ~]# tar -jxvf aa.tar.bz2
aa/
aa/bb/
aa/cangls
[root@VM_89_251_centos ~]# ls
aa aa.tar.bz2 anaconda-ks.cfg cc
还有一些其他的命令:
- tar -jxvf aa.tar.bz2 -c /tmp:解压缩文件到指定目录。
- tar -zcvf test.tar.gz aa bb:压缩多个文件。
- tar -zcvf /tmp/test.tar.gz aa bb:压缩多个文件,并将压缩成功后的压缩包放置在/tmp/目录下。
- tar -ztvf aa.tar.gz:查看压缩包里面的内容,但不解压。