压缩和解压类命令
gzip/gunzip:压缩、解压
1)基本语法
命令 | 描述 |
---|---|
gzip 文件 | 压缩文件,只能将文件压缩为*.gz文件 |
gunzip 文件.gz | 解压文件 |
2)经验技巧
- 只能压缩文件不能压缩目录
- 不保留原来的文件
- 同时多个文件会产生多个压缩包
3)案例
(1)gzip压缩文件
压缩后,源文件会消失
[root@Demo-Server ~]# cd test
[root@Demo-Server test]# touch java.log
[root@Demo-Server test]# ls
java.log
[root@Demo-Server test]# gzip java.log
[root@Demo-Server test]# ls
java.log.gz
(2)gunzip解压文件
解压后,源文件会消失
[root@Demo-Server test]# ls
java.log.gz
[root@Demo-Server test]# gunzip java.log.gz
[root@Demo-Server test]# ls
java.log
zip/unzip:压缩、解压
1)基本语法
语法 | 描述 |
---|---|
zip [选项] xxx.zip 要压缩的文件列(可以有多个) | 压缩文件和目录的命令 |
unzip [选项] xxx.zip | 解压文件 |
2)选项说明
zip选项 | 功能 |
---|---|
-r | 压缩目录 |
unzip选项 | 功能 |
-d 目录 | 指定解压后文件的存放目录 |
3)经验技巧
zip压缩命令在windows/linux都通用,可以压缩目录且保留源文件。
4)案例
(1)将1.log和2.log压缩到package.zip中
[root@Demo-Server test]# ls
java.log
[root@Demo-Server test]# touch spring.log
[root@Demo-Server test]# ls
java.log spring.log
[root@Demo-Server test]# zip package.zip java.log spring.log
adding: java.log (stored 0%)
adding: spring.log (stored 0%)
[root@Demo-Server test]# ls
java.log package.zip spring.log
(2)将package.zip压缩到test中
[root@Demo-Server test]# ls
java.log package.zip spring.log
[root@Demo-Server test]# rm -rf java.log spring.log
[root@Demo-Server test]# ls
package.zip
[root@Demo-Server test]# unzip package.zip
Archive: package.zip
extracting: java.log
extracting: spring.log
[root@Demo-Server test]# ls
java.log package.zip spring.log
(3)将package.zip文件解压到logs目录
[root@Demo-Server test]# ls
java.log package.zip spring.log
[root@Demo-Server test]# rm -rf java.log spring.log
[root@Demo-Server test]# mkdir logs
[root@Demo-Server test]# ls
logs package.zip
[root@Demo-Server test]# unzip -d logs/ package.zip
Archive: package.zip
extracting: logs/java.log
extracting: logs/spring.log
[root@Demo-Server test]# ls logs/
java.log spring.log
(4)将log目录压缩到log.zip中
[root@Demo-Server test]# ls logs/
java.log spring.log
[root@Demo-Server test]# zip -r log.zip logs/
adding: logs/ (stored 0%)
adding: logs/java.log (stored 0%)
adding: logs/spring.log (stored 0%)
[root@Demo-Server test]# ls
logs log.zip package.zip
tar:打包、解压(常用)
1)基本语法
tar [选项] xxx.tar.gz 需要打包的文件列表
打包文件或者目录,压缩后的文件格式为tar.gz
2)选项说明
选项 | 说明 |
---|---|
-c | 产生.tar打包文件 |
-v | 显示详细信息 |
-f | 指定文件名 |
-z | 用gzip对文件进行压缩或者解压 |
-x | 解包.tar文件 |
-C | 解压到指定目录 |
3)案例
(1)tar -czvf:压缩多个文件
语法:
tar -czvf 打包后的文件.tar.gz 被打包的文件列表
[root@Demo-Server test]# ls
logs log.zip package.zip
[root@Demo-Server test]# tar -czvf log.tar.gz log.zip package.zip
log.zip
package.zip
[root@Demo-Server test]# ls
logs log.tar.gz log.zip package.zip
(2)tar -czvf:打包目录
语法:
tar -czvf 打包后的文件.tar.gz 被打包的目录
[root@Demo-Server test]# ls
logs log.tar.gz log.zip package.zip
[root@Demo-Server test]# ls logs/
java.log spring.log
[root@Demo-Server test]# tar -czvf log.tar.gz logs/
logs/
logs/java.log
logs/spring.log
[root@Demo-Server test]# ls
logs log.tar.gz log.zip package.zip
(3)tar -xzvf:解压文件,默认解压到当前目录
语法:
tar -xzvf 被解压的文件
[root@Demo-Server test]# ls
logs log.tar.gz log.zip package.zip
[root@Demo-Server test]# tar -xzvf log.tar.gz
logs/
logs/java.log
logs/spring.log
[root@Demo-Server test]# ls
logs log.tar.gz log.zip package.zip
[root@Demo-Server test]# ls logs/
java.log spring.log
(3)tar -xzvf:解压文件到指定的目录
语法:
tar -xzvf 被解压的文件 -C 解压后的目标目录
[root@Demo-Server test]# ls
logs log.tar.gz log.zip package.zip
[root@Demo-Server test]# mkdir target
[root@Demo-Server test]# tar -xzvf log.tar.gz -C target/
logs/
logs/java.log
logs/spring.log
[root@Demo-Server test]# ls
logs log.tar.gz log.zip package.zip target
[root@Demo-Server test]# ls target/
logs
[root@Demo-Server test]# ls target/logs/
java.log spring.log