Unit8 对文件进行归档、压缩

1.文件归档

定义:就是把多个文件变成一个归档文件

目的:加快数据的传输速度

tar表示打包

c->建立一个压缩文件的参数指令

f->指定归档文件名称

cf一般连着用

[root@vm138 mnt]# ls dir    #在dir目录下建立5个文件

file1  file2  file3  file4  file5

[root@vm138 mnt]# tar cf dir.tar dir  #将dir打包成dir.tar

[root@vm138 mnt]# ls

dir  dir.tar

[root@vm138 mnt]# du -sh dir.tar #可以查看dir.tar的大小

12K dir.tar

[root@vm138 mydir]# ls

dir.tar

[root@vm138 mydir]# tar tf dir.tar    #显示文当中的内容

mnt/

mnt/file1

mnt/file2

mnt/file3

mnt/file4

mnt/file5

[root@vm138 mydir]# tar xf dir.tar #解开一个归档文件

[root@vm138 mydir]# ls

dir.tar  mnt

[root@vm138 mydir]# ls mnt

file1  file2  file3  file4  file5

##建立新的文件和目录

[root@vm138 mydir]# touch newfile

[root@vm138 mydir]# mkdir rsy

[root@vm138 mydir]# touch rsy/myfile

[root@vm138 mydir]# touch rsy/others

[root@vm138 mydir]# ls

dir.tar  newfile  rsy

[root@vm138 mydir]# tar rf dir.tar newfile   #向归档文件中加入新的文件

[root@vm138 mydir]# tar rf dir.tar rsy       #向归档文件中加入新的目录

[root@vm138 mydir]# tar tf dir.tar

mnt/

mnt/file1

mnt/file2

mnt/file3

mnt/file4

mnt/file5

newfile

rsy/

rsy/myfile

rsy/others

[root@vm138 mydir]# tar -f dir.tar --delete newfile  #删除归档文件中加入文件或目录

[root@vm138 mydir]# tar tf dir.tar  

mnt/

mnt/file1

mnt/file2

mnt/file3

mnt/file4

mnt/file5

rsy/

rsy/myfile

rsy/others

[root@vm138 mydir]# rm -rf rsy

[root@vm138 mydir]# ls

dir.tar  newfile

[root@vm138 mydir]# tar -f dir.tar --get rsy/others   #取出归档文件中的rsy/others

[root@vm138 mydir]# ls

dir.tar  newfile  rsy

[root@vm138 mydir]# ls rsy

others

压缩

是一种通过特定算法来减少计算机文件大小机制,可以使文件通过较慢的互联网实现更快的传输,并减少磁盘的占用空间。

压缩的方法主要有三种

Zip

稳定性较差,只适合压缩纯文本文档

zip -r etc.tar.zip etc.tar  #压缩
unzip etc.tar.zip       #解压

[root@vm80 mnt]# du -sh etc.tar

30M etc.tar

[root@vm80 mnt]# zip -r etc.tar.zip etc.tar   ##压缩已归档的tar文件

  adding: etc.tar (deflated 72%)

[root@vm80 mnt]# du -sh etc.tar.zip

8.4M etc.tar.zip

[root@vm80 mnt]# ls

etc  etc.tar.zip

[root@vm80 mnt]# unzip etc.tar.zip    ##解压缩

Archive:  etc.tar.zip

  inflating: etc.tar                 

[root@vm80 mnt]# ls

etc  etc.tar  etc.tar.zip

gz

gzip etc.tar       #压缩
gunzip etc.tar.gz  #解压

[root@vm80 mnt]# ls

etc  etc.tar

[root@vm80 mnt]# gzip etc.tar

[root@vm80 mnt]# ls

etc  etc.tar.gz

[root@vm80 mnt]# gunzip etc.tar.gz

[root@vm80 mnt]# ls

etc  etc.tar

Xz

进行压缩最慢了,但是压缩后比较小

xz etc.tar #压缩成xz格式
unxz etc.tar.xz #解压xz格式的压缩包

[root@vm80 mnt]# xz etc.tar

[root@vm80 mnt]# du -sh etc.tar.xz

5.7M etc.tar.xz

[root@vm80 mnt]# ls

etc  etc.tar.xz

[root@vm80 mnt]# unxz etc.tar.xz

[root@vm80 mnt]# ls

etc  etc.tar

bz2

只适合于压缩纯文本文件

[root@server88 mnt]# ls

etc  etc.tar

[root@server88 mnt]# du -sh etc.tar

30M etc.tar

[root@server88 mnt]# bzip2 etc.tar    ##压缩

[root@server88 mnt]# du -sh etc.tar.bz2

7.0M etc.tar.bz2

[root@server88 mnt]# ls

etc  etc.tar.bz2

[root@server88 mnt]# bunzip2 etc.tar.bz2    ##解压

[root@server88 mnt]# ls

etc  etc.tar

打包压缩一次性完成

gz:

以gz格式直接进行打包压缩

[root@server88 mnt]# tar -zcf etc.tar.gz etc/  

[root@server88 mnt]# ls

etc  etc.tar.gz

[root@server88 mnt]# rm -rf etc

[root@server88 mnt]# ls

etc.tar.gz

[root@server88 mnt]# tar -zxf etc.tar.gz

[root@server88 mnt]# ls

etc  etc.tar.gz

xz:

以xz格式直接进行打包压缩

[root@server88 mnt]# tar -Jcf etc.tar.xz etc

[root@server88 mnt]# ls

etc  etc.tar.xz

[root@server88 mnt]# du -sh etc.tar.xz

5.7M etc.tar.xz

[root@server88 mnt]# rm -rf etc

[root@server88 mnt]# ls

etc.tar.xz

[root@server88 mnt]# tar -Jxf etc.tar.xz

[root@server88 mnt]# ls

etc  etc.tar.xz

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值