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