大数据学习(119)-Linux解压缩指令总结
🍋🍋大数据学习🍋🍋
🔥系列专栏: 👑哲学语录: 用力所能及,改变世界。
💖如果觉得博主的文章还不错的话,请点赞👍+收藏⭐️+留言📝支持一下博主哦🤞
8.8.1 gzip/gunzip 压缩
特点:
- 只能压缩文件,不能直接压缩目录(需先打包目录,如用
tar
)。 - 不保留原文件,压缩后原文件会被替换为
.gz
格式的压缩文件。 - 单个压缩包对应单个文件,多个文件会生成多个压缩包。
常用命令:
gzip filename # 压缩文件(生成filename.gz,原文件消失)
gunzip filename.gz # 解压缩文件(还原为filename,原.gz文件消失)
示例:
gzip nginx.conf # 压缩nginx.conf,生成nginx.conf.gz
gunzip nginx.conf.gz # 解压nginx.conf.gz,恢复为nginx.conf# 同时压缩多个文件
gzip nginx.conf access.log # 生成nginx.conf.gz和access.log.gz
注意事项:
- 若需保留原文件,可使用
gzip -k filename
(-k
即--keep
)。 - 若要压缩目录,需先用
tar
打包(见下文)。
8.8.2 zip/unzip 压缩
特点:
- 跨平台兼容(Windows/Linux/Mac)。
- 可直接压缩目录,且默认保留原文件。
- 单个压缩包可包含多个文件 / 目录。
常用命令:
zip [选项] 压缩包名.zip 源文件/目录 # 压缩
unzip [选项] 压缩包名.zip -d 目标目录 # 解压
常用选项:
zip -r
:递归压缩目录(包含子目录)。unzip -d
:指定解压后的文件存放位置
示例:
# 压缩单个文件
zip nginx.zip nginx.conf # 压缩nginx.conf为nginx.zip# 压缩目录(递归)
zip -r logs.zip logs/ # 压缩logs目录及其所有内容# 解压到当前目录
unzip logs.zip # 解压到当前目录# 解压到指定目录
unzip -d ./tmp logs.zip # 解压到tmp目录(需先创建tmp)
注意事项:
- Windows 用户常用
.zip
格式,因此适合跨平台传输文件。 - 若需排除某些文件,可使用
-x
选项,如:zip -r logs.zip logs/ -x "logs/*.tmp"
(排除.tmp
文件)。
8.8.3 tar 打包 / 压缩
特点:
- 先打包后压缩:
tar
本身用于打包文件 / 目录,常结合gzip
或bzip2
进行压缩。 - 常见格式:
.tar
(仅打包)、.tar.gz
(打包 + gzip 压缩)、.tar.bz2
(打包 + bzip2 压缩)。 - 保留文件权限和时间戳,适合备份系统文件。
常用命令:
tar [选项] 目标文件名.tar.gz 源文件/目录 # 打包+压缩
tar [选项] 源文件名.tar.gz -C 目标目录 # 解压
常用选项:
- 压缩选项:
-z
:使用gzip
压缩(生成.tar.gz
)。-j
:使用bzip2
压缩(生成.tar.bz2
,压缩率更高但速度较慢)。
- 操作选项:
-c
:创建打包文件(create
)。-x
:解压文件(extract
)。-v
:显示详细过程(verbose
)。-f
:指定文件名(file
,必须紧跟文件名)。-C
:指定解压目录(change directory
)。
示例:
# 压缩单个文件(打包+gzip压缩)
tar -zcvf nginx.tar.gz nginx.conf # 生成nginx.tar.gz# 压缩多个文件
tar -zcvf configs.tar.gz nginx.conf php.ini# 压缩目录
tar -zcvf logs.tar.gz logs/ # 压缩logs目录# 解压到当前目录
tar -zxvf logs.tar.gz # 解压到当前目录# 解压到指定目录
mkdir tmp
tar -zxvf logs.tar.gz -C tmp/ # 解压到tmp目录
注意事项:
- 若只需打包不压缩,可省略
-z
,生成.tar
文件(如:tar -cvf files.tar files/
)。 - 解压时,若忘记指定
-C
目录,文件会解压到当前目录,可能覆盖已有文件,需谨慎操作。
对比总结
工具 | 压缩后格式 | 保留原文件 | 压缩目录 | 跨平台 | 适用场景 |
---|---|---|---|---|---|
gzip | .gz | ❌ | ❌ | 部分 | 单个文件快速压缩 |
zip | .zip | ✅ | ✅ | ✅ | 跨平台文件分享 |
tar + gzip | .tar.gz | ✅ | ✅ | 部分 | 备份目录、保留文件属性 |