Java基础、中级、高级、架构面试资料

用 Linux 下所有的压缩、解压命令大全造轮子

NDIS herman 3100浏览
公告:“业余草”微信公众号提供免费CSDN下载服务(只下Java资源),关注业余草微信公众号,添加作者微信:xttblog2,发送下载链接帮助你免费下载!
本博客日IP超过2000,PV 3000 左右,急需赞助商。
极客时间所有课程通过我的二维码购买后返现24元微信红包,请加博主新的微信号:xttblog2,之前的微信号好友位已满,备注:返现
受密码保护的文章请关注“业余草”公众号,回复关键字“0”获得密码
所有面试题(java、前端、数据库、springboot等)一网打尽,请关注文末小程序
视频教程免费领
腾讯云】1核2G5M轻量应用服务器50元首年,高性价比,助您轻松上云

5G 来了,5G 是未来的一个驱动力。比 5G 更重要的一个是 AI,我们赢了 5G,并不代表我们赢了未来。

七牛云 CEO 这两天在群里也说过,未来的机会在于 AI。

今天我们从一个 Linux 的解压缩命令说起,让我们的代码“AI”起来。

程序员造轮子

下面我们总结了一些常见的 Linux 解压缩命令。

.tar

#解包:tar xvf FileName.tar
#打包:tar cvf FileName.tar DirName
(注:tar是打包,不是压缩!)

.gz

#解压1:gunzip FileName.gz
#解压2:gzip -d FileName.gz
#压缩:gzip FileName

.tar.gz 和 .tgz

#解压:tar zxvf FileName.tar.gz
#压缩:tar zcvf FileName.tar.gz DirName

.bz2

#解压1:bzip2 -d FileName.bz2
#解压2:bunzip2 FileName.bz2
#压缩: bzip2 -z FileName

.tar.bz2

#解压:tar jxvf FileName.tar.bz2
#压缩:tar jcvf FileName.tar.bz2 DirName

.bz

#解压1:bzip2 -d FileName.bz
#解压2:bunzip2 FileName.bz

.tar.bz

#解压:tar jxvf FileName.tar.bz

.Z

#解压:uncompress FileName.Z
#压缩:compress FileName

.tar.Z

#解压:tar Zxvf FileName.tar.Z
#压缩:tar Zcvf FileName.tar.Z DirName

.zip

#解压:unzip FileName.zip
#压缩:zip FileName.zip DirName

.rar

#解压:rar x FileName.rar
#压缩:rar a FileName.rar DirName

.lha

#解压:lha -e FileName.lha
#压缩:lha -a FileName.lha FileName

.rpm

#解包:rpm2cpio FileName.rpm | cpio -div

.deb

#解包:ar p FileName.deb data.tar.gz | tar zxf -

.tar .tgz .tar.gz .tar.Z .tar.bz .tar.bz2 .zip .cpio .rpm .deb .slp .arj .rar .ace .lha .lzh .lzx .lzs .arc .sda .sfx .lnx .zoo .cab .kar .cpt .pit .sit .sea

#解压:sEx x FileName.*
#压缩:sEx a FileName.* FileName

sEx只是调用相关程序,本身并无压缩、解压功能,请注意!

gzip 命令

减少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间。gzip 是在 Linux 系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用。

语法:gzip [选项] 压缩(解压缩)的文件名该命令的各选项含义如下:

-c 将输出写到标准输出上,并保留原有文件。-d 将压缩文件解压。-l 对每个压缩文件,显示下列字段: 压缩文件的大小;未压缩文件的大小;压缩比;未压缩文件的名字-r 递归式地查找指定目录并压缩其中的所有文件或者是解压缩。-t 测试,检查压缩文件是否完整。-v 对每一个压缩和解压的文件,显示文件名和压缩比。-num 用指定的数字 num 调整压缩的速度,-1 或 –fast 表示最快压缩方法(低压缩比),-9 或–best表示最慢压缩方法(高压缩比)。系统缺省值为 6。指令实例:

gzip *% 把当前目录下的每个文件压缩成 .gz 文件。gzip -dv *% 把当前目录下每个压缩的文件解压,并列出详细的信息。gzip -l *% 详细显示例1中每个压缩的文件的信息,并不解压。gzip usr.tar% 压缩 tar 备份文件 usr.tar,此时压缩文件的扩展名为.tar.gz。

除了上面我总结的这些解压缩命令,应该还有一些我没有总结到的。这年头做开发,谁还不会点 Linux 呢?但你看光一个解压缩就这么多命令,死记硬背肯定不行。我们得像个法子让它变得简单。

想象一下,如果我们执行一个万能的命令,它能根据文件的类型使用指定的解压缩命令。让我们的操作傻瓜化,看起来,代码就有一定的“智能”能力。

根据这个想法,赶紧行动起来造轮子,制作一个万能的解压缩工具吧。如果有困难,可参考 Github 上的众多源代码。

未来遥远而没有形状,梦想还不知道该叫什么名字。但是有你的参与,未来一定可期!

业余草公众号

最后,欢迎关注我的个人微信公众号:业余草(yyucao)!可加作者微信号:xttblog2。备注:“1”,添加博主微信拉你进微信群。备注错误不会同意好友申请。再次感谢您的关注!后续有精彩内容会第一时间发给您!原创文章投稿请发送至532009913@qq.com邮箱。商务合作也可添加作者微信进行联系!

本文原文出处:业余草: » 用 Linux 下所有的压缩、解压命令大全造轮子