rar

出自 ArchWiki

WinRAR 是一个压缩文件管理器。它可以备份您的数据并减小电子邮件附件的大小,打开和解压缩从互联网下载的 RAR、ZIP 和其他文件,创建 RAR 和 ZIP 文件格式的新压缩包。提供试用版,您可以在购买前试用 WinRAR。

主要特性

  • 可以向压缩包添加可变数量的冗余(“恢复记录”或“恢复卷”,两者都在下面演示),使其更耐损坏。即使压缩包的部分损坏,如果存在足够大的恢复记录,也可能完全恢复存储的数据。Tar 本身不具备此功能。
  • RAR 能够高效地处理分卷压缩包。对多分卷文件的内置支持使解压缩程序只需提示用户输入下一个 .partXXX RAR 文件,而无需手动复制然后重新连接这些片段,或者从单个片段中提取文件而无需所有片段。RAR 不支持磁带,因为它在其文件上使用查找和重命名操作。
  • RAR 压缩包可以是固实格式,其中所有压缩文件都被视为单个数据块。大多数当前使用的压缩格式(旧的 ZIP 除外)都允许固实结构。
  • 强大的加密功能。旧版本的文件格式使用专有算法;新版本使用 AES 加密算法,这是一种被美国政府采纳为加密标准的块密码。恢复加密文件的唯一已知方法是通过字典或暴力破解攻击。在新版本中,密码保护可以选择性地保护文件名,以便在没有正确密码的情况下不会显示压缩包中包含的文件名。

安装

安装 rarAUR 软件包以同时获得 RAR 和 UnRAR,安装 unrar 仅获得 UnRAR,或者安装 unrar-free 以获得 FOSS 实现的 unrar。

配置文件

Linux 版 RAR 从文件 ~/.rarrc(即在用户的主目录中)读取配置信息,或者如果您希望为所有用户定义全局选项集,则从 /etc 目录读取。

该文件的语法很简单,就是以下字符串

switches=any_RAR_switches_separated_by_spaces

例如

switches=-m5 -rr5p -ol -s -md64 -msmp3;mp4;avi;mkv;zip;7z;rar;tar;gz;bzip2;zst;jpg;jpeg;gif

有关 rar 开关的完整列表和说明,请参阅 rar(1)

RAR 压缩示例

通用语法

$ rar command -switch 1 -switch N archive files.rar @listfiles...

有关命令和开关的完整列表,请参阅本文的最后一节或直接运行 rar

递归压缩整个目录结构

  • 任务:使用 10% 的恢复记录将 /home/darkhorse 备份到 /media/data/darkhorse-backup.rar
$ rar a -r -rr10p /media/data/darkhorse-backup.rar /home/darkhorse
  • 说明
开关 动作
a adds files to archives.
-r recurse subdirectories (includes all dirs/files under the parent directory).
-rr10p adds recovery records to the archive. This way up to 10% of the compressed archive can become corrupt or unusable, and it will be able to recover the data through parity.

混合模式压缩包

您还可以使用混合模式压缩包,这意味着您指定的文件类型不会被压缩 - 它们只是被存储。

  • 任务:将 /home/darkhorse 备份到 /media/data/darkhorse-backup.rar
$ rar a -r -rr10p -s -m5 -msjpg;mp3;tar /media/data/darkhorse-backup.rar /home/darkhorse
  • 说明
开关 动作
a adds files to archives.
-r recurse subdirectories (includes all dirs/files under the parent directory).
-rr10p adds recovery records to the archive. This way up to 10% of the compressed archive can become corrupt or unusable, and it will be able to recover the data through parity.
-m5 使用最高级别的压缩(m0 = 存储 ... m3 = 默认 ... m5 = 最大级别的压缩)。
-msjpg;mp3;tar 忽略压缩选项并存储所有 .jpg、.mp3 和 .tar 文件。

使用列表递归压缩多个目录结构

  • 任务:将 /home/darkhorse/home/palomino/home/seabiscuit 备份到 /media/data/homes-backup.rar

首先创建一个列表(简单的文本文件),其中包含各种目标。在本例中,列表将是三行。在本例中,我将其命名为 'home-list',但您可以随意命名。

/home/darkhorse
/home/palomino
/home/seabiscuit
$ rar a -r -rr10p -s /media/data/homes-backup.rar @/path/to/home-list

UnRAR 示例

通用语法

$ unrar command -switch 1 -switch N archive files... @listfiles... path_to_extract\

有关命令和开关的完整列表,只需运行

$ unrar h

要解压到新文件夹

$ unrar x /media/data/homes-backup.rar homes-backup/

对于多分卷 rar 文件,运行

$ unrar x homes-backup.part1.rar homes-backup/