Linux 命令之 rar -- 压缩/解压文件

文章目录

一、命令介绍

命令 rar 可以将文件或者目录压缩打包成以 .rar 为后缀名的压缩包,该命令需要安装 rarlinux 才能使用。

二、子命令

命令说明
a添加文件到压缩文件
c添加压缩文件注释
cf添加文件注释
cw写入压缩文件注释到文件
d删除压缩文件中的文件
e解压压缩文件到当前目录,没有保留文件原有的目录结构
f刷新压缩文件中的文件
i[参数]=<串>在压缩文件中查找字符串
k锁定压缩文件
l[t,b]列出压缩文件[技术信息,简洁]
m[f]移动到压缩文件,压缩后原文件被删除,所以相当于移动文件到压缩包的意思。
p打印文件到标准输出设备
r修复压缩文件
rc重建丢失的卷
rn重命名压缩文件
rr[N]添加数据恢复记录
rv[N]创建恢复卷
s[名字-]转换压缩文件为自解压格式或转换回压缩文件
t测试压缩文件
u更新压缩文件中的文件
v[t,b]详细列出压缩文件[技术信息,简洁]
x用绝对路径解压文件,解压后保持文件原来的目录结构

三、常用选项

命令说明
-ac压缩或解压后清除文件属性
-ad添加压缩文件名到目标路径
-ag[格式]使用当前日期生成压缩文件名
-ao添加具有压缩属性的文件
-ap<格式>添加路径到压缩文件中
-as同步压缩文件内容
-av添加用户身份校验(仅注册版本可用)
-av-禁用用户身份校验
-c-禁用注释显示
-cfg-禁用读取配置
-cl名称转换为小写
-cu名称转换为大写
-df压缩后删除原文件
-dh打开共享文件
-ds对固实压缩文件禁用名称排序
-e<属性>设置文件排除属性
-ed不添加空目录
-en不添加”压缩文件结束”标志
-ep从名称中排除路径
-ep1从名称中排除基本目录
-ep2展开为完整路径
-f刷新文件
-hp[密码]同时加密文件数据和文件头
-idp禁用百分比显示
-ieml[属性]用E-mail发送压缩文件
-ierr发送所有消息到标准错误设备
-ilog[名称]把错误写到日志文件(只有注册版本可用)
-inul禁用所有消息
-ioff完成一个操作后关闭PC电源
-isnd启用声音
-k锁定压缩文件
-kb保留损坏的已解压文件
-m<0…5>设置压缩级别(0-存储…3-默认…5-最大)
-mc<参数>设置高级压缩参数
-md<大小>以KB为单位的字典大小(64,128,256,512,1024,2048,4096 or A-G)
-ms[ext;ext]指定存储的文件类型
-o+覆盖已存在文件
-o-不覆盖已存在文件
-os保存NTFS流
-ow保存或恢复文件所有者和组
-p[密码]设置密码
-p-不询问密码
-r递归子目录
-r0仅递归通配符名称的子目录
-ri<P>[:<S>]设置优先级(0-默认,1-最小…15-最大)和以毫秒为单位的休眠时间
-rr[N]添加数据恢复记录
-rv[N]创建恢复卷
-s[<N>,v[-],e]创建固实压缩文件
-s-禁用固实压缩文件,不使用固实压缩。固实压缩就是压缩后生成的压缩包的内容不可变更的压缩方式,这和 lock 不一样。使用普通压缩可以满足以后的插入或者删除个别文件的需要,而固实压缩则不可以对其内容进行任何更新,所以压缩比是最大的
-sfx[名称]创建自解压压缩文件,这和先用a进行压缩,再用s转换效果是一样的。
-t压缩后测试文件
-ta仅对 time日期后文件进行操作,日期格式YYYYMMDDHHMMSS,此时间应该是 mtime
-tb仅对 time日期前文件进行操作,日期格式YYYYMMDDHHMMSS
-tk保留原始压缩文件时间
-tl设置压缩文件时间为最新文件时间
-tn<时间>添加<时间>以后的文件
-to<时间>添加<时间>以前的文件
-ts<m,c,a>[N]保存或恢复文件时间(修改,创建,访问)
-u更新文件
-v自动检测创建卷的大小或者列出所有的卷
-v<size>[k,b]创建卷大小,每卷大小由后面的size指定
-vd创建容量前清除磁盘内容
-ver[n]文件版本控制
-vn使用旧风格的卷命名方案
-vp每卷之前暂停
-w<路径>指定工作目录
-x<文件>排除指定的文件
-x@从标准输入设备读取要排除的文件名
-x@<列表文件>排除指定列表文件中的文件,将所有要排除的文件写在列表文件中,会根据列表文件中的指令排除有关的文件
-y假设对全部询问都回答是,所有操作均回答yes,例如,有时解压时每碰到相同文件就问是否覆盖(Y/N),加上-y就可以默认选择Yes,不再询问
-z<文件>从文件读取压缩文件注释
-ol将符号链接以链接文件保存,而不是普通文件
-ow保存或者恢复文件所有者的信息(username,group)

