1. 压缩格式的介绍
Linux默认支持的压缩格式:
- .gz
- .bz2
- .zip
说明:
- .gz和.bz2的压缩包需要使用tar命令来压缩和解压缩。
- .zip的压缩包需要使用zip命令来压缩,使用unzip命令来解压缩。
压缩目的:
- 节省磁盘空间
2. tar命令及选项的使用
命令 | 说明 |
---|---|
tar | 压缩和解压缩命令 |
tar命令选项:
选项 | 说明 |
---|---|
-c | 创建打包文件 |
-v | 显示打包或者解包的详细信息 |
-f | 指定文件名称, 必须放到所有选项后面 |
-z | 压缩或解压缩(.gz) |
-j | 压缩或解压缩(.bz2) |
-x | 解包 |
-C | 解压缩到指定目录 |
首先要弄清两个概念:打包和压缩。打包是指将一大堆文件或目录变成一个总的文件;压缩则是将一个大的文件通过一些压缩算法变成一个小文件。
-A或--catenate:新增文件到以存在的备份文件;
-B:设置区块大小;
-c或--create:建立新的备份文件;
-C <目录>:这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项。
-d:记录文件的差别;
-x或--extract或--get:从备份文件中还原文件;
-t或--list:列出备份文件的内容;
-z或--gzip或--ungzip:通过gzip指令处理备份文件;
-Z或--compress或--uncompress:通过compress指令处理备份文件;
-f<备份文件>或--file=<备份文件>:指定备份文件;
-v或--verbose:显示指令执行过程;
-r:添加文件到已经压缩的文件;
-u:添加改变了和现有的文件到已经存在的压缩文件;
-j:支持bzip2解压文件;
-v:显示操作过程;
-l:文件系统边界设置;
-k:保留原有文件不覆盖;
-m:保留文件不被覆盖;
-w:确认压缩文件的正确性;
-p或--same-permissions:用原来的文件权限还原文件;
-P或--absolute-names:文件名使用绝对名称,不移除文件名称前的“/”号;
-N <日期格式> 或 --newer=<日期时间>:只将较指定日期更新的文件保存到备份文件里;
--exclude=<范本样式>:排除符合范本样式的文件。
更多参数使用,使用tar --help查看。
将文件打包或压缩成 tar 包:
tar -cvf log.tar log.log 仅打包,不压缩!
tar -zcvf log.tar.gz log.log 打包后,以 gzip 压缩
tar -jcvf log.tar.bz2 log.log 打包后,以 bzip2 压缩
在文件夹当中,比某个日期新的文件才备份:
tar -N "2022/11/19" -zcvf log.tar.gz test
常用的tar参数如上述表格中所示,示例代码如2.1~2.6:
打 包:tar -cvf filename.tar.bz 要打包的文件或目录名称
压 缩:tar -zcvf filename.tar.bz 要压缩的文件或目录名称
查 询:tar -ztvf filename.tar.bz
解压缩:tar -zxvf filename.tar.bz
解压缩:tar -zxvf filename.tar.bz -C 欲解压缩的目录
2.1 压缩成.gz的效果图:
2.2 压缩成.bz2的效果图:
2.3 解压缩.gz的效果图:
2.4 解压缩.gz到指定目录效果图:
2.5 解压缩.bz2的效果图:
2.6 解压缩.bz2到指定目录效果图:
3. zip和unzip命令及选项的使用
命令 | 说明 |
---|---|
zip | 压缩成.zip格式文件 【默认当前文件夹】 |
unzip | 解压缩.zip格式文件 【默认当前文件夹】 |
unzip命令选项:
选项 | 说明 |
---|---|
-d | 解压缩到指定目录 |
3.1 zip和unzip命令安装
Centos7系统:
yum install -y unzip zip
3.2 压缩成.zip的效果图: 【用zip压缩时,后缀.zip可以省略】
3.3 解压缩.zip的效果图:
3.4 解压缩.zip到指定目录效果图:
说明:
- 压缩文件尽量使用.gz格式,因为占用空间较少
- 使用zip命令压缩的文件占用空间比较多, 当时比较通用,操作更加简单。
4. 小结
- .gz和.bz2的压缩文件使用tar命令来完成压缩和解压缩
- .zip的压缩文件使用zip和unzip命令来完成压缩和解压缩