liunx文件操作 文件压缩

文件备份和压缩命令

在Linux中,常用的文件压缩工具有gzip,bzip2,zip。
'bzip2'是最理想的压缩工具,它提供了最大限度的压缩。
'zip'兼容好,windows也支持。

bzip2命令

bzip2 是一个压缩能力更强的压缩程序,.bz2结尾的文件就是bzip2压缩的结果。
要使用bzip2压缩文件,在shell提示下输入命令:
bzip2 filename 
文件即会被压缩,并保存为filename.bz2
要解压文件,输入命令:
bunzip2 filename.bz2 
filename.bz2 会被删除,而以filename代替
bzip2 filename.bz2 file1 file2 /usr/ssgao
上面的命令把file1,file2,file3 以及/usr/ssgao目录中的内容压缩至filename.bz2

gzip 命令

'gzip 源文件'
gzip filename 文件即会被压缩,并保存为filename.gz
要解压缩文件,输入命令:
'gunzip filename.gz'
filename.gz会被删除,而以filename代替
'gzip -r filename.gz file1 file2 /usr/work/school'
'-r' 表示压缩目录
上面的命令把file1,file2 以及/usr/work/school目录中的内容压缩起来放入 filename.gz
'gzip -r 目录'
压缩目录下的所有子文件,但不能压缩目录

zip 命令

Linux下提供了zip和unzip程序
'zip'为压缩程序
'zip 压缩文件名 源文件'     #压缩文件
'zip -r 压缩文件名 源目录' #压缩目录
[root@ssgao1987 home]# zip home.zip /
'unzip'为解压程序
--------------------------------
'zip all.zip *.jpg' 
该命令是将所有的.jpg的文件压缩成一个zip包
'unzip all.zip' 
命令是将all.zip中的所有文件解压出来

tar命令

tar命令把大量的文件和目录打包成一个文件。
比如,gzip不能压缩目录,可以先使用tar命名把对应的文件打包成x.tar文件,然后使用gzip进行压缩。
'-c'  创建下一个新归档
'-f'  当与-c选项一起使用时,创建的tar文件使用该选项指定的文件名;当与-x选项一起使用的时候,则解除该选项指定的归档
'-t' 显示包括在tar文件中的文件列表
'-v' 显示文件的归档进度
'-x' 从归档中抽取文件
'-z' 使用gzip 压缩tar文件
'-j' 使用bzip2 压缩tar文件
'tar -cvf 打包文件名 源文件' 
打包成x.tar文件
	tar -zcvf 压缩包名.tar.gz 源文件
压缩为.tar.gz格式
	tar -zxvf 压缩包名.tar.gz
解压缩x.tar.gz格式文件

指定解压缩位置
	tar -zxvf jp.tar.gz -C /home/ssgao/
只查看压缩文件内容,不进行解压缩
	tar -ztvf jp.tar.gz 
	ps: -f 使用档案名字,切记,这个参数是最后一个参数,后面只能是tar文件名
要创建一个tar文件,输入命令:
	tar -cvf filename.tar usr/ssgao /home/mine
	ps: 上面的命令将usr/ssgao 和 home/mime放入归档文件中。
列出tar文件的内容,输入命令:
	tar -tvf filename2.tar
抽取tar文件的内容,输入命令:
	tar -xvf filename.tar
	ps:上面的命令不会删除tar文件,但会把解除归档的内容复制到当前文件工作目录并保留归档文件所使用的任何目录结构,请记住,tar默认不压缩文件。
​
要创建一个使用tar和bzip2来归档压缩的文件,使用-j选项:
	tar -cjvf filename.tbz file
​
如果使用bunzip2命令解压filename.tbz文件,则filename.tbz会被删除,以filename.tar代替
要扩展并解除归档bzip.tar文件,输入命令:
	tar -xjvf filename.tbz
