`
eksliang
  • 浏览: 592263 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

linux 复习笔记之常见压缩命令

阅读更多

转载请出自出处:http://eksliang.iteye.com/blog/2109693

linux中常见压缩文件的拓展名

*.gz   gzip程序压缩的文件
*.bz2  bzip程序压缩的文件
*.tar  tar程序打包的数据,没有经过压缩
*.tar.gz  tar程序打包后,并经过gzip程序压缩
*.tar.bz2 tar程序打包后,并经过bzip程序压缩
*.zip     zip程序压缩的文件
*.rar     rar.程序压缩的文

 

unzip与zip

实例一:将当前目录下的.txt结尾的文件和目录tmp压缩成test.zip

zip test.zip *.txt tmp

 实例二:查看*.zip里面的压缩的内容

unzip -l test.zip 

 实例三:解压*.zip压缩包

unzip test.zip

 实例四:解压*.zip到指定目录

unzip test.zip -d ./tmp

 

gzip与zcat

 目前,gzip可以解开zip、gzip等软件所压缩的文件,用gzip压缩的的文件后缀国际统一为*.gz

语法:
gzip [-cdtv#] 文件名
zcat *.gz
参数:
-c:将压缩的数据输出到屏幕上,可通过数据流重定向来处理;
-d:解压的参数;
-t:可以用来验证一个压缩文件有没有错误;
-v:可以显示出"原文件/压缩文件"的压缩比等信息;
-#:压缩等级,1最快,但是压缩比最差,-9最慢,但是压缩比最高,默认为6;

 实例一:压缩实例

gzip aa.txt

 实例二:解压实例

gzip -dv aa.txt.gz

 实例三:读出.gz压缩文件的内容

zcat aa.txt.gz 

 实例四:压缩文件并保留原文件

gzip -c aa.txt > aa.txt.gz

 虽然gzip提供了1~9的压缩等级,不过使用默认的6已经非常好用了,建议在压缩时就用默认的-6;

cat可以读取纯文本的文件,那个zcat则可以读取纯文本被压缩后的压缩文件

 
bzip2与bzcat
如果说gzip的出现是为了替代compress这个压缩软件,那么bzip2的出现则是为了取代gzip,因为他提供了更佳的压缩比。他的用法与gizp基本相同
语法:
bzip2 [-cdkzv#] 文件名
bzat  *.bz2
参数:
-c:将解压过程中产生的数据输出到屏幕上
-d:解压参数
-k:压缩文件时保留原文件,而不会删除原文件
-z:压缩参数
-v:压缩文件时将显示出原文件/压缩文件的压缩比等信息
-#:压缩等级,-1压缩快,但是压缩比最差,-9最慢,但是压缩比最佳,默认为6
 实例一:压缩实例
#压缩完后会把原文件删除
bzip2 -z aa.txt 
#压缩完后保留原文件
bzip2 -kz bb.txt
 实例二:查看压缩文件的内容
bzcat aa.txt.bz2 
 实例三:解压*.bz2文件
bzip2 -d bb.txt.bz2 
 

 打包命令tar

前面介绍的gzip、bzip2仅能压缩单个文件,对于目录,多个文件同时压缩,这等操作,他是弄不了的,怎么办,tar出现了,tar的作用就是将目录或者多个文件打包成一个大文件,但是他打包的文件是没有经过压缩的,所以才称呼他为”打包命令“,用tar打包过后的多个文件或者目录就可以使用gzip、bzip2这个压缩程序进行压缩了。

语法:
tar [-ctxv] [-jz] [-f 文件名] 文件名 [-C 目录]
参数含义:
-c:新建打包文件,通常搭配-v来查看过程中被打包的文件名
-t:查看打包文件的内容中有哪些文件名,重点在查看
-x:解压参数,通常搭配-C指定在特定的目录解开
#注意了!这个非常关键,c、t、x这三个参数不可以同时在一串命令中。

-j:通过bzip2的支持进行压缩/解压缩,此时压缩文件规范命名为 *.tar.bz2
-z:通过gzip的支持进行压缩/解压缩,此时压缩文件规范命令为*.tar.gz
-v:在压缩、解压缩的过程中,将正在处理的文件名显示出来
-f:后面接被压缩或者被解压的文件名
-C:使用这个参数可以再解压时,将压缩文件解压在特定目录(大写的C)

 这个不用记,反正我写这个博客的目的就是为了以后在用到时直接copy就可以了,所以我采取的是例子驱动的方式写这个博客

 实例一:单独用tar打包,将当前目录下的所有txt文件打包成test.tar

tar -cv -f test.tar  ./*.txt

  实例二:查看test.tar包的内容

tar -tv -f test.tar

 实例三:解压tar包

#将tar包解压到当前目录
tar -xv -f test.tar
#将test.tar解压到当前目录的tmp下
tar -xv -f test.tar -C ./tmp/

 实例四:*.tar.gz的常用操作,用的时候就是copy改下文件名就OK了

#将当前目录下的txt打包成txt.txt.gz,是经过gzip压缩过的
tar -czv -f txt.tar.gz ./*.txt
#查看*.tar.gz包下面的文件
tar -tzv -f txt.tar.gz 
#解压*.tar.gz文件
tar -xzv -f txt.tar.gz
#解压到指定目录
tar -xzv -f txt.tar.gz -C ./tmp

 实例五:*.tar.bz2的常用操作

#将当前目录下的txt打包成txt.txt.bz2,是经过bzip2压缩过的
tar -cjv -f txt.tar.bz2 ./*.txt
#查看*.tar.bz2包下面的文件
tar -tjv -f txt.tar.bz2
#解压*.tar.bz2文件
tar -xjv -f txt.tar.bz2
#解压到指定目录
tar -xjv -f txt.tar.bz2 -C ./tmp

 

打包war包跟解压war包 

将当前目录下面的user文件,压缩user.war在当前目录
jar -cvf user.war ./user
参数含义
-c  创建war包
-v  显示过程信息
-f  指定 JAR 文件名,通常这个参数是必须的
-M  不产生所有项的清单(MANIFEST〕文件,此参数会忽略 -m 参数
-0  这个是阿拉伯数字,只打包不压缩的意思

将user.war包解压到当前目录
jar -xvf user.war

 

 

 

 

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics