linux 复习笔记之常见压缩命令
程序员文章站
2022-06-18 21:33:37
...
转载请出自出处: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