Linux 解压缩

一些在 Linux 常用的解压缩方式

解压缩工具多种多样,下面列举了一些常用的命令。

zip

1
2
3
4
5
6
# 解
unzip -l file.zip                    # 查看 ZIP 文件内容
unzip file.zip                       # 解压到当前目录
unzip file.zip -d /tmp/              # 解压到指定目录
unzip -q file.zip -d /tmp/           # 静默解压到指定目录
unzip -P passwd -q file.zip -d /tmp/ # 静默解压带密码的 ZIP 到指定目录
unzip 的参数介绍
参数 介绍
-l,--list 列出压缩文件中的内容,不解压文件
-x,--exclude 排除指定的文件或目录,不进行解压
-t,--test 测试压缩文件的完整性,不解压文件
-d,--directory 指定解压到的目标目录
-n,--never-overwrite 不覆盖已存在的文件
-o,--overwrite 覆盖已存在的文件
-q,--quiet 静默模式,解压时不显示任何信息
-P,--password 使用密码解压文件
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
# 压
zip -r file.zip folder/         # 压缩指定目录
zip -r file.zip .               # 压缩当前目录下的所有文件和目录
zip -e file.zip .               # 创建带密码的 ZIP 文件
zip -m file.zip .               # 压缩完成后删除原始文件

zip -0 file.zip .               # 不压缩文件,只是存储
zip -9 file.zip .               # 最大压缩

zip -v file.zip .               # 压缩时显示详细信息
zip -u file.zip .               # 更新 ZIP 文件,只添加新文件或更新的文件
zip -s 10m file.zip .           # 分卷压缩,每个分卷大小为 10MB
zip 的参数介绍
参数 介绍
-r,–recurse-paths 递归压缩目录和子目录
-e,–encrypt 创建加密的 ZIP 文件
-m,–move 压缩后删除原始文件
-0,–store 不压缩文件,只是存储
-9,–maximum 最大压缩
-v,–verbose 压缩时显示详细信息
-u,–update 更新 ZIP 文件,只添加新文件或更新的文件
-s,–split-size 分卷压缩,指定每个分卷的大小

rar

