`

我使用过的Linux命令之unrar - 解压rar文件

阅读更多

我使用过的Linux命令之unrar - 解压rar文件

本文链接:http://codingstandards.iteye.com/blog/792239    (转载请注明出处)

 

用途说明

  现在常用的压缩文件格式是rar格式,使用频率甚至超过了zip格式,WinRAR可以压缩和解压rar文件。根据Google趋势的统计,winrar与winzip的全球平均访问量是1.00比0.43(点此看趋势记录 ),而中国范围的访问量更是1.00比0.14(点此看趋势记录 )。而Linux一般情况下是不能解压rar文件的,有一种变通的方法,就是先用WinRAR将rar格式的压缩包转换成zip包,然后上传至Linux使用unzip解压。如果安装了rarlinux,就使得在Linux下直接解压rar文件成为可能,要注意的是该软件的某个版本可能并不适用于所有Linux版本。可以到WinRAR官方网站去下载rarlinux,当前版本是3.9.3。本文后面也提供了三个版本的rarlinux,一个是3.0,一个是3.6.0,一个是3.9.3。经过我的测试,3.6.0版本可以用于RHEL3.X版本,但3.9.3不行,只能用于更高版本的Linux,而3.0版本可以用于红帽子7.3。而根据rarlinux安装包中的technote.txt中所说“THE ARCHIVE FORMAT DESCRIBED BELOW IS ONLY VALID FOR VERSIONS SINCE 1.50”,其实只要rarlinux版本高于1.50就可解压绝大部分rar文件。因此,如果要在Linux下使用rar,可以试一下本文后面附上的3.0版。

常用参数

rarlinux的安装很简单,只需要解压就可以了。为了使用起来方便,可以将解压后的目录添加到PATH中,方便使用。

首先将rarlinux-3.0.tar.gz上传到Linux的某个目录。

[root@localhost setup]# ls -l rarlinux-3.0.tar.gz
-rw-r--r--    1 root     root       502784 10月 19 09:45 rarlinux-3.0.tar.gz
[root@localhost setup]# tar -C /opt -zxf rarlinux-3.0.tar.gz

[root@localhost setup]# PATH=/opt/rar:$PATH

使用-?参数可以查看帮助信息,x参数用于解压文件, t参数用于测试是否损坏,l参数用于列出文件。

unrar -?                   <== 获取帮助

unrar x <rar-file>    <== 解压文件

unrar t <rar-file>    <== 测试文件

unrar l <rar-file>     <== 列出文件

下面是完整的使用方式,太复杂了,上面的几种用法基本上就够了。
[root@localhost setup]# unrar -?

UNRAR 3.00 freeware      Copyright (c) 1993-2002 Eugene Roshal

Usage:     unrar <command> -<switch 1> -<switch N> <archive> <files...>
               <@listfiles...> <path_to_extract\>

<Commands>
  e             Extract files to current directory
  l[t]          List archive [technical]
  p             Print file to stdout
  t             Test archive files
  v[t]          Verbosely list archive [technical]
  x             Extract files with full path

<Switches>
  -             Stop switches scanning
  ad            Append archive name to destination path
  ap<path>      Set path inside archive
  av-           Disable authenticity verification check
  c-            Disable comments show
  cfg-          Disable read configuration
  cl            Convert names to lower case
  cu            Convert names to upper case
  ep            Exclude paths from names
  f             Freshen files
  idp           Disable percentage display
  ierr          Send all messages to stderr
  inul          Disable all messages
  kb            Keep broken extracted files
  o+            Overwrite existing files
  o-            Do not overwrite existing files
  ow            Save or restore file owner and group
  p[password]   Set password
  p-            Do not query password
  r             Recurse subdirectories
  ta<date>      Process files modified after <date> in YYYYMMDDHHMMSS format
  tb<date>      Process files modified before <date> in YYYYMMDDHHMMSS format
  tn<time>      Process files newer than <time>
  to<time>      Process files older than <time>
  u             Update files
  v             Create volumes with size autodetection or list all volumes
  ver[n]        File version control
  vp            Pause before each volume
  x<file>       Exclude specified file
  x@            Read file names to exclude from stdin
  x@<list>      Exclude files in specified list file
  y             Assume Yes on all queries
[root@localhost setup]#

使用示例

示例一 使用unrar检查完整性、列出文件和解压文件

假定你已经安装前面所述的安装方式操作过了。首先把一个rar文件上传到某个目录。比如把add2cvs.rar上传到/root/test/目录中。

[root@localhost test]# ls -l
total 1
-rw-r--r--    1 root     root          944 10月 19 11:20 add2cvs.rar
[root@localhost test]# unrar t add2cvs.rar

UNRAR 3.00 freeware      Copyright (c) 1993-2002 Eugene Roshal


Testing archive add2cvs.rar

Testing     add2cvs2.sh                                               OK
Testing     add2cvs.sh                                                OK
Testing     add2cvs0.sh                                               OK
Testing     add2cvs1.sh                                               OK
All OK
[root@localhost test]# unrar l add2cvs.rar

UNRAR 3.00 freeware      Copyright (c) 1993-2002 Eugene Roshal

Archive add2cvs.rar

 Name             Size   Packed Ratio  Date   Time     Attr      CRC   Meth Ver
-------------------------------------------------------------------------------
 add2cvs2.sh       302      192  63% 22-10-10 11:32   .....A   C7EA31AB m3b 2.9
 add2cvs.sh        314      204  64% 22-10-10 11:30   .....A   4F875213 m3b 2.9
 add2cvs0.sh       236      158  66% 22-10-10 11:32   .....A   0441BC49 m3b 2.9
 add2cvs1.sh       281      184  65% 22-10-10 11:32   .....A   13C47824 m3b 2.9
-------------------------------------------------------------------------------
    4             1133      738  65%

[root@localhost test]# unrar x add2cvs.rar

UNRAR 3.00 freeware      Copyright (c) 1993-2002 Eugene Roshal


Extracting from add2cvs.rar

Extracting  add2cvs2.sh                                               OK
Extracting  add2cvs.sh                                                OK
Extracting  add2cvs0.sh                                               OK
Extracting  add2cvs1.sh                                               OK
All OK
[root@localhost test]# ls -l
total 5
-rw-r--r--    1 root     root          236 10月 22  2010 add2cvs0.sh
-rw-r--r--    1 root     root          281 10月 22  2010 add2cvs1.sh
-rw-r--r--    1 root     root          302 10月 22  2010 add2cvs2.sh
-rw-r--r--    1 root     root          944 10月 19 11:20 add2cvs.rar
-rw-r--r--    1 root     root          314 10月 22  2010 add2cvs.sh
[root@localhost test]#

示例二 rarlinux版本3.9.3在RHEL5.5下的安装情况

rarlinux版本3.9.3的rar_static可以用于RHEL 5.5,但rar和unrar缺少相关的so文件,因为libc版本要求高。

[root@rhel55 rar]# lsb_release -a
LSB Version:    :core-3.1-ia32:core-3.1-noarch:graphics-3.1-ia32:graphics-3.1-noarch
Distributor ID: RedHatEnterpriseServer
Description:    Red Hat Enterprise Linux Server release 5.5 (Tikanga)
Release:        5.5
Codename:       Tikanga

[root@rhel55 tools]# ls -l rarlinux.tar.gz
-rw-r--r-- 1 root root 833828 10-23 15:52 rarlinux.tar.gz
[root@rhel55 tools]# tar zxf rarlinux.tar.gz
[root@rhel55 tools]# cd rar
[root@rhel55 rar]# ls
default.sfx  makefile   rar           rar_static  readme.txt    unrar
license.txt  order.htm  rarfiles.lst  rar.txt     technote.txt  whatsnew.txt
[root@rhel55 rar]# ./rar
./rar: /lib/libc.so.6: version `GLIBC_2.7' not found (required by ./rar)
[root@rhel55 rar]# ./unrar
./unrar: /lib/libc.so.6: version `GLIBC_2.7' not found (required by ./unrar)
[root@rhel55 rar]# ./rar_static

RAR 3.93   Copyright (c) 1993-2010 Alexander Roshal   15 Mar 2010
Shareware version         Type RAR -? for help

Usage:     rar <command> -<switch 1> -<switch N> <archive> <files...>
               <@listfiles...> <path_to_extract\>

省略输出
[root@rhel55 rar]#

示例三 rarlinux版本3.9.3在RHEL3.4下的安装情况

rarlinux版本3.9.3在RHEL3.4下出现段错误,根本没法用。

[root@web186 setup]# lsb_release -a
LSB Version:    1.3
Distributor ID: RedHatEnterpriseAS
Description:    Red Hat Enterprise Linux AS release 3 (Taroon Update 4)
Release:        3
Codename:       TaroonUpdate4
[root@web186 setup]# ls rarlinux.tar.gz -l
-rw-r--r--    1 root     root       833828 10月 23 15:59 rarlinux.tar.gz
[root@web186 setup]# tar zxf rarlinux.tar.gz
[root@web186 setup]# cd rar
[root@web186 rar]# ls
default.sfx  makefile   rar           rar_static  readme.txt    unrar
license.txt  order.htm  rarfiles.lst  rar.txt     technote.txt  whatsnew.txt
[root@web186 rar]# ./rar
./rar: /lib/tls/libc.so.6: version `GLIBC_2.4' not found (required by ./rar)
./rar: /lib/tls/libc.so.6: version `GLIBC_2.7' not found (required by ./rar)
./rar: /lib/tls/libc.so.6: version `GLIBC_2.3.4' not found (required by ./rar)
[root@web186 rar]# ./unrar
./unrar: /lib/tls/libc.so.6: version `GLIBC_2.4' not found (required by ./unrar)
./unrar: /lib/tls/libc.so.6: version `GLIBC_2.7' not found (required by ./unrar)
./unrar: /lib/tls/libc.so.6: version `GLIBC_2.3.4' not found (required by ./unrar)
[root@web186 rar]# ./rar_static
FATAL: kernel too old
段错误 (core dumped)
[root@web186 rar]#

博主建议:如果您使用的rarlinux版本报如上的错误信息,请下载本文附件 rarlinux-3.0.tar.gz 尝试一下。

示例四 rarlinux版本3.6.0在RHEL3.4下的安装情况

rarlinux版本3.6.0在RHEL3.4下可以正常使用。

[root@web186 setup]# lsb_release -a
LSB Version:    1.3
Distributor ID: RedHatEnterpriseAS
Description:    Red Hat Enterprise Linux AS release 3 (Taroon Update 4)
Release:        3
Codename:       TaroonUpdate4
[root@web186 setup]# ls rarlinux-3.6.0.tar.gz -l
-rw-r--r--    1 root     root       752997 10月 23 16:04 rarlinux-3.6.0.tar.gz
[root@web186 setup]# tar zxf rarlinux-3.6.0.tar.gz
[root@web186 setup]# cd rar
[root@web186 rar]# ls
default.sfx  license.txt  order.htm  rarfiles.lst  rar.txt     technote.txt  whatsnew.txt
file_id.diz  Makefile     rar        rar_static    readme.txt  unrar
[root@web186 rar]# ./rar

RAR 3.60   Copyright (c) 1993-2006 Alexander Roshal   5 Aug 2006
Shareware version         Type RAR -? for help

省略输出
[root@web186 rar]#
[root@web186 rar]# ./unrar

UNRAR 3.60 freeware      Copyright (c) 1993-2006 Alexander Roshal

省略输出
[root@web186 rar]#

 

示例五 rarlinux版本3.6.0在RH7.3下的安装情况

rarlinux版本3.6.0的rar_static可以使用,但rar和unrar因为libstdc++版本要求高不能使用。

[root@localhost setup]# cat /etc/redhat-release
Red Hat Linux release 7.3 (Valhalla)

[root@localhost setup]# ls -l rarlinux-3.6.0.tar.gz
-rw-r--r--    1 root     root       752997 10月 19 08:32 rarlinux-3.6.0.tar.gz
[root@localhost setup]# tar zxf rarlinux-3.6.0.tar.gz
[root@localhost setup]# cd rar       
[root@localhost rar]# ls
default.sfx  license.txt  order.htm  rarfiles.lst  rar.txt     technote.txt  whatsnew.txt
file_id.diz  Makefile     rar        rar_static    readme.txt  unrar
[root@localhost rar]# ./rar
./rar: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
[root@localhost rar]# ./unrar
./unrar: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
[root@localhost rar]# ./rar_static

RAR 3.60   Copyright (c) 1993-2006 Alexander Roshal   5 Aug 2006
Shareware version         Type RAR -? for help

Usage:     rar <command> -<switch 1> -<switch N> <archive> <files...>
               <@listfiles...> <path_to_extract\>

省略输出
[root@localhost rar]#

 

示例六 rarlinux版本3.0在RH7.3下的安装情况

rarlinux版本3.0可以用于红帽子7.3。

[root@localhost setup]# ls -l rarlinux-3.0.tar.gz
-rw-r--r--    1 root     root       502784 10月 19 09:45 rarlinux-3.0.tar.gz
[root@localhost setup]# tar zxf rarlinux-3.0.tar.gz
[root@localhost setup]# cd rar
[root@localhost rar]# ls
default.sfx  license.txt  order.txt  rar_faq.txt   rar_site.txt  readme.txt    rereg.txt     unrar
file_id.diz  Makefile     rar        rarfiles.lst  rar.txt       register.txt  technote.txt  whatsnew.txt
[root@localhost rar]# ./rar

RAR 3.00    Copyright (c) 1993-2002 Eugene Roshal    14 May 2002
Shareware version         Type RAR -? for help

省略输出
[root@localhost rar]#

 

补充记录:怎样安装rarlinux?(2011.10.31)

将安装文件压缩包rarlinux-x.y.tar.gz解压之后,进入rar目录,执行make命令。执行文件将会安装到 /usr/local/bin 下。

 

[root@liunx0918 tmp]# cd rar
[root@liunx0918 rar]# ls
default.sfx  license.txt  order.txt  rar_faq.txt   rar_site.txt  readme.txt    rereg.txt     unrar
file_id.diz  Makefile     rar        rarfiles.lst  rar.txt       register.txt  technote.txt  whatsnew.txt
[root@liunx0918 rar]# cat Makefile
###################################################################
# Installing RAR executables, configuration files and SFX modules #
# to appropriate directories                                      #
###################################################################

PREFIX=/usr/local

install:
        cp rar unrar $(PREFIX)/bin
        cp rarfiles.lst /etc
        cp default.sfx $(PREFIX)/lib
[root@liunx0918 rar]# make
cp rar unrar /usr/local/bin
cp rarfiles.lst /etc
cp default.sfx /usr/local/lib
[root@liunx0918 rar]#

 

问题思考

1. 怎样使用unrar将文件解压到指定目录?

相关资料

【1】WinRAR官方站点 Welcome to RARLAB, home of WinRAR and RAR archivers

【2】愚人码头 Linux系统中rar、unrar命令安装和使用详解

【3】尛样儿 Linux下使用unrar解压RAR包

 

返回 我使用过的Linux命令系列总目录

 

1
0
分享到:
评论

相关推荐

    pandas-1.3.5-cp37-cp37m-macosx_10_9_x86_64.zip

    pandas whl安装包,对应各个python版本和系统(具体看资源名字),找准自己对应的下载即可! 下载后解压出来是已.whl为后缀的安装包,进入终端,直接pip install pandas-xxx.whl即可,非常方便。 再也不用担心pip联网下载网络超时,各种安装不成功的问题。

    基于java的大学生兼职信息系统答辩PPT.pptx

    基于java的大学生兼职信息系统答辩PPT.pptx

    基于java的乐校园二手书交易管理系统答辩PPT.pptx

    基于java的乐校园二手书交易管理系统答辩PPT.pptx

    tornado-6.4-cp38-abi3-musllinux_1_1_i686.whl

    tornado-6.4-cp38-abi3-musllinux_1_1_i686.whl

    Android Studio Ladybug(android-studio-2024.2.1.10-mac.zip.002)

    Android Studio Ladybug 2024.2.1(android-studio-2024.2.1.10-mac.dmg)适用于macOS Intel系统,文件使用360压缩软件分割成两个压缩包,必须一起下载使用: part1: https://download.csdn.net/download/weixin_43800734/89954174 part2: https://download.csdn.net/download/weixin_43800734/89954175

    基于ssm框架+mysql+jsp实现的监考安排与查询系统

    有学生和教师两种角色 登录和注册模块 考场信息模块 考试信息模块 点我收藏 功能 监考安排模块 考场类型模块 系统公告模块 个人中心模块: 1、修改个人信息,可以上传图片 2、我的收藏列表 账号管理模块 服务模块 eclipse或者idea 均可以运行 jdk1.8 apache-maven-3.6 mysql5.7及以上 tomcat 8.0及以上版本

    tornado-6.1b2-cp38-cp38-macosx_10_9_x86_64.whl

    tornado-6.1b2-cp38-cp38-macosx_10_9_x86_64.whl

    Android Studio Ladybug(android-studio-2024.2.1.10-mac.zip.001)

    Android Studio Ladybug 2024.2.1(android-studio-2024.2.1.10-mac.dmg)适用于macOS Intel系统,文件使用360压缩软件分割成两个压缩包,必须一起下载使用: part1: https://download.csdn.net/download/weixin_43800734/89954174 part2: https://download.csdn.net/download/weixin_43800734/89954175

    基于MATLAB车牌识别代码实现代码【含界面GUI】.zip

    matlab

    基于java的毕业生就业信息管理系统答辩PPT.pptx

    基于java的毕业生就业信息管理系统答辩PPT.pptx

    基于Web的毕业设计选题系统的设计与实现(springboot+vue+mysql+说明文档).zip

    随着高等教育的普及和毕业设计的日益重要,为了方便教师、学生和管理员进行毕业设计的选题和管理,我们开发了这款基于Web的毕业设计选题系统。 该系统主要包括教师管理、院系管理、学生管理等多个模块。在教师管理模块中,管理员可以新增、删除教师信息,并查看教师的详细资料,方便进行教师资源的分配和管理。院系管理模块则允许管理员对各个院系的信息进行管理和维护,确保信息的准确性和完整性。 学生管理模块是系统的核心之一,它提供了学生选题、任务书管理、开题报告管理、开题成绩管理等功能。学生可以在此模块中进行毕业设计的选题,并上传任务书和开题报告,管理员和教师则可以对学生的报告进行审阅和评分。 此外,系统还具备课题分类管理和课题信息管理功能,方便对毕业设计课题进行分类和归档,提高管理效率。在线留言功能则为学生、教师和管理员提供了一个交流互动的平台,可以就毕业设计相关问题进行讨论和解答。 整个系统设计简洁明了,操作便捷,大大提高了毕业设计的选题和管理效率,为高等教育的发展做出了积极贡献。

    机器学习(预测模型):2000年至2015年期间193个国家的预期寿命和相关健康因素的数据

    这个数据集来自世界卫生组织(WHO),包含了2000年至2015年期间193个国家的预期寿命和相关健康因素的数据。它提供了一个全面的视角,用于分析影响全球人口预期寿命的多种因素。数据集涵盖了从婴儿死亡率、GDP、BMI到免疫接种覆盖率等多个维度,为研究者提供了丰富的信息来探索和预测预期寿命。 该数据集的特点在于其跨国家的比较性,使得研究者能够识别出不同国家之间预期寿命的差异,并分析这些差异背后的原因。数据集包含22个特征列和2938行数据,涉及的变量被分为几个大类:免疫相关因素、死亡因素、经济因素和社会因素。这些数据不仅有助于了解全球健康趋势,还可以辅助制定公共卫生政策和社会福利计划。 数据集的处理包括对缺失值的处理、数据类型转换以及去重等步骤,以确保数据的准确性和可靠性。研究者可以使用这个数据集来探索如教育、健康习惯、生活方式等因素如何影响人们的寿命,以及不同国家的经济发展水平如何与预期寿命相关联。此外,数据集还可以用于预测模型的构建,通过回归分析等统计方法来预测预期寿命。 总的来说,这个数据集是研究全球健康和预期寿命变化的宝贵资源,它不仅提供了历史数据,还为未来的研究和政策制

    基于微信小程序的高校毕业论文管理系统小程序答辩PPT.pptx

    基于微信小程序的高校毕业论文管理系统小程序答辩PPT.pptx

    基于java的超市 Pos 收银管理系统答辩PPT.pptx

    基于java的超市 Pos 收银管理系统答辩PPT.pptx

    基于java的网上报名系统答辩PPT.pptx

    基于java的网上报名系统答辩PPT.pptx

    基于java的网上书城答辩PPT.pptx

    基于java的网上书城答辩PPT.pptx

    婚恋网站 SSM毕业设计 附带论文.zip

    婚恋网站 SSM毕业设计 附带论文 启动教程:https://www.bilibili.com/video/BV1GK1iYyE2B

    基于java的戒烟网站答辩PPT.pptx

    基于java的戒烟网站答辩PPT.pptx

    基于微信小程序的“健康早知道”微信小程序答辩PPT.pptx

    基于微信小程序的“健康早知道”微信小程序答辩PPT.pptx

    机器学习(预测模型):自行车共享使用情况的数据集

    Capital Bikeshare 数据集是一个包含从2020年5月到2024年8月的自行车共享使用情况的数据集。这个数据集记录了华盛顿特区Capital Bikeshare项目中自行车的租赁模式,包括了骑行的持续时间、开始和结束日期时间、起始和结束站点、使用的自行车编号、用户类型(注册会员或临时用户)等信息。这些数据可以帮助分析和预测自行车共享系统的需求模式,以及了解用户行为和偏好。 数据集的特点包括: 时间范围:覆盖了四年多的时间,提供了长期的数据观察。 细节丰富:包含了每次骑行的详细信息,如日期、时间、天气条件、季节等,有助于深入分析。 用户分类:数据中区分了注册用户和临时用户,可以分析不同用户群体的使用习惯。 天气和季节因素:包含了天气情况和季节信息,可以研究这些因素对骑行需求的影响。 通过分析这个数据集,可以得出关于自行车共享使用模式的多种见解,比如一天中不同时间段的使用高峰、不同天气条件下的使用差异、季节性变化对骑行需求的影响等。这些信息对于城市规划者、交通管理者以及自行车共享服务提供商来说都是非常宝贵的,可以帮助他们优化服务、提高效率和满足用户需求。同时,这个数据集也

Global site tag (gtag.js) - Google Analytics