linux中默认的tar命令用于解压压缩文件,但是tar命令不支持rar文件的解压和压缩,需要安装rar解压工具,实现rar命令解压rar压缩包。
1.下载rarlab软件
官网下载页面:https://www.rarlab.com/download.htm
rar工具软件下载地址(RAR 5.50 for Linux x64):https://www.rarlab.com/rar/rarlinux-x64-5.5.0.tar.gz
bash
- wget -c https://www.rarlab.com/rar/rarlinux-x64-5.5.0.tar.gz
2.解压和安装rar工具
bash
- tar -xzvf rarlinux-x64-5.5.0.tar.gz
- #加压后生产rar目录
- cd rar
- [root@localhost rar]# ls
- acknow.txt default.sfx license.txt makefile order.htm rar rarfiles.lst rar.txt readme.txt unrar whatsnew.txt
- [root@localhost rar]# make && make install
- mkdir -p /usr/local/bin
- mkdir -p /usr/local/lib
- cp rar unrar /usr/local/bin
- cp rarfiles.lst /etc
- cp default.sfx /usr/local/lib
- mkdir -p /usr/local/bin
- mkdir -p /usr/local/lib
- cp rar unrar /usr/local/bin
- cp rarfiles.lst /etc
- cp default.sfx /usr/local/lib
3.使用 rar压缩 unrar解压文件
bash
- #压缩
- [root@localhost rar]# rar a all *
- RAR 5.50 Copyright (c) 1993-2017 Alexander Roshal 11 Aug 2017
- Trial version Type 'rar -?' for help
- Evaluation copy. Please register.
- Creating archive all.rar
- Adding acknow.txt OK
- Adding default.sfx OK
- Adding license.txt OK
- Adding makefile OK
- Adding order.htm OK
- Adding rar OK
- Adding rarfiles.lst OK
- Adding rar.txt OK
- Adding readme.txt OK
- Adding unrar OK
- Adding whatsnew.txt OK
- Done
- [root@localhost rar]# ls
- acknow.txt default.sfx makefile rar rar.txt unrar
- all.rar license.txt order.htm rarfiles.lst readme.txt whatsnew.txt
- #解压
- unrar e 文件名
- [root@localhost rar]# unrar e all.rar
- UNRAR 5.50 freeware Copyright (c) 1993-2017 Alexander Roshal
- Extracting from all.rar
- Extracting acknow.txt OK
- Extracting default.sfx OK
- Extracting license.txt OK
- Extracting makefile OK
- Extracting order.htm OK
- Extracting rar OK
- Extracting rarfiles.lst OK
- Extracting rar.txt OK
- Extracting readme.txt OK
- Extracting unrar OK
- Extracting whatsnew.txt OK
- All OK
压缩
a为压缩
1、把F盘game下的两个文件到E盘test目录下,压缩为a.rar文件:
rar a e:\test\a.rar f:\game\GETUP.WAV f:\game\Game.dat
2、加密压缩F盘te目录下的所有文件,密码为123:
rar a -ep -p123 f:\1.rar f:\te
3、分卷压缩D盘API目录下的所有文件及文件夹(使用-r参数,递归压缩),每个分卷为20MB,结构为:test.part1.rar、test.part2.rar,test.part3.rar等:
rar a -m0 -r -v20m c:\test.rar d:\API
4、给压缩文件添加注释,comment.txt为注释文件:
① rar.exe c 1.rar<comment.txt② rar.exe c -zcomment.txt<1.rar
5、加密压缩文件名:额。。。这个我没找到相关参数,待补充
解压
e为解压到当前目录。x表示绝对路径解压
1、把E盘中test_src.rar解压到F盘的te目录下
rar x -ep2 E:\test_src.rar F:\te
2、把密码为123的a.rar解压到F盘的test目录下
rar e -p123 a.rar f:\test
可以用unrar命令解压rar后缀的文件
unrar e test.rar 解压文件到当前目录
x 带路径解压文档中内容到当前目录,这样解压的话,.rar文件就会保持原来的目录结构
unrar x test.rar /path/to/extract
unrar l test.rar 查看rar中的文件
unrar v test.rar 更详细
unrar t test.rar 测试是否可以成功解压
补充:
Linux下rar命令详解
用法: rar <命令> -<选项1> ….-<选项N> < 操作文档> <文件…> <@文件列表…> <解压路径>
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 | 用绝对路径解压文件 |
示例:
1、rar a file file.ext
如果file.rar不存在将创建file.rar文件;如果file.rar压缩包中已有file.ext,将更新压缩包中的file.ext;还可用 d:\*.ext代替file.ext将d盘下所有ext文件(不包括自文件夹)添加到压缩包中。
2、rar a -r -v2000 -s -sfx -rr file
从当前文件夹和子文件夹压缩全部文件成为 2000000 字节大小、固实的、分卷自解压文件 file.part1.exe,file.part2.rar,file.part3.rar 等,并在每一个分卷中添加恢复记录;将命令a换成命令m可将文件压缩后删除
3、rar x Fonts *.ttf
会从压缩文件解压 *.ttf 字体文件到当前文件夹,但下面命令:
rar x Fonts *.ttf NewFonts\
会从压缩文件解压 *.ttf 字体文件到文件夹 NewFont
4、rar a -pZaBaToAd -r secret games\*.*
使用密码 ZaBaToAd 来将文件夹“games”的内容添加到压缩文件“secret”
5、rar a -r a.rar a/
递归的将a/下所有东西压缩到a.rar
rar常用命令主要有
a 添加文件到操作文档
例:rar a test.rar file1.txt 若test.rar文件不存在,则打包file1.txt文件成test.rar
例:rar a test.rar file2.txt 若test.rar文件已经存在,则添加file2.txt文件到test.rar中
(这样test.rar中就有两个文件了)
注,如果操作文档中已有某文件的一份拷贝,则a命令更新该文件,对目录也可以进行操作
例:rar a test.rar dir1
c 对操作文档添加说明注释
rar c test.rar
(会出现Reading comment from stdin字样,然后输入一行或多行注释,以ctrl+d结束)
cf 添加文件注释,类似上面的c,不过这个是对压缩文档中每个文件进行注释
cw 将文档注释写入文件
例:rar cw test.rar comment.txt
d 从文档中删除文件
例:rar d test.rar file1.txt
e 将文件解压到当前目录
例:rar e test.rar
注:用e解压的话,不仅原来的file1.txt和file2.txt被解压到当前目录,就连dir1里面的所有文件
也被解压到当前目录下,不能保持压缩前的目录结构,如果想保持压缩前的目录结构,用x解压
k 锁定文档
例:rar k test.rar 锁定文档后,该文档就无法进行任何更新操作了
r 修复文档
例:rar r test.rar
当rar文件有问题时,可以尝试用该命令进行修复(鬼知道有多少用)
s 转换文档成自解压文档
例:rar s test.rar
会生成一个test.sfx的可执行文档,运行它的效果就相当于rar x test.rar,
适合于向没有rar的用户传输文件
t 检测文档
例:rar t test.rar
检测test.rar的完整性,一般压缩完大型文件准备传输前最好用这个命令来确保文件的正确性
x 带路径解压文档中内容到当前目录
例:rar x test.rar
这样解压的话,dir1就会保持原来的目录结构
以上就是rar的常用命令,一个rar操作只能有一个命令,而选项却可以有多个。
------------------------------------------------------------------------
rar选项有很多,在此无法一一说明,只示范经常使用的几个
cl 将文件名转换为小写
cu 将文件名转换为大写
例:rar a -cl test.rar FILe.txt
FILe.txt在添加进test.rar之后,变为file.txt
df 文档操作后删除源文件
例:rar a -df test.rar file1.txt file2.txt dir1
将file1.txt,file2.txt,dir1压缩到test.rar中之后,删除源文件
ed 不添加空目录
例:rar a -ed test.rar dir1
添加dir1到test.rar中时,不对空目录进行操作
rar e -ed test.rar
解压test.rar时,不生成空目录
k 锁定文件
例:rar a -k test.rar file1.txt
等价于rar a test.rar file1.txt
rar k test.rar
m<0..5> 设定压缩比等级(0-存储,3-默认,5-最大)
例:rar a -m0 test.rar dir1 dir2
将dir1,dir2打包存储到test.rar,不进行实质上的压缩(速度奇快,适合于对无甚可压的文件进行操作
比如avi,jpg等)
rar a -m5 test.rar *.txt *.bmp
将当前目录下的txt文件和bmp文件打包压缩到test.rar中,使用最大压缩比(最慢)
ms[ext;ext] 特定文件采用非压缩方式
例:rar a -m5 -ms avi;jpg;jpeg test.rar /home
将home目录下所有目录和文件归档到test.rar,采用最大压缩,但avi,jpg,jpeg文件不进行压缩
(只是打包进test.rar,因为这些文件即使用最大压缩也压不了多少,不如直接打包节省时间)
o+ 覆盖已有文件
o- 不覆盖已有文件
例:rar x -o- test.rar
解压test.rar文件,但是如果碰到以存在的文件则不覆盖
ol 将符号链接以链接文件保存,而不是普通文件
ow 保存或者恢复文件所有者的信息(username,group)
这两个是*nix系统特有的命令,很容易理解吧
------------------------------------------------------------------------
p[password] 设定密码
例:rar a test.rar *.txt -p prettygirl
压缩文件设定密码为prettygirl,解压时无密码无法进行操作
如果觉得明码密码太过暴露,可以使用
rar a test.rar *.txt -p
则rar程序会询问你要使用什么密码,不回显
s- 不使用固实压缩
注,固实压缩就是压缩后文档内容不可变更的压缩方式,这和lock不一样。因为使用普通压缩
要照顾以后的插入删除个别文件的需要,就要留下很多操作余地。而固实压缩则不可 以对
其内容进行任何更新,所以压缩比是最大的。
sfx[name] 创建自解压文件,这和先用a进行压缩,再用s转换效果是一样的。
t 压缩完毕后进行完整性检验
例:rar a test.rar /home -t
压缩完毕后进行检验,如果有问题则报错
从各个地方搜集过来的资料希望可以帮助大家一起进步!!!