​
要创建一个用tar和gzip归档并压缩的文件,使用-z选项:
	tar -czxf filename.tgz file
	ps: 如果使用gunzip命令解压filename.tgz文件,则filename.tgz会被删除
 tar 的命令选项有很多(用man tar可以查看到),但常用的就那么几个选项,实例如下:
   tar -cf all.tar *.jpg
	ps ->将所有的.jpg文件打成一个名为all.tar的包。-c表示产生新的包,-f指定包的文件名
	tar -rf all.tar *.gif
	ps ->该命令是将所有的gif文件增加到all.tar的包里面去。-r表示增加文件的意思。
	tar -uf all.tar logo.gif
	ps ->该命令是更新原来tar包all.tar中的logo.gif文件,-u表示更新文件
	tar -tf all.tar
	ps ->该命令是列出all.tar包中的所有文件,-t表示列出文件的意思
	tar -xf all.tar
	ps ->该命令是解出all.tar包中的所有文件,-x表示解开的意思
	

tar 调用gzip

gzip是GUN组织开发的一个压缩程序,.gz结尾的文件就是gzip压缩的结果。与gzip相对的解压程序是gunzip。
tar中使用-z这个参数来调用gzip。
tar -zczf all.tar.gz *.jpg
ps->该命令是将所有的.jpg文件打成一个tar包,并且将其用gzip压缩,生成一个gzip压缩过的包,包名:all.tar.gz
tar -zxzf all.tar.gz 
ps->该命令用于解开上面压缩的包

tar 调用bzip2

tar中使用-j这个参数来调用gzip。
tar -cjf all.tar.bz2 *.jpg
ps-》这条命令是将所有的.jpg文件打成一个tar包,并且将其用bzip2压缩,生成一个bzip2压缩过的包,包名为 all.tar.bz2
tar -xjf all.tar.bz2
ps-》该命令是将上面产生的包解开

tar 调用compress

compress也是一个压缩程序,但是好像使用compress的人不如gzip和bzip2的人多。.Z结尾的文件就是compress压缩的结果。
与compress相对的解压程序是uncompress。tar中使用-Z参数调用compress
tar -cZf all.tar.Z *.jpg 
ps->将所有的.jpg文件打成一个tar包,并且将其用compress压缩,生成一个uncompress压缩过的包,包名为all.tar.Z
tar -xZf all.tar.Z
ps->该命令是将上面产生的包解开

tar命令总结

tar
-c 建立压缩档案
-x 解压
-t 查看内容
-r 向压缩归档文件末尾追加文件
-u 更新压缩包中的文件
上面五个参数是独立的,压缩/解压都要用到其中的一个,可以和别的命令连用,但只能用其中的一个
-z gzip属性
-j bz2属性
-Z compress属性
-v 显示所有过程
-O 将文件解开到标准输出
-----------------------------------------------------------------------------------
必不可少的参数
-f 使用档案名字,切记,这是最后一个参数,后面只能接档案名

tar -cvf jpg.tar *.jpg 
将目录里所有的jpg文件打包成tar.jpg
tar -czf jpg.tar.gz *.jpg 
将目录中的jpg文件打包成jpg.tar后,并用gzip压缩,生成一个gzip压缩过的包
tar -cjf jgp.tar.bz2 *.jpg 
将目录中的jpg文件打包成jpg.tar后,并用bzip2压缩,生成一个bzip2压缩过的包
tar cZf jpg.tar.Z *.jpg
将目录中的jpg文件打包成jpg.tar后,并用compress压缩,生成一个compress压缩过的包
-----------------------------------------------------------------------------------
解压
tar -xvf file.tar  解压tar包
tar -xzvf file.tar.gz 解压tar.gz
tar -xjvf file.tar.bz2 解压tar.bz2
tar -xZvf file.tar.Z 解压tar.Z
-----------------------------------------------------------------------------------
*.tar 用 tar –xvf 解压 
*.gz 用 gzip -d或者gunzip 解压 
*.tar.gz和*.tgz 用 tar –xzf 解压 
*.bz2 用 bzip2 -d或者用bunzip2 解压 
*.tar.bz2用tar –xjf 解压 
*.Z 用 uncompress 解压 
*.tar.Z 用tar –xZf 解压 
原文地址:https://www.cnblogs.com/ssgao/p/8880019.html