Chinaunix首页 | 论坛 | 博客
  • 博客访问: 172564
  • 博文数量: 33
  • 博客积分: 731
  • 博客等级: 上士
  • 技术积分: 757
  • 用 户 组: 普通用户
  • 注册时间: 2012-09-02 22:51
文章存档

2018年(1)

2017年(2)

2013年(1)

2012年(29)

我的朋友

分类: LINUX

2012-11-04 17:17:14

对于刚刚接触Linux的人来说,一定会给Linux下一大堆各式各样的文件名给搞晕。别个不说,单单就压缩文件为例,我们知道在Windows下最常见的压缩文件就只有两种,一是,zip,另一个是.rar。可是Linux就不同了,它有.gz、.tar.gz、tgz、bz2、.Z、.tar等众多的压缩文件名,此外windows下的.zip和.rar也可以在Linux下使用,不过在Linux使用.zip和.rar的人就太少了。本文就来对这些常见的压缩文件进行一番小结,希望你下次遇到这些文件时不至于被搞晕.

 

   在具体总结各类压缩文件之前呢,首先要弄清两个概念:打包和压缩。

 

  打包是指将一大堆文件或目录什么的变成一个总的文件,压缩则是将一个大的文件通过一些压缩算法变成一个小文件。为什么要区分这两个概念呢?其实这源于Linux中的很多压缩程序只能针对一个文件进行压缩,这样当你想要压缩一大堆文件时,你就得先借助另它的工具将这大堆文件先打成一个包,然后再就原来的压缩程序进行压缩。

 

Linux下最常用的打包程序就是tar了,使用tar程序打出来的包我们常称为tar包,tar包文件的命令通常都是以.tar结尾的。生成tar包后,就可以用其它的程序来进行压缩了,所以首先就来讲讲tar命令的基本用法:

 

 tar命令的选项有很多(用man tar可以查看到),但常用的就那么几个选项,下面来举例说明一下:

# tar -cf all.tar *.jpg

这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。

# tar -rf all.tar *.gif

这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。

# tar -uf all.tar logo.gif

这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。

# tar -tf all.tar

这条命令是列出all.tar包中所有文件,-t是列出文件的意思

# tar -xf all.tar

这条命令是解出all.tar包中所有文件,-x是解开的意思以上就是tar的最基本的用法。为了方便用户在打包解包的同时可以压缩或解压文件,tar提供了一种特殊的功能。这就是tar可以在打包或解包的同时调用其它的压缩程序,比如调用gzip、bzip2等。

 

1) tar调用gzip

gzip是GNU组织开发的一个压缩程序,.gz结尾的文件就是gzip压缩的结果。与gzip

相对的解压程序是gunzip。tar中使用-z这个参数来调用gzip。下面来举例说明一下:

# tar -czf all.tar.gz *.jpg

这条命令是将所有.jpg的文件打成一个tar包,并且将其用gzip压缩,生成一个gzip压缩过的包,包名为all.tar.gz

# tar -xzf all.tar.gz

这条命令是将上面产生的包解开。

 

2) tar调用bzip2

bzip2是一个压缩能力更强的压缩程序,.bz2结尾的文件就是bzip2压缩的结果。与bzip2相对的解压程序是bunzip2。tar中使用-j这个参数来调用gzip。下面来举例说明一下:

# tar -cjf all.tar.bz2 *.jpg

这条命令是将所有.jpg的文件打成一个tar包,并且将其用bzip2压缩,生成一个bzip2压缩过的包,包名为all.tar.bz2

# tar -xjf all.tar.bz2

这条命令是将上面产生的包解开。

 

3)tar调用compress

compress也是一个压缩程序,但是好象使用compress的人不如gzip和bzip2的人多。.Z结尾的文件就是compress压缩的结果。与 compress相对的解压程序是uncompress。tar中使用-Z这个参数来调用compress。下面来举例说明一下:

 

# tar -cZf all.tar.Z *.jpg

这条命令是将所有.jpg的文件打成一个tar包,并且将其用compress压缩,生成

一个uncompress压缩过的包,包名为all.tar.Z

 

# tar -xZf all.tar.Z

这条命令是将上面产生的包解开有了上面的知识,你应该可以解开多种压缩文件了,下面对于tar系列的压缩文件作一个小结:

