shell压缩命令tar_zip_gzip

tar [-cxtzjvfpPN] 文件或目录 ....

语法:tar [-cxtzjvfpPN] 文件或目录
1、必选其中之一选项【一次只能使用其中一个,不能同时使用多个】
-c   建立一个压缩文件的参数指令(create 的意思);  
-x   解开一个压缩文件【即解压】  
-t   查看 tarfile 里面的文件!  
-r   向压缩归档文件末尾追加文件  
-u   更新原压缩包中的文件 

2、可选选项:【常用的有:-z、-v、-f】
-z   有gzip属性,即需要用 gzip 压缩 ,如果用此选项,在win用rar打开无法解压。
-v   压缩的过程中显示文件(显示所有过程)!这个常用,但不建议用在背景执行过程! 
-f   使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。

-j   有bz2属性,即需要用 bzip2 压缩  
-Z   有compress属性的 
-O   将文件解开到标准输出  
-p   使用原文件的原来属性(属性不会依据使用者而变)  
-P   可以使用绝对路径来压缩! 
-N   比后面接的日期(yyyy/mm/dd)还要新的才会被打包进新建的文件中!  --exclude FILE:在压缩的过程中,不要将 FILE 打包
-f   使用档名,请留意,在 f 之后要立即接档名!不要再加参数!
例如:使用tar -zcvfP tfile sfile就是错误的写法,要写成tar -zcvPf tfile sfile 

查看

tar -tf aaa.tar.gz    [在不解压的情况下查看压缩包的内容] 

压缩

tar -cvf jpg.tar *.jpg       [将目录里所有jpg文件打包成tar.jpg]
tar -czf jpg.tar.gz *.jpg    [将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz]
tar -cjf jpg.tar.bz2 *.jpg   [将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2]
tar -cZf jpg.tar.Z *.jpg     [将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z]

tar
-c:   创建文档
-t:   列出存档内容
-x:   提取存档
-f:   [filename]要操作的存档的文件名
-v:   详细信息
注意:
1、创建之前请检查有木有重名文件(它会覆盖且不提示)
2、要使tar可以打包选定的文件,执行tar 命令的用户必须要能够读取这些文件
注:linux中文件的后缀名没有任何意义,只不过加上后缀名是为了给我们人看,能够清楚分析出是什么文件
tar -cf a.tar /111【创建文件并命名为a的压缩文件,将目录111打包】
tar -tf a.tar     【列出打包文件里的内容】
tar -tvf a.tar    【列出打包文件里的内容并显示详细信息】
注:tar后的参数一般都要带上 f 指明要操作的压缩包的文件名

tar支持三种不同压缩方式:
gzip:  压缩速度最快,历史最久,应用最广泛;
bzip2: 压缩成的存档文件小,可用性不如gzip;
xz:    最新的方式,提供最佳的压缩率。
实际3中方式都会用到,所以创建不一样格式的压缩文件就有自己的选项;
z用于gzip压缩:filename.tar.gzip    如:tar -zcf b.tar.gz 111/
j用于bzip2压缩:filename.tar.bz2    如:tar -jcf b.tar.bz2 111/
J用于xz压缩:filename.tar.xz        如:tar -Jcf b.tar.xz 111/

解压【-x解压,然后可接其它选项】

tar -xvf file.tar         解压 tar包 
tar -zxvf file.tar.gz     解压tar.gz 
tar -jxvf file.tar.bz2    解压 tar.bz2  
tar -Zxvf file.tar.Z      解压tar.Z 
tar -xf a.tar             解压缩就是用参数 x
tar -xzf a.tar            解压缩就是用参数 x;参数z会显示解压缩过程中具体详细信息

1、*.tar                  用 tar –xvf 解压
2、*.gz                   用 gzip -d 或者 gunzip 解压
3、*.tar.gz 和 *.tgz      用 tar –xzf 解压
4、*.bz2                  用 bzip2 -d 或者用 bunzip2 解压
5、*.tar.bz2              用 tar –xjf 解压
6、*.Z                    用 uncompress 解压
7、*.tar.Z                用 tar –xZf 解压

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的数值。


常用参数:
-d  从压缩文件内删除指定的文件。
-D  压缩文件内不建立目录名称。
-u  更换较新的文件到压缩文件内。
-f  此参数的效果和指定"-u"参数类似,但不仅更新既有文件,如果某些文件原本不存在于压缩文件内,使用本参数会一并将其加入压缩文件中。
-m  将文件压缩并加入压缩文件后,删除原始文件,即把文件移到压缩文件中。
-q  不显示指令执行过程。
-r  递归处理,将指定目录下的所有文件和子目录一并处理。
-v  显示指令执行过程或显示版本信息。

举例:
(1)、将/home/html目录及其目录里的所有文件生成压缩文件html.zip且不显示命令执行详细过程
zip -q -r html.zip /home/html

(2)、如果当前目录就在 /home/html 目录下,可以执行以下命令:
zip -q -r html.zip *

(3)、从压缩文件 cp.zip 中删除文件 a.c
zip -dv cp.zip a.c

gzip命令

主要选项:
-a或--ascii:              使用ASCII文字模式。   
-c或--stdout或--to-stdout:把解压后的文件输出到标准输出设备。   
-f或-force:               强行解开压缩文件,不理会文件名称或硬连接是否存在,以及该文件是否为符号连接。  
-h或--help:               在线帮助。  
-l或--list:               列出压缩文件的相关信息。   
-L或--license:            显示版本与版权信息。   
-n或--no-name:            解压缩时,若压缩文件内含有原来的文件名称及时间戳记,则将其忽略不予处理。   
-N或--name:               解压缩时,若压缩文件内含有原来的文件名称及时间戳记,则将其回存到解开的文件上。   
-q或--quiet:              不显示警告信息。   
-r或--recursive:          递归处理,将指定目录下的所有文件及子目录一并处理。   
-S或--suffix:             更改压缩字尾字符串。   
-t或--test:               测试压缩文件是否正确无误。   
-v或--verbose:            显示指令执行过程。  
-V或--version:            显示版本信息。  
举例:
gzip –c filename > filename.gz      [Linux压缩保留源文件的方法]
gunzip –c filename.gz > filename    [Linux解压缩保留源文件的方法]

你可能感兴趣的:(shell压缩命令tar_zip_gzip)