Centos系统上,如果你下载了一个rar格式的压缩包,直接使用系统自带的命令是无法解压的。因为rar是一种商业压缩格式,Centos默认并不支持。很多运维人员和开发者刚开始接触Linux时都会遇到这个问题,以为解压rar和zip一样简单,结果发现unrar命令根本不存在。要解决这个问题,你需要先安装对应的工具。

Centos解压rar需要安装什么工具

rar格式的压缩包在Linux下不能直接用tar或者unzip来解压,你需要安装一个叫做unrar的软件。这个工具专门用来处理rar文件,是RARLAB官方提供的Linux版本。安装unrar之后,你就能够用简单的命令解压rar文件了。

有些同学会问centos解压rar命令,能不能用别的工具代替unrar。其实也有,比如7z命令也可以解压rarcentos解压rar命令,但前提是你安装了p7zip-full这样的包。不过在Centos上,最直接、最稳定的方案还是用unrar。因为它是官方出品,兼容性最好,坑最少。

解压命令tar_解压命令linux_centos解压rar命令

安装unrar之前,你需要确认你的Centos版本。Centos 7和Centos 8的安装方式略有不同,但总体流程是一样的。先更新一下yum源,然后从EPEL仓库或者RPMFusion仓库里安装unrar。如果你没有配置这些第三方仓库,直接yum install unrar可能会提示找不到包。

如何在Centos上安装unrar

安装unrar的第一步是配置EPEL仓库。EPEL是Extra Packages for Enterprise Linux的缩写,里面有很多默认源没有的软件包。运行一条命令就可以安装EPEL:sudo yum install epel-release。安装完成后,再执行sudo yum install unrar,系统就会自动下载并安装unrar。

如果你用的是Centos 8,命令会变成sudo dnf install epel-release,然后再sudo dnf install unrar。dnf是yum的升级版,用法基本一样。

centos解压rar命令_解压命令tar_解压命令linux

有时候EPEL仓库里也没有unrar,这时候你可以去RARLAB官网下载rpm包手动安装。下载地址是RARLAB的官方网站,找到Linux版本的unrar,选择对应系统架构的rpm文件,然后使用sudo rpm -ivh 文件名.rpm来安装。手动安装的好处是不依赖网络源,缺点是需要自己找版本,而且后续更新不方便。

安装完成后,你可以用unrar --version命令检查一下是否安装成功。如果显示了版本号,说明工具已经可以正常使用。

centos解压rar命令的具体用法

安装好unrar之后,解压rar文件就非常简单了。最基本的命令是unrar x 文件名.rar。这个x参数表示解压并保留目录结构,也就是把rar包里的文件和文件夹按照原来的层级解压出来。

如果你不想保留目录结构,只想把所有文件解压到当前目录,可以用unrar e 文件名.rar。e参数表示提取文件但不保留路径。注意,如果rar包里有多个文件夹,用e参数解压后会全部混在一起,容易造成文件覆盖或者找不到源文件,所以大多数情况下推荐使用x参数。

还有一个常用参数是-l,用来查看rar包里的文件列表常用linux系统linux 版本,不解压直接看内容。运行unrar l 文件名.rar,屏幕上会显示压缩包内所有的文件名、大小和压缩比例。这个功能在你需要确认包里有什么文件时非常有用。

如果你想解压到指定目录,可以在命令末尾加上目标路径。比如unrar x 文件名.rar /home/user/files,这样文件就会解压到/home/user/files目录下。如果目标目录不存在,unrar会自动创建。

解压中遇到乱码或密码怎么办

很多从Windows系统传过来的rar文件,文件名里包含中文,在Centos下解压后会出现乱码。这是因为rar包里的文件名编码和Linux系统的编码不一致。Windows常用GBK或者GB2312编码,而Centos默认是UTF-8。

解决乱码的方法有两种。一种是在解压时指定编码,unrar x -p- -kb 文件名.rar,其中-kb参数可以尝试处理部分编码问题,但效果有限。更靠谱的方法是用convmv工具把文件名转码,先解压,然后运行convmv -f gbk -t utf8 --notest ,把乱码的文件名批量改回正常中文。

还有一种情况是rar文件设置了密码,解压时会提示输入密码。unrar支持交互式输入密码,运行unrar x 文件名.rar后,终端会显示Enter password:,你直接输入密码并按回车就行。如果你知道密码,也可以用-p参数在后面直接跟密码,比如unrar x -p我的密码 文件名.rar。注意密码里如果包含特殊字符,需要用引号括起来。

日常使用小技巧和注意事项

解压命令linux_解压命令tar_centos解压rar命令

如果你经常需要解压rar文件,可以把unrar命令和脚本结合使用,批量解压多个rar包。写一个简单的for循环,就能一次性处理当前目录下所有rar文件。比如for i in .rar; do unrar x “$i”; done,这样就能自动解压所有rar文件,省去一个个敲命令的麻烦。

还有一个容易忽略的点是,rar文件有时是分卷压缩的,文件名像test.part1.rar、test.part2.rar这样。解压分卷文件时,只需要对第一个分卷执行unrar x test.part1.rar,unrar会自动识别并读取后续分卷,不需要手动解压每个分卷。

另外,如果你在Centos上安装了rar而不是unrar,也可以解压,rar命令本身包含了解压功能。但rar是收费软件,unrar是免费的解压工具,所以日常使用unrar就足够了。不必为了解压一个文件去装整套rar工具。

Centos系统下处理rar文件并不复杂,安装好unrar之后,记住unrar x这个核心命令就能解决大部分需求。遇到乱码和密码问题时,按照上面的方法处理,基本不会卡住。

Tagged:
Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。

发表回复