四、命令示例

(一)压缩指定文件或者更新压缩包内指定的文件

rar a file file.txt

说明:

  1. 如果file.rar 不存在将创建 file.rar 文件;
  2. 如果已经存在 file.rar 压缩包,且压缩包内已有文件 file.txt,将更新压缩包中的 file.txt。
  3. 如果只输入 rar a file.rar 命令,而没有接被压缩的文件名或目录名的话,会将当前目录下所有的文件和目录压缩进 file.rar 文档中。这点要注意一下。

(二)压缩指定目录下的内容(不含目录本身)

压缩打包当前目录下的子目录 test 下的全部以 .txt 为后缀名的文件:

rar a file.rar ./test/*.txt

(三)创建自解压文件

将当前目录及其子目录下的所有文件压缩成一个 2000000 字节大小、固实的、分卷自解压文件,并在每一个分卷中添加恢复记录:

rar a -r -v2000 -s -sfx -rr file

说明:

  1. 将命令a换成命令m,完成压缩后可将原文件删除
  2. 这个 2000 转换成字节是乘以 1000,不是1024,除非指定了单位 KB,才是乘以1024
  3. 生成的文件名为file.part1.rar,file.part2.rar….(rar 3.20版)

(四)按完整路径解压文件到当前目录下

解压 *.ttf 字体文件到当前目录下:

rar x Fonts *.ttf

疑问:Fonts 干鸟的?

(五)将压缩文件解压到指定目录下

解压 *.ttf 字体文件到目录 NewFont 下:

rar x Fonts *.ttf NewFonts/

(六)创建有密码的压缩包

使用密码 ZaBaToAd 将目录 games 下的所有内容添加到压缩包 secret 中:

rar a -pZaBaToAd -r secret games/*.*

如果觉得明码密码太过暴露,可以使用

rar a -p test.rar *.txt

则 rar 程序会询问你要使用什么密码,不回显。

(七)对压缩档案添加注释

rar c test.rar

说明:
执行以上的命令后,在终端界面最下方会显示 Processing archive test.rar,Reading comment from stdin 字样,并有一个光标在闪烁,从光标闪烁的位置输入注释信息,输入完了按下 Ctrl+D 结束输入

(八)对压缩档案中的每个文件添加注释

rar cf test.rar

为压缩文件中的单个文件添加注释。假如现在要为 abc.rar 档案中的 file1 文件添加注释:

rar ch abc.rar file1

输入上述的命令后,屏幕最下方会显示:

Reading comment for abc.rar : file1 from stdin

从光标闪烁出输入想要为 file1 添加的注释,Ctrl+D 结束输入。

(九)把压缩档案的注释写入到一个文件中

rar cw test.rar comment.txt

说明:如果当前目录下不存在名为 comment.txt 的文件,则会自行创建一个名为 comment.txt 的文件,并将 test.rar 的注释写入到comment.txt 文件中,如果当前目录中已经存在一个名为 comment.txt 的文件,则会提示你是否覆盖已经存在的文件,如果选择 Yes 或者 All,则会清空 comment.txt 中原有的内容,然后将 test.rar 的注释内容写入到 comment.txt 文件中。

(十)锁定压缩档案

使用命令 k 锁定压缩档,锁定后该文档就无法进行任何更新操作了:

rar k test.rar 

(十一)修复压缩包

使用命令 r 可以尝试修复已损坏的压缩档案:

rar r test.rar

当rar文件有问题时,可以尝试用该命令进行修复。

(十二)转换压缩档案成自解压档案

rar s test.rar

说明:

  1. 执行上述命令会生成一个 test.sfx 的可执行文档,运行 test.sfx 文档的效果就相当于执行 rar x test.rar
  2. 适合于向没有 rar 的用户传输文件

(十三)检测压缩包的完整性

rar t test.rar

说明:一般压缩完大型文件准备传输前最好用这个命令来确保文件的正确性

(十四)将文件名转换成小写后再压缩

rar a -cl test.rar FILe.txt

说明:

  1. 执行上述命令,文件 FILe.txt 添加进 test.rar 之后,文件名会变为 file.txt
  2. -cl 将文件名转换为小写
  3. -cu 将文件名转换为大写

(十五)压缩后删除原文件

使用选项 -df,将 file1.txt、file2.txt、dir1 压缩到 test.rar 中之后,会删除原文件:

rar a -df test.rar file1.txt file2.txt dir1

(十六)压缩打包时,不添加空目录(将空目录排除在外)

使用选项 -ed,添加 dir1 到 test.rar 中时,不对空目录进行操作:

rar a -ed test.rar dir1

(十七)解压时不生成空目录

rar e -ed test.rar

(十八)创建被锁定的压缩包

使用选项 -k 可以在创建压缩包后锁定此压缩包:

rar a -k test.rar file1.txt

等价于

rar a test.rar file1.txt
rar k test.rar

(十九)对文件进行打包,不压缩

将 dir1、dir2 打包存储到 test.rar,不进行实质上的压缩(速度奇快,适合于对无甚可压的文件进行操作
比如avi,jpg等):

rar a -m0 test.rar dir1 dir2

说明:选项 -m<等级值> 用来设定压缩比等级,默认是 3,可选 05 的数值,0-存储,3-默认,5-最大。0 表示不压缩,仅打包。

(二十)自定义压缩比对指定的文件进行压缩打包

将当前目录下的 txt 文件和 bmp 文件打包压缩到 test.rar 中,使用最大压缩比(最慢):

rar a -m5 test.rar *.txt *.bmp

(二十一)压缩打包时,针对特定文件采用非压缩方式

将目录 home及其所包含的所有内容归档到 test.rar,采用最大压缩比,但 avi、jpg、jpeg 文件不进行压缩(只是打包进test.rar,因为这些文件即使用最大压缩也压不了多少,不如直接打包节省时间):

rar a -m5 -ms avi;jpg;jpeg test.rar /home

(二十二)解压时不覆盖已有的文件

解压 test.rar 文件,如果碰到已经存在的文件则不覆盖(也就是说压缩包中与硬盘同名的文件不会被提取,直接跳过):

rar x -o- test.rar

说明:

  1. -o+ 覆盖已有文件
  2. -o- 不覆盖已有文件

(二十三)压缩完毕后进行完整性检验

压缩完毕后进行检验,如果有问题则报错:

rar a test.rar /home -t

(二十四)创建分卷压缩包

rar a -v15000k -m0 test xvid-fn.avi

说明:对 xvid-fn.avi 进行打包存储,每卷大小 15000k(这种格式在网上发布dvdrip时很流行),生成的文件名为 test.part1.rar,test.part2.rar….(rar 3.20版)

(二十五)压缩文件,完成压缩后删除原文件

m 命令移动 file1 文件到 abc.rar 档案中,压缩完成后会删除原有的 file1 文件:

rar m abc.rar file1

注意:m 命令只针对文件进行操作

    原文作者:liaowenxiong
    原文地址: https://blog.csdn.net/liaowenxiong/article/details/117459792
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