Unix平台下的常用命令技巧之 tar包、压缩与解压缩

Unix 下常遇到一些解包、压包的问题。一般情况下将若干文件或文件夹打成 tar 包,是为了便于文件的传输和管理。例如,通过 FTP Unix 平台下载目录结构较多的文件夹到 Windows 平台或另外一 Unix 平台,虽然文件夹不是太大,但由于每个文件很小,且非常多,每个文件都要进行文件头、尾检查校验。下载速度会非常慢。如果打成 tar 包,传输就会快很多。存档的文件夹打成 tar 包也容易管理。
值得注意的是: tar 文件只是将文件或文件夹打包,并没有进行压缩。如果文本文件较多,对其压缩会节省很大的磁盘空间,传输将更快。压缩和解压缩方法可以参考下文给出的示例。
下面我以 Sun Solaris 5.8 (其他 unix linux aix 大体相同)为例,就常见的一些问题向各位同仁作一下介绍,供大家在工作中参考。因水平有限,仅做抛砖引玉,欢迎大家积极补充。
 
 
 
 
1 、如何解开 .tgz .tar.gz 文件?
2 、如何解开 .z .Z 文件?
3 、如何解开 .tar.Z 文件?
4 、如何安装、卸载、列出 rpm 包信息?( linux 常用)
5 、如何使用 tar 命令测试、展开、生成 tgz 包?
6 、如何解开和生成 tar 文件?
7 、如何象在 PC 上的 ARJ 那样的分解打包软件 ?
8 、在 Unix 下如何压缩文件?
9 、如何解开和生成其他包如 .jar 文件?
10 、抛砖引玉,待同仁补充
 
============================================================
1 、如何才能解开 .tgz .tar.gz 文件?
 
1 )方法一:
gzip -d filename.tar.gz    gzip -d filename.tgz
tar -xvf filename.tar
2 )方法二:
解压并列表:
gzip -dc filename.tgz | tar xvf -           # .tgz 文件
gzip -dc filename.tar.gz | tar xvf -               #.tar.gz .tgz 文件
只列表不生成文件:
gzip -dc filename.tgz | tar tvf -                        # .tgz 文件
gzip -dc filename.tar.gz | tar tvf -                 #.tar.gz .tgz 文件
gzip 的其他使用方法参见 gzip -h
============================================================
2 、如何才能解开 .z .Z 文件?
 
1 )解 .z 文件 : gzcat filename.z
2 )解 .Z 文件: uncompress -c filename.Z
============================================================
3 、如何解 .tar.Z 文件?
 
1 )解压并列表:
zcat filename.tar.Z | tar xvf -            # .tar.Z 文件
uncompress -c tast.tar.Z | xvf -                     #uncompress -c zcat
2 )只列表不生成文件:
zcat filename.tar.Z | tar tvf -             # .tar.Z 文件
uncompress -c filename.tar.Z | tvf -        #uncompress -c zcat
============================================================
4 、如何安装、卸载、列出 rpm 包信息?( linux 常用)
 
1) 安装 rpm 包时显示进度
     例如:用 -vh 参数,如 rpm -ivh ipchains-1.3.6-1.i386.rpm
2) 直接通过 ftp 来安装 rpm
     例如: rpm -i ftp://ftp.xxx.xxx
3) 校验所有的 rpm 包,查找丢失的文件
例如: rpm –Va
4) 查找一个文件属于哪个 rpm
     例如: rpm -qf /usr/bin/who
5) 列出一个 rpm 包的描述信息
     例如: rpm -qpi mon-0.37j-1.i386.rpm
6) 列出一个 rpm 包的文件信息
例如: rpm -qpl mon-0.37j-1.i386.rpm
7) 列出并过滤已经安装的包
         例如: rpm –q |grep IBM
8) 删除已安装的包
         例如: rpm –e  包名
9) 其他 rpm 操作参见 #rpm --help
============================================================
5 、如何使用 tar 命令测试、展开、生成 tgz 包?
 
tar zvfx filename.tgz                       # 在当前目录下展开这个包
tar zvft filename.tgz                              # 只测试不展开
tar zvfx filename.tgz -C /new-dir              # 展开后放到 /new-dir 目录下
tar zvfc filename.tgz /filename              # /filename 目录下所有的文件及子目录打包成 filename.tgz
============================================================
6 、如何解开和生成 tar 文件?
 
tar xvf filename.tar                              # 当先目录解包
tar tvf filename.tar                              # 只显示不生成文件
tar cvf filename.tar <file or dir list>          # 生成包
tar 的参数很多,要仔细学习参见 #tar -h
============================================================
7 、如何象在 PC 上的 ARJ 那样的分解打包软件 ?
 
# split -b 100k big.file
   big.file 分解成若干 500K 的小文件 ( 名为 xa, xb, xc, ...)
# split -l 500 big.file
   big.file 分解成每个 500 lines 的小文件
其它使用方法参见 split –h
 
============================================================
8 、在 Unix 下如何压缩文件?
 
unix 下压缩方法有多种,可以参见 gzip gunzip zcat compress 等工具文档,也可以参见上面所述的一些方法。下面仅以 compress 命令示例:
 
例如:需要将 /filename 的文件打包并压缩,需要做以下步骤:
1) 打包
tar cvf filename.tar ./dir
2) 压缩
compress filename.tar                  # 生成 filename.tar.Z 文件
如果还原回原来的目录结构
1 )解压缩
uncompress filename.tar.Z
3) tar
tar xvf filename.tar
 
如果 unix 命令参数不熟悉,一般也可以通过 ftp 将压缩或打包文件传到 PC 上,利用 Windows 下的 Winzip rar 等压缩工具解开。
 
==========================================================
9 、如何解开和生成其他包如 .jar 文件?
 
unix 上生成和解开 jar 包和对 tar 包的操作差不多。
例如:
jar cvf filename.jar /dirname    # /dirname 打成 jar
jar xvf filename.jar                                # 解开 jar
jar tvf       filename.jar                                  # 只列表不解开 jar
 
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值