1)对于.tar结尾的文件

tar -xf all.tar

2)对于.gz结尾的文件

gzip -d all.gz

gunzip all.gz

3)对于.tgz或.tar.gz结尾的文件

tar -xzf all.tar.gz

tar -xzf all.tgz

4)对于.bz2结尾的文件

bzip2 -d all.bz2

bunzip2 all.bz2

5)对于tar.bz2结尾的文件

tar -xjf all.tar.bz2

6)对于.Z结尾的文件

uncompress all.Z

7)对于.tar.Z结尾的文件

tar -xZf all.tar.z

另外对于Window下的常见压缩文件.zip和.rar,Linux也有相应的方法来解压它们:

1)对于.zip

linux下提供了zip和unzip程序,zip是压缩程序,unzip是解压程序。它们的参数选项很多,这里只做简单介绍,依旧举例说明一下其用法:

# zip all.zip *.jpg

这条命令是将所有.jpg的文件压缩成一个zip包

# unzip all.zip

这条命令是将all.zip中的所有文件解压出来

2)对于.rar

要在linux下处理.rar文件,需要安装RAR for Linux,可以从网上下载,但要记住,RAR for Linux不是免费的;可从下载RARfor Linux 3.2.0,然后安装:

 

# tar -xzpvf rarlinux-3.2.0.tar.gz

# cd rar

# make

 

这样就安装好了,安装后就有了rar和unrar这两个程序,rar是压缩程序,unrar是解压程序。它们的参数选项很多,这里只做简单介绍,依旧举例说明一下其用法:

# rar a all *.jpg

 

这条命令是将所有.jpg的文件压缩成一个rar包,名为all.rar,该程序会将.rar扩展名将自动附加到包名后。

# unrar e all.rar

这条命令是将all.rar中的所有文件解压出来.

 

到此为至,我们已经介绍过linux下的tar、gzip、gunzip、bzip2、bunzip2、compress、 uncompress、 zip、unzip、rar、unrar等软件,你应该已经能够使用它们对.tar、.gz、.tar.gz、.tgz、.bz2、.tar.bz2、. Z、.tar.Z、.zip、.rar这10种压缩文

件进行解压了,以后应该不需要为下载了一个软件而不知道如何在Linux下解开而烦恼了。而且以上方法对于Unix也基本有效。

 

 

本文介绍了linux下的压缩程序tar、gzip、gunzip、bzip2、bunzip2、compress、uncompress、 zip、 unzip、rar、unrar等程式,以及如何使用它们对.tar、.gz、.tar.gz、.tgz、.bz2、.tar.bz2、.Z、. tar.Z、.zip、.rar这10种压缩文件进行操作。


///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

*********************************************************************************************************************

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Linux下zip包的操作

linux zip 命令详解 
功能说明:压缩文件。 
语 法:zip [-AcdDfFghjJKlLmoqrSTuvVwXyz$][-b <工作目录>][-ll][-n <字尾字符串>][-t <日期时间>][-<压缩效率>][压缩文件][文件...][-i <范本样式>][-x <范本样式>] 
补充说明:zip是个使用广泛的压缩程序,文件经它压缩后会另外产生具有".zip"扩展名的压缩文件。 
参 数: 
-A 调整可执行的自动解压缩文件。 
-b<工作目录> 指定暂时存放文件的目录。 
-c 替每个被压缩的文件加上注释。 
-d 从压缩文件内删除指定的文件。 
-D 压缩文件内不建立目录名称。 
-f 此参数的效果和指定"-u"参数类似,但不仅更新既有文件,如果某些文件原本不存在于压缩文件内,使用本参数会一并将其加入压缩文件中。 
-F 尝试修复已损坏的压缩文件。 
-g 将文件压缩后附加在既有的压缩文件之后,而非另行建立新的压缩文件。 
-h 在线帮助。 
-i<范本样式> 只压缩符合条件的文件。 
-j 只保存文件名称及其内容,而不存放任何目录名称。 
-J 删除压缩文件前面不必要的数据。 
-k 使用MS-DOS兼容格式的文件名称。 
-l 压缩文件时,把LF字符置换成LF+CR字符。 
-ll 压缩文件时,把LF+CR字符置换成LF字符。 
-L 显示版权信息。 
-m 将文件压缩并加入压缩文件后,删除原始文件,即把文件移到压缩文件中。 
-n<字尾字符串> 不压缩具有特定字尾字符串的文件。 
-o 以压缩文件内拥有最新更改时间的文件为准,将压缩文件的更改时间设成和该文件相同。 
-q 不显示指令执行过程。 
-r 递归处理,将指定目录下的所有文件和子目录一并处理。 
-S 包含系统和隐藏文件。 
-t<日期时间> 把压缩文件的日期设成指定的日期。 
-T 检查备份文件内的每个文件是否正确无误。 
-u 更换较新的文件到压缩文件内。 
-v 显示指令执行过程或显示版本信息。 
-V 保存VMS操作系统的文件属性。 
-w 在文件名称里假如版本编号,本参数仅在VMS操作系统下有效。 
-x<范本样式> 压缩时排除符合条件的文件。 
-X 不保存额外的文件属性。 
-y 直接保存符号连接,而非该连接所指向的文件,本参数仅在UNIX之类的系统下有效。 
-z 替压缩文件加上注释。 
-$ 保存第一个被压缩文件所在磁盘的卷册名称。 
-<压缩效率> 压缩效率是一个介于1-9的数值。

