1. tar工具
1.1. 工具安装(Ubuntu系统)
tar(Tape Archive
)是一个核心工具,大部分的Linux发行版已经预装在系统中。
1 2 3 4 5 6 7
| sudo apt update
sudo apt install tar
tar --version
|
1.2. 打包和压缩
1 2 3 4 5 6 7 8 9 10 11
| tar -cvf archive.tar /path/to/dir
tar -czvf archive.tar.gz /path/to/dir
tar -cjvf archive.tar.bz2 /path/to/dir
tar -cJvf archive.tar.xz /path/to/dir
|
参数说明:
-c
:创建归档
-z
:使用gzip
-j
:使用bzip2
-J
:使用xz
-v
:显示进度(可选)
-f
:指定文件名
1.3. 解压和提取
1 2 3 4 5 6 7 8 9 10 11
| tar -xvf archive.tar -C /target/dir
tar -xzvf archive.tar.gz -C /target/dir
tar -xjvf archive.tar.bz2 -C /target/dir
tar -xJvf archive.tar.xz -C /target/dir
|
参数说明:
2. gzip和gunzip
2.1. 工具安装(Ubuntu系统)
gzip
和gunzip
是常用的压缩和解压工具,大部分的Linux发行版已经预装在系统中。
1 2 3 4 5 6 7 8
| sudo apt update
sudo apt install gzip
gzip --version gunzip --version
|
2.2. 压缩文件
1 2 3 4 5 6 7 8
| gzip filename
gzip -k filename
gzip -9 filename
|
参数说明:
-k
:保留原文件
-9
:设置压缩率,压缩率范围1-9,9为最高,默认6
2.3. 解压文件
1 2 3 4 5 6 7 8
| gunzip filename.gz
gunzip -k filename.gz
gzip -d filename.gz
|
3. bzip2和bunzip2
3.1. 工具安装(Ubuntu系统)
bzip2 和 bunzip2 是用于处理 .bz2 压缩文件的工具,大部分的Linux发行版已经预装在系统中。
1 2 3 4 5 6 7 8
| sudo apt update
sudo apt install bzip2
bzip2 --version bunzip2 --version
|
3.2. 压缩文件
1 2 3 4 5 6 7 8
| bzip2 filename
bzip2 -k filename
bzip2 -9 filename
|
参数说明:
-k
:保留原文件
-9
:设置压缩率,压缩率范围1-9,9为最高,默认6
3.3. 解压文件
1 2 3 4 5 6 7 8
| bunzip2 filename.bz2
bunzip2 -k filename.bz2
bzip2 -d filename.bz2
|
4. xz和unxz
4.1. 工具安装(Ubuntu系统)
xz
和unxz
是用于处理.xz
压缩文件的工具,提供超高压缩率(尤其适合文本文件)。安装方法如下:
1 2 3 4 5 6 7 8
| sudo apt update
sudo apt install xz-utils
xz --version unxz --version
|
4.2. 压缩文件
1 2 3 4 5 6 7 8
| xz filename
xz -k filename
xz -9 filename
|
4.3. 解压文件
1 2 3 4 5 6 7 8
| unxz filename.xz
unxz -k filename.xz
xz -d filename.xz
|
5. zip和unzip
.zip
压缩格式的平台兼容性最强,macOS和Windows都默认支持,Linux下安装zip和unzip工具即可支持。
5.1. 工具安装(Ubuntu系统)
大部分的Linux发行版默认不支持该工具,需要手动下载。
1 2 3 4 5 6 7 8 9 10
| sudo apt update
sudo apt install zip
sudo apt install unzip
zip --version unzip --version
|
5.2. 加密文件
1 2 3 4 5 6 7 8 9 10 11
| zip archive.zip file.txt
zip archive.zip file1.txt file2.txt
zip -r archive.zip /path/to/directory
zip -9 -r archive.zip /path/to/directory
|
-r
: 表示递归压缩(包含子目录和文件)。
archive.zip
: 是生成的压缩文件名(可自定义)。
/path/to/directory
: 是要压缩的目录路径。
-9
: 表示压缩级别,级别范围0-9,9为最高,默认6。
5.3. 解密文件
1 2 3 4 5 6 7 8
| unzip archive.zip
unzip archive.zip -d /target/directory
unzip -l archive.zip
|
5.4. 乱码问题
因编码问题导致中文乱码时,可以指定编码格式。
1 2
| unzip -O GBK archive.zip unzip -O UTF-8 archive.zip
|
6. 7zip工具
6.1. 工具安装(Ubuntu系统)
大部分的Linux发行版默认不支持该工具,需要手动下载。
1 2 3 4 5 6 7 8 9
| sudo apt update
sudo apt install p7zip-full
sudo apt install p7zip
7z --help
|
6.2. 压缩文件
1 2
| 7z a archive.7z /path/to/file_or_dir 7z a -t7z -m0=lzma2 -mx=9 archive.7z /path/to/dir
|
参数说明:
a
: 添加文件到压缩包。
-t7z
: 指定格式为.7z
,可替换为-tzip
、-ttar
等。
-mx=9
: 设置压缩率,压缩级别0-9,9为最高。
-m0=lzma2
: 使用LZMA2
算法(默认)。
6.3. 解压文件
1 2 3 4 5
| 7z x archive.7z
7z x archive.7z -o/path/to/dir
|
参数说明:
x
: 保留完整路径解压
-o
: 指定输出目录(注意无空格,如 -o/home/user)
6.4. 查看压缩包
1 2 3 4
| 7z l archive.7z
7z t archive.7z
|
7. 总结说明
- tar工具是Linux下最常用的打包和压缩(及解压)工具,可以实现各种压缩格式的打包和解压,如常见的
gzip
、bzip2
、xz
等。
gzip和gunzip
、bzip2和bunzip2
、xz和unxz
三种工具主要应用于单文件的压缩和解压,而且用法和参数几乎相同。
- zip和7zip的压缩格式,平台兼容性最好(尤其是zip格式)。Windows、macOS和Linux都支持。