Username: Password:

Linux下压缩命令详解
来源: ChinaUnix博客  作者: 发布时间:2008-04-25 06:41:53

现在 Linux 下最常见的压缩包格式自然非 .tar.gz 莫属,但由于 bzip2 强大的压缩比率,现在 . tar.bz2 愈发有取代之势。更有单纯的 .tar 格式也很常见。他们现在的操作都主要是由 tar 程式 配合 gzip/bzip2 来完成的。除此之外, .zip 和 .rar 由于在Windows平台下的流行,也会有少量 见到。另外有时翻一些老程式还会见到扩展名为 .Z 的老牌压缩程式 compress 的身影。
另外本文结尾也会捎带提一下 .rpm 格式,他虽然不是压缩包格式,但他可是 Redhat 下的红人。还 有 .deb 格式,据说是 Debian (也是类似于 Redhat 的一个 Linux 的分发版)下类似和 .rpm 的软 件分发包,由于我至今也没用过 Debian Linux,所以无缘一见,请各位高手补充。
[打包程式TAR]
命令选项
-A 合并tar文档
-c 创建
-d 比较
?delete 删除
-r 添加文档到tar文档后面
-t 察看tar文档中包含了哪些文档
-u 更新
-x 解开
常用操作
tar cvf data.tar * 将任何文档包装成data.tar
tar zcvf data.tar.gz * 同上,并用gzip压缩
tar jcvf data.tar.gz * 同上,并用bzip2压缩
tar tvf data.tar 列出data.tar中文档
tar xvf data.tar 解开data.tar
tar zxvf data.tar.gz 解开用gzip压缩过的data.tar.gz
tar jxvf data.tar.bz2 解开用bzip2压缩过的data.tar.bz2
其他选项
-v 显示周详信息
-f 指定tar文档名 (否则使用缺省的设备 /dev/rmt0)
打包和解包
?atime-preserve 将解开后的文档以原来的文档时间保存
?checkpoint 当读取tar文档时显示目录名
-h 保存符号链接(symlink)所链接的文档,而不是符号链接本身
更新和删除
?delete 删除
-r 添加文档到tar文档后面
-u 更新
-k 解开后不覆盖已有文档
?remove-files 将文档移入tar包内
调用压缩命令
-z 使用gzip
-Z 使用compress
-j 使用bzip2
-use-compress-program PROG
使用指定压缩程式PROG (前提是该程式必须支持 -d 选项)
[zip & unzip - 扩展名 .zip]
压缩 zip myfiles *.txt (压缩包名后面不用加.zip)
解压缩 unzip myfiles.zip
*zip缺省压缩不包括子目录下的文档,需要指定 -r 参数
zip参数
-r 包含子目录下的文档
-j 不保存目录结构
-f 只更新压缩包已有中的文档
-u 更新压缩包中的文档(修改过的和新的)
unzip
-d DIR 创建DIR, 并将文档解压缩到DIR中
-j 不保存目录结构
-f 仅更新已有文档, 不创建新文档
-u 更新文档, 没有则创建
[gzip & gunzip - 扩展名 .gz 或 .tgz(同.tar.gz)]
压缩 gzip data.txt
解压缩 gzip -d data.txt.gz
gunzip data.txt.gz
[bzip2, bunzip2 & bzip2recover - 扩展名 .bz2]
压缩 bzip2 data.txt
解压缩 bunzip2 data.txt.bz2
修复 bzip2recover data.txt.bz2
*bunzip2其实是bzip2的符号链接
bzip选项
-k 保留原始文档
解压缩 .tar.bz2 除了使用
tar jxvf test.tar.bz2
之外, 还能够使用下面的方法
bzip2 -dc test.tar.bz2 | tar xvf -
[compress & uncompress - 扩展名 .Z]
压缩 compress a.txt
解压缩 uncompress a.txt.Z
*由于压缩比不高,现在已很少见,但能够用gunzip来解压
[rar & unrar - 扩展名 .rar]
请到 http://www.rarlab.com/download.htm 下载 rar for linux。
压缩 rar a data data.txt
解压缩 rar x data.rar (根据压缩包中的路径确定解压目录)
rar e data.rar (解压缩到当前目录下)
*rar缺省压缩命令已包括子目录下的文档
请看我做的一个压缩比例测试,压缩内容为若干PHP程式代码和少量图像文档
-rw-r?r? 1 root root 1423360 Jan 24 20:11 test.tar
-rw-r?r? 1 root root 478614 Jan 24 20:17 test.zip
-rw-r?r? 1 root root 454104 Jan 24 20:13 test.rar
-rw-r?r? 1 root root 411159 Jan 24 20:13 test.tar.zip
-rw-r?r? 1 root root 411029 Jan 24 20:11 test.tar.gz
-rw-r?r? 1 root root 379945 Jan 24 20:11 test.tar.bz2
-rw-r?r? 1 root root 350023 Jan 24 20:15 test.tar.rar
[RPM基本功能]
安装 删除[e] 升级[U] 更新[F] 查询[q] 验证[V]
安装: rpm -ivh foobar-1.0.i386.rpm
(i: 安装 v: 周详信息 h: 显示#组成的进度条 ?percent 选项也可替代)
?replacepkgs 重新安装软件包
?replacefiles 允许覆盖原有文档
?nodeps 不检查相关性
删除: rpm -e foobar
(并不包括已修改过的配置文档)
?nodeps 不检查相关性
升级: rpm -Uvh foobar-1.0.i386.rpm
?oldpackage 允许“升级”到旧版本
更新: rpm -Fvh foobar-1.0.i386.rpm
(若原来存在旧版的软件则升级之,若原来不存在旧版软件则跳过)
查询: rpm -q foobar
Package Specification Options(软件包指定参数)
-a 查询现在已安装的任何软件包
-f 查询包含的软件包
-p 指定要查询的
Infomation Selection Options(信息选择参数)
-i 显示包周详信息
-l 显示文档列表 (-v 显示更周详信息)
-s 显示文档状态
-d 显示包中被标示为 documentation(文档) 的文档列表
-c 显示包中被标示为 configuration(配置) 的文档列表
验证: rpm -V foobar
若无输出表示正常,否则请参考错误代码

喜欢本文,那就收藏到:

    Del.icio.us Google书签 Digg Live Bookmark Technorati Furl Yahoo书签 Facebook 百度搜藏 新浪ViVi 365Key网摘 天极网摘 和讯网摘 博拉网 POCO网摘 添加到饭否 QQ书签 Digbuzz我挖网
相关评论  我也要评论
还没有关于此文章的相关评论!
  • 昵称: (为空则显示guest)
  • 评论分数: ★ ★ ★★★ ★★★★ ★★★★★
  • 评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
  • 导航
    赞助商
    文章类别
    订阅