常见的压缩包后缀名
.zip
使用 ZIP 压缩算法的压缩包格式。这是跨平台通用的压缩格式。可以使用 zip 命令创建和解压缩 ZIP 压缩包。
.rar
使用 RAR 压缩算法的压缩包格式。这是 Windows 平台上常用的一种压缩格式。可以使用 WinRAR 或 7-Zip 等软件来创建和解压缩 RAR 压缩包。
.tar.gz 或 .tgz
先使用 tar 命令打包,然后再使用 gzip 算法压缩的格式。这是 Linux/Unix 上常用的压缩包格式。可以使用 tar 命令来创建和解压缩。
.tar.bz2
先使用 tar 命令打包,然后再使用 bzip2 算法压缩的格式。这也是 Linux/Unix 上常用的压缩包格式。可以使用 tar 命令来创建和解压缩。
.7z
使用 7-Zip 压缩算法的压缩包格式。这是一种非常高压缩率的压缩格式,但支持的软件相对较少。可以使用 7-Zip 软件来创建和解压缩 .7z 文件。
.gz
单独使用 gzip 算法压缩的文件。这种格式通常只用于压缩单个文件,而不是整个文件夹。可以使用 gzip 命令来创建和解压缩。
.bz2
单独使用 bzip2 算法压缩的文件。这种格式也通常只用于压缩单个文件,而不是整个文件夹。可以使用 bzip2 命令来创建和解压缩。
压缩工具及命令
zip 压缩:
参数:
-r: 递归压缩文件夹及其子文件
-q: 静默模式,不输出任何信息
-o: 设置压缩包的修改时间为最新的文件时间
-9: 设置最高压缩级别
示例:
压缩单个文件: zip file.zip file.txt
压缩整个文件夹: zip -r archive.zip folder/
解压:
列出压缩包内容: unzip -l archive.zip
解压到指定目录: unzip -d /path/to/extract archive.zip
tar 压缩:
参数:
-c: 创建新的归档文件
-x: 从归档文件中提取文件
-f <file>: 指定归档文件名
-z: 使用 gzip 压缩/解压
-j: 使用 bzip2 压缩/解压
示例:
创建 tar.gz 压缩包: tar -czf archive.tar.gz folder/
创建 tar.bz2 压缩包: tar -cjf archive.tar.bz2 folder/
解压:
解压 tar.gz 文件: tar -xzf archive.tar.gz
解压 tar.bz2 文件: tar -xjf archive.tar.bz2
gzip/bzip2 压缩:
此命令只能压缩单个文件不能压缩文件夹
参数:
-d: 解压缩
-k: 保留原始文件
-v: 显示压缩过程
-1 to -9: 设置压缩级别
-c : 指定压缩后的文件包名
示例:
压缩文件: gzip -9 file.txt
解压文件: gzip -d file.txt.gz
压缩文件: bzip2 -9 file.txt
解压文件: bzip2 -d file.txt.gz
-c 选项表示将压缩结果输出到标准输出(stdout)
默认行为:
不加 -c 选项时,gzip 和 bzip2 命令会直接对原始文件进行压缩,并将压缩后的文件替换原始文件。
例如: gzip file.txt 会将 file.txt 压缩为 file.txt.gz,并删除原始的 file.txt。
使用 -c 选项:
加上 -c 选项后,gzip 和 bzip2 命令会将压缩结果输出到标准输出,而不是替换原始文件。
例如: gzip -c file.txt > file.txt.gz 会将 file.txt 压缩的结果输出到 file.txt.gz 文件,而不会修改原始的 file.txt 文件。
rar/7z 压缩:
参数:
a: 添加文件到压缩包
x: 解压缩
-r: 递归压缩子目录
-m{0-5} (rar) / -mx={0-9} (7z): 设置压缩级别
-m0=lzma2 指定使用 LZMA2 压缩算法 (7z最高压缩比算法)
-o{Path}: 指定输出文件夹路径
示例:
压缩文件: rar a -m5 archive.rar file.txt
解压文件: rar x archive.rar
压缩文件: 7z a -mx=9 archive.7z file.txt
解压文件: 7z x archive.7z
xz 压缩
压缩:
-z: 表示压缩操作
-0 到 -9: 指定压缩级别,0 表示最低压缩,9 表示最高压缩
-k: 保留原始文件
-f: 强制覆盖输出文件
-c: 将压缩结果输出到标准输出而不是文件
解压:
unxz: 用于解压 .xz 文件
-k: 保留压缩文件
-f: 强制覆盖输出文件
-c: 将解压结果输出到标准输出
示例 :
压缩: xz -z my_file.txt
解压: unxz my_file.txt.xz
lzma 压缩
压缩:
-z: 表示压缩操作
-0 到 -9: 指定压缩级别
-k: 保留原始文件
-f: 强制覆盖输出文件
-c: 将压缩结果输出到标准输出
解压:
unlzma: 用于解压 .lzma 文件
-k: 保留压缩文件
-f: 强制覆盖输出文件
-c: 将解压结果输出到标准输出
示例:
压缩: lzma -z my_file.txt
解压: unlzma my_file.txt.lzma
总结:
压缩时可以指定 -0 到 -9 的压缩级别,数字越大表示压缩率越高,但耗时也越长
-k 参数用于保留原始文件,不删除原文件
-f 参数用于强制覆盖输出文件
-c 参数用于将结果输出到标准输出,而不是写入文件
MacOS 安装rar、7z压缩工具
macOS 内置了以下命令行压缩/解压工具:
zip/unzip - 用于 .zip 格式
tar - 用于 .tar、.tar.gz、.tar.bz2 等格式
gzip/gunzip - 用于 .gz 格式
bzip2/bunzip2 - 用于 .bz2 格式
安装 rar
在 macOS 上,使用 Homebrew 包管理器来安装 rar 工具。
brew install unar
使用 unrar 命令来解压 rar 文件了。但是如果需要创建 rar 文件,还需要额外安装 rar 软件包:
brew install rar
安装完成后,就可以使用 rar 命令来创建 rar 压缩包了。
安装 7z
使用 Homebrew 安装 7z 工具:
brew install p7zip