1. 前言
Linux上是可以支持解压rar压缩文件的,只是一般的服务器默认情况下没有安装相关工具。需要额外安装。
Linux安装RAR解压工具方法如下:
CentOS系统安装方法
[root@zcwyou ~]# yum -y install unar
看到以下输出证明安装成功:
Installed:
unar.x86_64 0:1.10.1-1.el7
Dependency Installed:
gnustep-base-libs.x86_64 0:1.24.9-1.el7 gnutls.x86_64 0:3.3.26-9.el7 libicu.x86_64 0:50.1.2-15.el7 libobjc.x86_64 0:4.8.5-28.el7_5.1 libxslt.x86_64 0:1.1.28-5.el7
nettle.x86_64 0:2.7.1-8.el7 trousers.x86_64 0:0.3.14-2.el7
Complete!
Linux安装RAR解压工具
Ubuntu系统系统安装方法
[ocr@zcwyou ~]# sudo apt-get -y install unar
2. unar选项
[root@zcwyou ~]# unar -h
unar v1.10.1 (Jun 9 2016), a tool for extracting the contents of archive files.
Usage: unar [options] archive [files …]
Available options:
-output-directory (-o) 指定解压后存放的位置,默认为当前目录,如果设置设置-,即不创建文件,而是采用标准输出。
-force-overwrite (-f) 解压时强制覆盖已经存在的文件,默认情况下会询问用户。
-force-rename (-r) 解压时,如果目标文件已经存在,则重命名新解压的文件。
-force-skip (-s) 解压时,如果目标文件已经存在,则直接跳过该文件,不覆盖。
-force-directory (-d) 解压时,总是创建一个新目录存放解压内容。默认设置是如果超过一层文件或者目录才会创建。
-no-directory (-D) 解压时,不创建一个新目录存放解压内容。而是直接解压。
-password (-p) 指定解压密码
-encoding (-e) 指定解压文件名的编码,如果不指定,程序将自动检测。使用"help" 或者 "list" 参数获取支持的编码.
-password-encoding (-E) 指定密码的编码,如果不指定,程序将自动检测。
-indexes (-i) 指定需要解压的文件或者目录。
-no-recursion (-nr) 不解压其他压缩文件. 例如,当解压一个 .tar.gz 文件,只解压 .gz文件而不是它的内容。
-copy-time (-t) 解压时保留文件的时间属性。
-quiet (-q) 静默模式
-version (-v) 查询该软件版本.
-help (-h) 显示帮助信息.
3. rar文件解压实例
查看当前文件:
[root@zcwyou rar]# ll
total 56
-rw-r--r--. 1 root root 54364 Nov 30 12:00 test.rar
发现有一个rar压缩文件test.rar
解压它
[root@zcwyou rar]# unar test.rar
test.rar: RAR 5
abc.pcap (666 B)… OK.
aaa.pdf (60957 B)… OK.
Successfully extracted to "test".
Linux使用unar解压RAR压缩包
检查:
[root@zcwyou rar]# ll
total 56
drwxr-xr-x. 2 root root 37 Nov 30 15:14 test
-rw-r--r--. 1 root root 54364 Nov 30 12:00 test.rar
发现多了一个目录test
查看目录test里面的内容
[root@zcwyou rar]# ll test
total 64
-rw-r--r--. 1 root root 60957 Aug 3 15:32 aaa.pdf
-rw-r--r--. 1 root root 666 Aug 3 15:32 abc.pcap
可以看到,文件已经解压出来了。
试试再解压一次:
[root@zcwyou rar]# unar test.rar
test.rar: RAR 5
"test" already exists.
(r)ename to "test-1", (R)ename all, (o)verwrite, (O)verwrite all, (s)kip, (S)kip all, (q)uit?
提示文件已经存在:
输入r重命名解压文件
输入R重命名所有解压文件
输入o表示覆盖当前文件
输入O表示覆盖所有文件
输入s表示跳过当前文件
输入S表示跳过所有文件。
输入q表示退出本程序。
4. 文件名乱码的处理
如果解压后发现文件名乱码,试试以下命令:
[root@zcwyou rar]# unar -e UTF-8 test.rar
即文件名使用utf-8编码,使用命令查询支持的编码格式unar -e list。
如果还是乱码,试试使用gb18030
[root@zcwyou rar]# unar -e gb18030 test.rar
即文件名使用gb18030编码
Linux解压时乱码的解决办法
5. 解压加密rar文件
假设有一个加密的压缩文件test2.rar,解密的密码为linux.zcwyou.com
[root@zcwyou rar]# unar -password linux.zcwyou.com test2.rar
test2.rar: RAR 5
apply.pdf (53980 B)… OK.
trans.pdf (54299 B)… OK.
Successfully extracted to "test2".
验证:
假设解压出来的目录名为test2
[root@zcwyou rar]# ll test2
total 112
-rw-r--r--. 1 root root 53980 Sep 25 13:44 apply.pdf
-rw-r--r--. 1 root root 54299 Sep 25 13:44 trans.pdf
表明解压成功。
linuxrar包命令rar