欢迎光临千百叶网
详情描述

CentOS 7 常用压缩与解压缩命令小结

一、常用压缩格式及工具

格式 压缩工具 解压工具 特点
.tar tar tar 仅打包,不压缩
.gz gzip gzip/gunzip gzip压缩
.bz2 bzip2 bunzip2 bzip2压缩
.xz xz unxz xz压缩
.tar.gz tar + gzip tar gzip压缩的tar包
.tar.bz2 tar + bzip2 tar bzip2压缩的tar包
.tar.xz tar + xz tar xz压缩的tar包
.zip zip unzip Windows兼容格式
.rar rar(需安装) unrar RAR格式

二、常用命令示例

1. tar 命令(最常用)
# 仅打包(不压缩)
tar -cvf archive.tar /path/to/dir

# 打包并用gzip压缩
tar -czvf archive.tar.gz /path/to/dir

# 打包并用bzip2压缩
tar -cjvf archive.tar.bz2 /path/to/dir

# 打包并用xz压缩
tar -cJvf archive.tar.xz /path/to/dir

# 解压tar包
tar -xvf archive.tar

# 解压tar.gz包
tar -xzvf archive.tar.gz

# 解压tar.bz2包
tar -xjvf archive.tar.bz2

# 解压tar.xz包
tar -xJvf archive.tar.xz

# 仅查看压缩包内容(不解压)
tar -tzf archive.tar.gz
tar -tjf archive.tar.bz2

# 解压到指定目录
tar -xzvf archive.tar.gz -C /target/directory
2. gzip/gunzip
# 压缩文件(生成.gz文件,删除原文件)
gzip file.txt

# 保留原文件压缩
gzip -c file.txt > file.txt.gz

# 解压.gz文件
gunzip file.txt.gz
# 或
gzip -d file.txt.gz

# 压缩级别(1-9,9最高压缩率)
gzip -9 file.txt
3. bzip2/bunzip2
# 压缩文件
bzip2 file.txt

# 保留原文件压缩
bzip2 -k file.txt

# 解压.bz2文件
bunzip2 file.txt.bz2
# 或
bzip2 -d file.txt.bz2
4. xz/unxz
# 压缩文件
xz file.txt

# 保留原文件压缩
xz -k file.txt

# 解压.xz文件
unxz file.txt.xz
# 或
xz -d file.txt.xz
5. zip/unzip
# 压缩文件或目录
zip -r archive.zip /path/to/dir

# 加密压缩(设置密码)
zip -re archive.zip /path/to/dir

# 解压zip文件
unzip archive.zip

# 解压到指定目录
unzip archive.zip -d /target/directory

# 查看zip文件内容
unzip -l archive.zip
6. 7z(需安装p7zip)
# 安装
yum install p7zip p7zip-plugins

# 压缩
7z a archive.7z /path/to/dir

# 解压
7z x archive.7z

三、实用技巧与示例

1. 组合使用
# 查找并打包
find /path -name "*.log" -exec tar -czvf logs.tar.gz {} +

# 打包排除某些文件
tar -czvf backup.tar.gz --exclude="*.tmp" --exclude="temp/" /path/to/dir
2. 分卷压缩
# 分割为100MB的文件
tar -czvf - /path/to/dir | split -b 100M - backup.tar.gz.

# 合并并解压
cat backup.tar.gz.* | tar -xzvf -
3. 网络传输
# 压缩并通过SSH传输
tar -czf - /path/to/dir | ssh user@host "tar -xzf - -C /target"

# 下载并解压
wget -O - http://example.com/file.tar.gz | tar -xzvf -
4. 性能比较
# 测试压缩时间(time命令)
time tar -czf test.tar.gz /path/to/dir
time tar -cjf test.tar.bz2 /path/to/dir
time tar -cJf test.tar.xz /path/to/dir

四、安装额外工具

# 安装zip/unzip
yum install zip unzip

# 安装rar/unrar(需EPEL源)
yum install epel-release
yum install rar unrar

# 安装7z
yum install p7zip p7zip-plugins

五、注意事项

保留权限:tar默认保留文件权限,zip可能需要参数 符号链接:tar默认不跟随符号链接,可使用-h选项 大文件:对于大文件,xz压缩率最高但最慢 兼容性
  • .tar.gz 最通用
  • .zip Windows兼容性好
  • .tar.xz 压缩率最高

六、快速参考备忘

# 最常用组合
压缩:tar -czvf 文件名.tar.gz 目录名
解压:tar -xzvf 文件名.tar.gz

压缩:tar -cjvf 文件名.tar.bz2 目录名
解压:tar -xjvf 文件名.tar.bz2

建议根据需求选择合适的压缩格式:需要高压缩率用xz,需要快速压缩用gzip,需要兼容Windows用zip。

相关帖子