一、打包压缩三剑客¶
运维的日常工作中,我们需要备份文件,备份某一个目录中的文件,这时候使用cp等命令不行了。
占用空间巨大,避免空间浪费,选择打包压缩目录实现备份的目的。
未来:备份单个文件就是cp即可,备份多个文件或目录推荐使用打包压缩
1.1 概述¶
| 压缩命令 | 应用场景 |
|---|---|
| tar⭐ ⭐ ⭐ ⭐ ⭐ | 大部分使用tar即可. 创建,查看, 解压,解压到指定目录 |
| gzip | 一般配合其他命令使用. |
| zip、unzip | 一般用于解压zip格式的压缩包unzip |
1.2 tar¶
-
windows 压缩
-
linux 打包压缩
-
打包(文件放在一起) tar
-
压缩(进行压缩,节约空间) tar命令的选项
-
tar命令要熟练掌握的功能:
- 创建压缩包
- 查看压缩包
- 解压压缩包
- 解压压缩包到指定目录
| tar命令选项 | 命令说明 |
|---|---|
| tar zcf 压缩包 被压缩的文件/目录 | 创建压缩包 |
| tar tf 压缩包 | 查看压缩包 |
| tar xf 压缩包 | 解压压缩包到当前目录 |
| tar xf 压缩包 解压后的存放目录 | 解压压缩包到指定目录 |
1.2.1 创建压缩包¶
说明:需要指定压缩包存放位置和名字还有被压缩的文件或目录.
#请把/etc/目录压缩,压缩包放在/tmp/etc.tar.gz
tar zcvf /tmp/etc.tar.gz /etc/
tar zcf /tmp/etc.tar.gz /etc/
参数说明:
- z:通过gzip压缩工具进行压缩
- c:创建包(打包),如果只放cf选项就是打包,不压缩
- v:显示过程,一般不加
- f:指定压缩包
1.2.2 查看压缩包内容¶
$ tar ztvf /tmp/etc.tar.gz
$ tar tf /tmp/etc.tar.gz
参数说明:
- t:列表
- f:指定压缩包
1.2.3 解压压缩包¶
说明:默认解压到当前目录.
tar zxvf /tmp/etc.tar.gz
tar xf /tmp/etc.tar.gz
参数说明:
- x:解压
- f:指定压缩包

1.2.4 解压到指定目录¶
解压压缩包/tmp/etc.tar.gz到/tmp目录下面
$ tar xf /tmp/etc.tar.gz -C /tmp/
参数说明:
- x:解压
- f:指定压缩包
- C:指定解压目录
1.2.5 tar: 从成员名中删除开头的“/”¶
结论:是个警告而已,可以忽略。
tar: Removing leading '/' from member names
由来:
- 这个是tar命令的安全保护机制.
- 提示出现的原因,我们打包的目标目录或文件是绝对路 径.
- 把我们使用的绝对路径转换为相对路径.
- 为了防止压缩包中保留绝对路径,解压的时候可能发生覆盖,导致数据,配置丢失.
避免提示:使用相对路径打包.
cd /
tar zcf /tmp/etc.tar.gz etc/
说明:这里使用相对路径打包,提示警告消失了。
1.3 gzip¶
| gzip命令选项 | 命令说明 |
|---|---|
| gzip 被压缩的文件/目录 | 创建压缩包 |
| gzip -d 压缩包 | 解压压缩包到当前目录 |
注意:使用gzip命令压缩后,原文件不存在
创建gz压缩包
touch lidao.txt
gzip lidao.txt
ll lidao.txt.gz
解压
gzip -d a.txt.gz
1.4 zip/unzip¶
专门处理.zip格式的压缩包.
tar无法处理.zip格式的压缩包.
.zip格式是windows和linux共同支持格式.
| zip/unzip命令选项 | 命令说明 |
|---|---|
| zip 压缩包 被压缩的文件 | 压缩文件 |
| zip -r 压缩包 被压缩的目录 | 压缩目录 |
| unzip -t 压缩包(以.zip命令结尾的) | 查看解压包内容 |
| unzip 压缩包 | 解压 |
温馨提示:如果命令没有请yum安装yum install -y unzip
#压缩a.txt文件为a.txt.zip
zip a.txt.zip a.txt
#压缩/etc目录
zip -r etc.zip /
#查看a.zip压缩包内容
unzip -t a.zip
#解压a.zip
unzip a.zip
1.5 小结¶
| 压缩 命令 | 应用场景 | |
|---|---|---|
| tar | 大部分使用tar即可.创建,查看, 解压,解 压到指定目录. | 核心使用 |
| gzip | 一般配合其他命令使用. | |
| zip/unzip | 一般用于解压zip格式的压缩包 | 目前会使用 unzip |