查看源代码
出自Linux Wiki
对
压缩与解压
的源代码
根据以下的原因,您无权限进行编辑这个页面操作:
您刚才请求的操作只有这个用户组中的用户才能使用:
用户
您可以查看并复制此页面的源代码:
本文介绍Linux环境中处理<tt>rar</tt>、<tt>zip</tt>、<tt>gz</tt>、<tt>bz2</tt>、<tt>tar</tt>等常见压缩/归档文件的方法。如果你只是想了解解压所用的命令,请直接参考文末的[[#总结表|总结表]]。 如果你使用图形界面,可考虑[[GNOME]]的'''file-roller'''或KDE的[[Ark]],配合下述提到的软件包使用。 ==7z== 7-Zip 是“一款拥有极高压缩比的开源压缩软件”<ref>[http://sparanoid.com/lab/7z/ 7-Zip]</ref>,它也可以处理 zip 等常见压缩格式。 <source lang="bash"> # 解压文件,保留子文件夹结构 7z x 文件名 # 解压文件,但不创建任何子文件夹 7z e 文件名 </source> 使用 7z 和 convmv 可以解决 zip 文件的中文乱码问题,见 [[中文文件名乱码问题#处理zip文件乱码]] ==rar== 在Linux中可方便处理rar文件。如果只是解压,可安装unrar。unrar是RARLAB公开了源码的工具<ref>[http://www.rarlab.com/rar_add.htm WinRAR archiver: Extras]</ref>: <source lang="bash"> # 解压rar文件,保留子文件夹结构 unrar x rar文件名 # 解压rar文件,但不创建任何子文件夹 unrar e rar文件名 # 查看帮助 unrar h </source> 如果需要制作rar文件,可以安装<tt>rar</tt>软件包并购买相应许可。<tt>rar</tt>也具备<tt>unrar</tt>功能,用法同上,只需把<tt>unrar</tt>换成<tt>rar</tt>即可。 ==zip== [http://www.info-zip.org/ info-zip]提供了自由的zip文件处理方案,一般可以从系统中安装<tt>zip</tt>或<tt>unzip</tt>: <source lang="bash"> unzip zip文件名 </source> 值得一提的是,如果zip中包括非UTF-8编码的中文文件名文件,解压结果中会出现'''乱码''',解决该乱码问题请参考[[文件名编码转换]]。 同样由于潜在的文件名编码问题,不建议在Linux中打zip包供Windows用户使用。 ==tar== tar实际上是个打包工具,将一些文件存放在一个单独的文件中,并不做压缩。<ref>[[wpen:Tar_(file_format)|Wikipedia Tar]]</ref>而真正的压缩是其与gzip或bzip2等工具配合完成的,故常见的后缀名为<tt>.tar.gz</tt>, <tt>.tar.bz2</tt>,解压方法: <source lang="bash"> tar xvf sample.tar tar xvfz sample.tar.gz tar xvfj sample.tar.bz2 </source> 几个参数中,<tt>x</tt>表示解压,<tt>v</tt>表示显示详细信息(可选),<tt>f</tt>表示从文件输入,<tt>z</tt>表示文件是经gzip压缩的,<tt>j</tt>表示文件是经bz2压缩的。 {{Hint|较新版本的tar已经支持自动检测压缩方式,z或j参数可省去。}} 如需在Linux中创建压缩文件,推荐使用自由的tar与gzip组合,生成的文件同样兼容Windows中的常见压缩软件。例: <source lang="bash"> # 把MY_DIRS、MY_FILES打包并压缩成TARFILE.tar.gz文件 tar cvfz TARFILE.tar.gz MY_DIRS MY_FILES </source> ==bzip2== bzip2的压缩效果通常不错,但速度要慢一些<ref>[[wpen:bzip2|Wikipedia: bzip2]]</ref>,后缀为<tt>bz2</tt>。 {{Hint|bzip2和下面讲要讨论的gzip都是针对单个文件的压缩工具,配合前述的tar可以实现多文件归档。}} <source lang="bash"> # 压缩并删除文件"sample",生成"sample.gz2" bzip2 sample # 解压并删除bz2文件: bunzip2 sample.bz2 # 解压但保留bz2文件: bunzip2 -k sample.bz2 # 解压并输出bz2文件到屏幕: bzcat sample.bz2 </source> {{Hint|bzip2的2是为了区别于受专利问题影响的、使用算术编码的老bzip版本。}} ==gzip== gzip是Linux下常见的压缩格式,它的压缩速度相对bzip2而言要快一些。解压gzip文件: <source lang="bash"> # 压缩并删除文件"sample",生成"sample.gz" gzip sample # 解压并删除gz文件: gunzip sample.gz # 解压并输出gz文件到屏幕: zcat sample.gz </source> ==总结表== {| |+ style="padding-bottom: 20px;" | ===常见压缩格式压缩与解压方法=== |- align="center" style="margin-top: 20px;" ! 文件后缀 || 解压命令 || 压缩命令 |- | <tt>.zip</tt> (需要zip) || unzip ''File.zip'' || zip ''File.zip'' ''DirName'' |- | <tt>.rar</tt> (需要rar) || rar x ''File.rar'' || rar a ''File.rar'' |- | <tt>.tar</tt> (打包,不是压缩)|| tar xvf ''File.tar'' || tar cvf ''File.tar'' ''DirName'' |- | <tt>.tar.gz, .tgz</tt> || tar zxvf ''File.tar.gz'' || tar zcvf ''File.tar.gz DirName'' |- | <tt>.tar.bz2, .tar.bz</tt> || tar jxvf ''File.tar.bz2'' || tar jcvf ''File.tar.bz2 Dir'' |- | <tt>.tar.Z</tt> || tar Zxvf ''File.tar.Z'' || tar Zcvf ''File.tar.Z DirName'' |- | <tt>.gz</tt> || gunzip ''File.gz'' || gzip ''File'' |- | <tt>.Z</tt> || uncompress ''File.Z'' || compress ''File'' |- | <tt>.bz2</tt> (需要bzip2) || bunzip2 ''File.bz'' || bzip2 ''File'' |} ==相关资料== <references /> [[Category: 文件管理]] [[Category: 文件管理基础]]
在这个页面上使用的模板有:
Template:Hint
(
查看源码
)
返回到
压缩与解压
。
导航
首页
社区入口
当前事件
最近更改
随机页面
帮助
查看
页面
讨论
查看源代码
历史
个人工具
登录/创建账户
搜索
简体繁体转换
不转换
简体
繁體
工具箱
链入页面
链出更改
特殊页面