linux中主要有.zip,.gz,.bz2及.tar.gz和.tar.bz2等压缩格式
一、.zip,.gz,.bz2格式
.zip格式语法:
- zip 压缩文件名 源文件 #压缩文件 (也能压缩目录,但只会压缩第一个目录,目录中的内容并没有压缩进去)
- zip -r 压缩文件名 源目录 #压缩目录
- unzip 压缩文件名 #解压文件
将11.txt文件压缩为:11.zip文件:zip 11.zip 11.txt
将coding目录压缩为:coding.zip文件:zip -r coding.zip coding (由下图可知会压缩目录中的所有内容)
将coding目录压缩为:coding.zip文件:zip coding.zip coding (仅仅只是压缩了coding/,里面不含coding文件夹中原先的内容)
解压coding.zip文件(上图得到的coding.zip文件),可见原来的first.c等文件全部不见了
.gz格式语法:
- gzip 源文件 #压缩为.gz格式的压缩文件,源文件会消失
- gzip -c 源文件 > 压缩文件 #压缩为.gz格式,源文件保留例如:gzip-c cangls>cangls.gz
- gzip -r 目录 #压缩目录下所有的子文件,但是不能压缩目录
- gunzip 压缩文件名 #解压压缩文件
.bz2格式语法
- bzip2源文件 #压缩为.bz2格式,不保留源文件
- bzip2 -k源文件 #压缩之后保留源文件
- 注意:bzip2命令不能压缩目录
- bzip2 -d压缩文件 #解压缩,-k保留压缩文件
- bunzip2压缩文件 #解压缩,-k保留压缩文件
二、.tar.gz,.tar.bz2格式
针对.gz及.bz2格式不能压缩目录的缺点,linux通过tar命令先打包一个目录中的所有文件,然后再压缩为.gz或者.bz2格式的内容就能解决这个问题。
打包命令tar
- tar-cvf 打包文件名 源文件
- 选项:-C:打包 -V:显示过程 -f:指定打包后的文件名
例如:
解包命令tar
- tar-xvf 打包文件名 源文件
- 选项:-x:解包 -V:显示过程 -f:指定打包后的文件名
.tar.gz压缩格式 其实.tar.gz格式是先打包为.tar格式,再压缩为.gz格式
- tar-zcvf 压缩包名 # -z:压缩为.tar.gz格式(会保留源文件),压缩包名前可加绝对路径
- tar-zxvf 压缩包名 # -x:解压缩.tar.gz格式(会保留原压缩文件)
- tar-ztvf 压缩包名 # -t: 不解压压缩包,直接查看压缩包的内容
.tar.bz2压缩格式
- tar -jcvf 压缩包名.tar.bz2 源文件
- tar -jxvf 压缩包名.tar.bz2
- tar -jtvf #查看压缩包的内容,不解压文件