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

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

                                                 李守亮  2003-2-10

 

 

Unix下常遇到一些解包、压包的问题。一般情况下将若干文件或文件夹打成tar包,是为了便于文件的传输和管理。例如,通过FTPUnix平台下载目录结构较多的文件夹到Windows平台或另外一Unix平台,虽然文件夹不是太大,但由于每个文件很小,且非常多,每个文件都要进行文件头、尾检查校验。下载速度会非常慢。如果打成tar包,传输就会快很多。存档的文件夹打成tar包也容易管理。

值得注意的是:tar文件只是将文件或文件夹打包,并没有进行压缩。如果文本文件较多,对其压缩会节省很大的磁盘空间,传输将更快。压缩和解压缩方法可以参考下文给出的示例。

下面我以Sun Solaris 5.8(其他unixlinuxaix大体相同)为例,就常见的一些问题向各位同仁作一下介绍,供大家在工作中参考。因水平有限,仅做抛砖引玉,欢迎大家积极补充。

 

 

 

 

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下压缩方法有多种,可以参见gzipgunzipzcatcompress等工具文档,也可以参见上面所述的一些方法。下面仅以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下的Winziprar等压缩工具解开。

 

==========================================================

9、如何解开和生成其他包如.jar文件?

 

unix上生成和解开jar包和对tar包的操作差不多。

例如:

jar cvf  filename.jar  /dirname     #/dirname 打成jar

jar xvf  filename.jar                                #解开jar

jar tvf       filename.jar                                  #只列表不解开jar

 

==========================================================

10、待补充

 

 

 

 

 

李守亮 

2003-2-10

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值