1
2
3
4
5
6
7
8
# 解
unrar l file.rar                     # 列出 RAR 文件内容
unrar x file.rar                     # 解压 RAR 文件到当前目录
unrar x file.rar /path/to/directory  # 解压 RAR 文件到指定目录
unrar x -ppassword file.rar          # 使用密码解压 RAR 文件
unrar x -o+ file.rar                 # 覆盖已存在的文件
unrar x -o- file.rar                 # 不覆盖已存在的文件
unrar t file.rar                     # 测试 RAR 文件完整性
unrar 的参数介绍
参数 介绍
l,–list 列出 RAR 文件内容
x,–extract 提取文件
p,–password 指定解压密码
o+ 覆盖已存在的文件
o- 不覆盖已存在的文件
t,–test 测试 RAR 文件完整性
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# 压
rar a file.rar folder/           # 压缩指定目录
rar a file.rar .                 # 压缩当前目录下的所有文件
rar a file.rar ./*               # 压缩当前目录下的所有文件和目录

rar a -pmyPassword file.rar ./*  # 创建带密码的 RAR 文件
rar a -m5 file.rar ./*           # 设置压缩级别(0-5),5 为最高压缩
rar a -s file.rar ./*            # 创建固实 RAR 文件
rar a -vSIZE file.rar ./*        # 创建分卷 RAR 文件,每个分卷大小为 SIZE
rar a -r file.rar ./*            # 递归压缩目录和子目录
rar a -x*.txt file.rar ./*       # 压缩时排除 .txt 文件
rar 的参数介绍
参数 介绍
a,–add 添加文件或目录到 RAR 文件
p,–password 设置 RAR 文件的密码
m,–method 设置压缩级别(0-5),5 为最高压缩
s,–solid 创建固实 RAR 文件
v,–volume 创建分卷 RAR 文件,后跟分卷大小
r,–recursive 递归压缩目录和子目录
x,–exclude 排除指定的文件或目录,不进行压缩

7z

1
2
3
4
5
6
7
8
# 解
7z l file.7z                       # 列出 7z 文件内容
7z x file.7z                       # 解压 7z 文件到当前目录
7z x file.7z -o/path/to/directory  # 解压 7z 文件到指定目录
7z x -pPassword file.7z            # 使用密码解压 7z 文件
7z x -aoa file.7z                  # 覆盖已存在的文件
7z x -aos file.7z                  # 不覆盖已存在的文件
7z t file.7z                       # 测试 7z 文件完整性
7z 的参数介绍
参数 介绍
l,–list 列出 7z 文件内容
x,–extract 提取文件
p,–password 指定解压密码
aoa 覆盖已存在的文件
aos 不覆盖已存在的文件
t,–test 测试 7z 文件完整性
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
# 压
7z a file.7z folder/            # 压缩指定目录
7z a file.7z ./*                # 压缩当前目录下的所有文件和目录

7z a -pPassword file.7z ./*     # 创建带密码的 7z 文件
7z a -mx=5 file.7z ./*          # 设置压缩级别(0-9),9 为最高压缩
7z a -mhe=on file.7z ./*        # 创建固实 7z 文件
7z a -vSIZE file.7z ./*         # 创建分卷 7z 文件,每个分卷大小为 SIZE
7z a -r file.7z ./*             # 递归压缩目录和子目录
7z a -x!*.txt file.7z ./*       # 压缩时排除 .txt 文件
7z 的参数介绍
参数 介绍
a,–add 添加文件或目录到 7z 文件
p,–password 设置 7z 文件的密码
mx= 设置压缩级别(0-9),9 为最高压缩
mhe=on 创建固实 7z 文件
v,–volume 创建分卷 7z 文件,后跟分卷大小
r,–recursive 递归压缩目录和子目录
x,–exclude 排除指定的文件或目录,不进行压缩

tar(gz, bz2, xz)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
# 解
tar -xvf archive.tar               # 解包一个 tar 归档文件
tar -xzvf archive.tar.gz           # 解压并解包一个 gzip 压缩的 tar 归档文件
tar -xjvf archive.tar.bz2          # 解压并解包一个 bzip2 压缩的 tar 归档文件
tar -xJvf archive.tar.xz           # 解压并解包一个 xz 压缩的 tar 归档文件

# 压
tar -cvf archive.tar folder/       # 创建一个 tar 归档文件
tar -czvf archive.tar.gz folder/   # 创建一个 gzip 压缩的 tar 归档文件
tar -cjvf archive.tar.bz2 folder/  # 创建一个 bzip2 压缩的 tar 归档文件
tar -cJvf archive.tar.xz folder/   # 创建一个 xz 压缩的 tar 归档文件

tar -czvf archive.tar.gz .         # gzip 压缩当前目录下的所有文件和目录
tar -cjvf archive.tar.bz2 .        # bzip2 压缩当前目录下的所有文件和目录
tar -cJvf archive.tar.xz .         # xz 压缩当前目录下的所有文件和目录
tar 的参数介绍
参数 介绍
-x,–extract 从归档文件中解包文件
-v,–verbose 在处理文件时显示详细信息
-f,–file 指定归档文件的名称
-z,–gzip 通过 gzip 工具进行解压缩
-j,–bzip2 通过 bzip2 工具进行解压缩
-J,–xz 通过 xz 工具进行解压缩
-c,–create 创建一个新的 tar 归档文件
tar 存在 gpg 加密怎么解压?
1
2
3
4
5
6
7
# 解密
gpg -d archive.tar.gpg > archive.tar   # 解密 gpg 加密的 tar 归档文件
tar -xvf archive.tar                   # 解包 tar 归档文件

# 加密
tar -cvf archive.tar folder/           # 创建一个 tar 归档文件
gpg -c archive.tar                     # 使用 gpg 加密 tar 归档文件