Skip to content

rar 和 unrar 命令:文件压缩和解压缩工具

1. 简介

RAR(Roshal Archive)是一种流行的文件压缩和归档格式。rar 命令用于创建和管理 RAR 格式的压缩文件,而 unrar 命令用于解压缩 RAR 文件。这两个命令提供了强大的文件压缩、加密和归档功能。

2. 基本语法

Rar 命令

rar <command> [-<switch 1> -<switch N>] <archive> <files...> [<@listfiles...>] [<path_to_extract\>]

Unrar 命令

unrar <command> [-<switch 1> -<switch N>] <archive> [<files...>] [<@listfiles...>] [<path_to_extract\>]

3. 常用选项详解

Rar 命令常用选项

  • a: 添加文件到压缩包
  • u: 更新文件到压缩包
  • d: 从压缩包中删除文件
  • l: 列出压缩包内容
  • -p<pwd>: 设置密码
  • -v<size>[k|b|f]: 创建多卷压缩文件

Unrar 命令常用选项

  • e: 解压文件到当前目录
  • x: 解压文件并保持目录结构
  • -p<pwd>: 指定密码
  • t: 测试压缩文件完整性

4. 基础用法示例

创建 RAR 压缩包

bash
rar a archive.rar file1.txt file2.txt

解压 RAR 文件

bash
unrar x archive.rar

列出 RAR 文件内容

bash
rar l archive.rar

5. 高级用法和技巧

创建加密的 RAR 文件

bash
rar a -p<password> secure_archive.rar sensitive_file.txt

创建分卷压缩文件

bash
rar a -v50m large_archive.rar large_file.iso

从 RAR 文件中排除特定文件

bash
rar a project.rar project_folder -x*.tmp

6. 实际应用场景

自动备份脚本

bash
#!/bin/bash

# 设置变量
SOURCE_DIR="/path/to/source"
BACKUP_DIR="/path/to/backup"
DATE=$(date +%Y%m%d)
ARCHIVE_NAME="backup_${DATE}.rar"

# 创建压缩文件
rar a -r "${BACKUP_DIR}/${ARCHIVE_NAME}" "${SOURCE_DIR}"

# 删除 7 天前的备份
find "${BACKUP_DIR}" -name "backup_*.rar" -mtime +7 -delete

7. 性能考虑

  • RAR 通常提供较高的压缩率,但压缩速度可能较慢。
  • 对于大文件,考虑使用多线程压缩选项 -mt<N> 来提高性能。
  • 分卷压缩可以更好地管理大型文件,特别是在网络传输时。

8. 安全注意事项

  • 使用强密码保护敏感文件。
  • 定期更新 RAR/UNRAR 软件以获取最新的安全补丁。
  • 解压未知来源的 RAR 文件时要小心,可能包含恶意内容。

9. 与其他工具的集成

与 Find 命令结合使用

bash
find . -name "*.txt" | rar a text_files.rar -

在 Cron 作业中使用

0 1 * * * /path/to/backup_script.sh

10. 故障排除

  • 如果解压失败,检查是否有完整的 RAR 文件和正确的密码。
  • 使用 unrar t archive.rar 来测试压缩文件的完整性。
  • 如果出现 "Unknown method" 错误,可能需要更新到最新版本的 UNRAR。

11. 相关命令

  • zip/unzip: 另一种常用的压缩/解压缩工具
  • tar: 用于创建和操作 tar 归档文件
  • gzip/gunzip: GNU 压缩/解压缩工具
  • 7z: 7-Zip 压缩工具,支持多种格式