Linux之文件压缩gzip,bzip,tar等

1.压缩

常见的压缩命令有bzip2和gzip,但是都只能针对一个文件压缩/解压缩,因此出现了打包工具tar。其中gzip压缩后,源文件没有了,取而代之的是压缩文件.gz.

#压缩
gzip file  
#解压缩
gzip -d file.gz
#查看压缩文件
zcat file.gz
#采用最佳压缩比,并保留源文件
gzip -9 -c file > file.gz
-c:将压缩的数据输出到屏幕上,可通过重定向来处理
-#:#可取1~9,其中1速度最快,9压缩比最好

bzip2比gzip提供更好的压缩比

#压缩
bzip2 file
#解压缩
bzip2 -d file.bz2 
#读取压缩文件内容
bzcat file.bz2
#采用最佳压缩比,并保留源文件
bzip2 -9 -c file > file.bz2
#并保留源文件
bzip -k file

2.打包

tar将一文件打包成一个,并没有压缩的功能,但通过参数可以联合gzip和bzip2一起进行压缩打包。

#压缩并打包
tar -jcv -f file.tar.bz2 file
-c(create):创建打包文件
-v:查看打包过程
-j:通过bzip2压缩和解压缩
-f:文件名(-f选项建议单独写)
-z:通过gzip压缩和解压缩
#解压缩
tar -jxv -f file
-x:解打包,解压缩
#查看打包文件中有哪些文件
tar -t file.tar.bz2

再看几个选项

-C 目录 :解压缩时,可以选择特定目录
-p:保留备份数据的原本属性,常用于备份重要的配置文件
-P:保留绝对路径,即允许备份数据中含有根目录存在(重要!!!这个不要用,避免解压缩时覆盖源文件)
-exclude=FILE : 在压缩过程中,不要将FILE打包

解释-p选项,如下:在选项中加入了-p选项,首先会保留源文件的属性,其次在解压缩打包文件时会去掉绝对路径,只保留相对路径,

[root@localhost tmp]# tar -jcv -f etc.tar.bz2  /etc/
[root@localhost tmp]# tar -jxv etc.tar.bz2
被解压缩后的文件路径变成了 /tmp/etc/...
但如果加上-P选项,则会保留其源路径

仅解开单一文件的方法

[root@localhost ~]# tar -jcv -f etc.tar.bz2 /etc/
#先找到我们需要的文件名,假设解压缩shadow文件
[root@localhost ~]# tar -jtv -f etc.tar.bz2 | grep 'shadow'
#将该文件解压缩
[root@localhost ~]# tar -jxv -f etc.tar.bz2 etc/shadow(需要解压缩的文件名)

仅备份比某个时刻还要新的文件

#1.先找到比/etc/passwd还要新的文件
[root@localhost ~]# find /etc/ -newer /etc/passwd 
#2.利用tar来进行打包
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值