1、 tar命令进行文档的归档和压缩
归档和压缩文件
归档和压缩文件的好处:节约硬盘的资源,加快文件传输速率
tar命令 作用:打包、压缩文件;tar文件是把几个文件和(或)目录集合在一个文件里,该存档文件可以通过使用gzip、bzip2或xz等压缩工具进行压缩后传输
查看 :man tar
用法:tar [OPTION…] [FILE]…
例:给/boot/grub 目录打包
[root@docker ~]# tar -cvf grub.tar /boot/grub #tar 的参数前可以不使用’-‘
tar: 从成员名中删除开头的“/”
/boot/grub/
/boot/grub/splash.xpm.gz
[root@docker ~]# ls gurb.tar #查看打包好的
[root@docker ~]# tar xvf grub.tar #解压到当前目录
boot/grub/
boot/grub/splash.xpm.gz
[root@docker ~]# ls boot # 得到boot目录
注意:在使用绝对路径名归档文件时,将默认从文件名中删除改路径中前面的/符号。这这样解压时,会直接解压到当前目录,如果不移出/压缩时,当解压时,直接按绝对路径来释放,会覆盖原系统中此路径的文件。
例1: 指定解压位置 -C
[root@docker ~]# tar xvf grub.tar.bz2 -C /opt/
例2:把两个目录+文件打包成一个软件包
[root@docker ~]# tar cvf back.tar /boot/grub back/ /etc/passwd
例3:不解压包,直接查看tar中的内容
[root@docker ~]# tar -tvf grub.tar
drwxr-xr-x root/root 0 2020-03-31 11:52 boot/grub/
-rw-r--r-- root/root 1350 2011-11-16 05:03 boot/grub/splash.xpm.gz
2、 tar 归档+压缩
tar -cvf 打包名 打包源文件(可以多个文件空格隔开) # c创建 v可视 f 文件名
tar -xvf 解包名
tar -tf 查看包内文件
打包
tar -czvf .gz格式的 gzip打包压缩包
tar -cjvf .bz2格式的bzip2打包压缩包
tar -cJvf .xz格式的xz打包压缩包#解压tar -xzf 解压gzip格式的压缩包tar -xjf 解压bzip2格式的压缩包tar -xJf 解压xz 格式的压缩包# 打包过滤
tar --exclude “要过滤内容” -czvf 123.tar.gz 源文件
[root@docker ~]# tar cvf etc.tar /etc/
[root@docker ~]# tar zcvf etc.tar.gz /etc/ #归档,注意备份的名字后缀
[root@docker ~]# tar zxvf etc.tar.gz #解压缩
3 、 gzip bzip2 xz zip
gzip :
gzip 文件名 压缩文件
gzip -d 文件名 解压文件
gunzip 文件名 解压文件
gzip -1 #压缩级别 最高到9 默认是6级别
gzip -f # 强制覆盖同名压缩包
gzip # 默认不保存原文件
gzip 压缩文件以.gz结尾
gzip -c 2.txt > 2.txt.gz #可以用重定向保留原文件
bzip2 :
bzip2 文件名 压缩文件
bzip2 -d 文件名 解压文件
bzip2 # 压缩文件以.bz2结尾
bzip2 # 压缩级别也是从1到9 默认是9级别
bzip2 -k 保留原文件
bzip2 -f 强制压缩覆盖同名压缩包
xz :
同bzip2 和 gzip
zip :
zip 压缩后文件名 源文件
zip -r 压缩后目录名 原目录
unzip 解压 -d 指定解压路径 源文件