你的位置:首页 > 操作系统

[操作系统]Linux文档的压缩和打包


摘自:http://www.apelearn.com/bbs/forum.php?mod=viewthread&tid=7660&extra=page%3D1%26filter%3Dtypeid%26typeid%3D36

1. gzip工具
语法: gzip [-d#] filename 其中#为1-9的数字,默认压缩级别为6,只能压缩文件
gzip filename 生成filename.gz 源文件消失
gzip -dv filename.gz 解压后,压缩文件也会消失(-v显示指令执行过程)
zcat filename.gz 查看gz压缩文件的内容

2. bzip2压缩工具
语法: bzip2 [-dz] filename
压缩时,可以加 “-z” 也可以不加,都可以压缩文件 bzip2 filename 生成filename.bz2 源文件消失
不支持压缩目录
bzip2 -d filename.bz2 解压后压缩文件消失
可以使用 bzcat 查看bz2的压缩前的文件内容

3. xz
用法同gzip和bzip2
xz filename
生成filename.xz
不支持压缩目录
xz -d filename.xz 进行解压缩
xzcat filename.xz 查看xz压缩文件内容

4. zip及unzip
zip是压缩工具,unzip是解压缩工具
压缩文件: zip filename.zip filename
压缩目录: zip -r dir.zip dir/
解压缩zip压缩包: unzip filename.zip
unzip -l filename.zip 列出压缩包里面文件列表清单
unzip -d /tmp/ filename.zip 把压缩包解压到指定目录

5. tar打包工具
可以打包目录也可以打包文件
语法:tar [-zjxcvfpP] filename
打包: tar -cvf test.tar test 其中test是文件或目录
-c: 表示建立包,-v 可视化,压缩时跟 “-f 文件名”,意思是压缩后的文件名为filename, 解压时跟 “-f 文件名”,如果是多个参数组合的情况下带有 “-f”,请把 “-f” 写到最后面。
-u: 在包里增加一个新文件,比如tar -u 1.txt -vf test.tar
查看包内容: tar -tf test.tar
-t :查看tar包里面的文件
解包: tar -xvf test.tar
-x : 解包或者解压缩
-C: 解压到指定目录,比如 tar -C /tmp/ -xvf test.tar
不管是打包还是解包,原来的文件是不会删除的,但它会覆盖当前已经存在的文件或者目录。
打包的同时使用gzip压缩: tar -czvf 1.tar.gz 1 其中1可以是文件也可以是目录
-z 表示打包同时使用gzip压缩
解压.tar.gz的压缩包: tar -xzvf 1.tar.gz
使用bzip2压缩: tar -cjvf 1.tar.bz2 1
-j 表示打包同时使用bzip2压缩
解压.tar.bz2: tar -xjvf 1.tar.bz2

有时我们会看到一种后缀名为 .tar.xz的文件,这种压缩包是用xz工具压缩,解压的方法为:
tar -Jxvf file.tar.xz 需要安装xz工具,yum install -y xz*
tar -cJvf dir.tar.xz dir/ //打包压缩程 xz格式压缩包

同样使用 tar -tf 查看压缩的包: tar -tf 1.tar.gz 或者tar -tf 1.tar.bz2
--exclude 可以在打包的时候,排除某些文件或者目录
tar --exclude 1.txt -czvf 1.tar.gz dir/
排除多个文件或者目录: tar --exclude 1.txt --exclude 123/ -czvf 1.tar.gz dir/