linux unzip 命令详解

功能说明:解压缩zip文件

语 法:unzip [-cflptuvz][-agCjLMnoqsVX][-P <密码>][.zip文件][文件][-d <目录>][-x <文件>] 或 unzip [-Z]

补充说明:unzip为.zip压缩文件的解压缩程序。

参 数:

-c 将解压缩的结果显示到屏幕上,并对字符做适当的转换。

-f 更新现有的文件。

-l 显示压缩文件内所包含的文件。

-p 与-c参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换。

-t 检查压缩文件是否正确。

-u 与-f参数类似,但是除了更新现有的文件外,也会将压缩文件中的其他文件解压缩到目录中。

-v 执行是时显示详细的信息。

-z 仅显示压缩文件的备注文字。

-a 对文本文件进行必要的字符转换。

-b 不要对文本文件进行字符转换。

-C 压缩文件中的文件名称区分大小写。

-j 不处理压缩文件中原有的目录路径。

-L 将压缩文件中的全部文件名改为小写。

-M 将输出结果送到more程序处理。

-n 解压缩时不要覆盖原有的文件。

-o 不必先询问用户,unzip执行后覆盖原有文件。

-P<密码> 使用zip的密码选项。

-q 执行时不显示任何信息。

-s 将文件名中的空白字符转换为底线字符。

-V 保留VMS的文件版本信息。

-X 解压缩时同时回存文件原来的UID/GID。

[.zip文件] 指定.zip压缩文件。

[文件] 指定要处理.zip压缩文件中的哪些文件。

-d<目录> 指定文件解压缩后所要存储的目录。

-x<文件> 指定不要处理.zip压缩文件中的哪些文件。

-Z unzip -Z等于执行zipinfo指令

范例:

zip命令可以用来将文件压缩成为常用的zip格式。unzip命令则用来解压缩zip文件。

1. 我想把一个文件abc.txt和一个目录dir1压缩成为yasuo.zip:

# zip -r yasuo.zip abc.txt dir1

2.我下载了一个yasuo.zip文件,想解压缩:

# unzip yasuo.zip

3.我当前目录下有abc1.zip,abc2.zip和abc3.zip,我想一起解压缩它们:

# unzip abc\?.zip

注释:?表示一个字符,如果用*表示任意多个字符。

4.我有一个很大的压缩文件large.zip,我不想解压缩,只想看看它里面有什么:

# unzip -v large.zip

5.我下载了一个压缩文件large.zip,想验证一下这个压缩文件是否下载完全了

# unzip -t large.zip

6.我用-v选项发现music.zip压缩文件里面有很多目录和子目录,并且子目录中其实都是歌曲mp3文件,我想把这些文件都下载到第一级目录,而不是一层一层建目录:

# unzip -j music.zip

阅读(639) | 评论(0) | 转发(0) |
0

上一篇:DOS基础

下一篇:vivi分析-顶层Makefile

给主人留下些什么吧!~~