Linux 常用压缩命令全解,一次搞懂通关!

351 篇文章 23 订阅
262 篇文章 4 订阅

一、tar

Linux中的tar命令是文件管理中最重要的命令之一。它是Tape Archive的缩写,用于创建和解压缩归档文件。存档文件是一种压缩文件,其中包含一个或多个捆绑在一起的文件,以便更易于访问存储和可移植性。

tar只负责打包,打包是指将一大堆文件或目录捆绑成一个文件;压缩则是将一个大的文件通过一些压缩算法变成一个小文件,需要用到zip、
gzip、bzip2、xz等。

常用选项

  • -c :创建打包文件,会递归目录中的每个文件,如果想改变此行为,可以指定 --no-recursion

  • -x :提取打包文件

  • -f :指定打包后的文件名

  • -v :在打包时打印详细debug信息

  • -t :列出在打包文件中的所有文件

  • -u :打包文件并添加到存在的打包文件中

  • -r :更新打包文件中的文件或目录

  • -z :打包文件时使用 gzip 进行压缩

  • -j :打包文件时使用 bzip2 进行压缩

  • -J :打包文件时使用 xz 进行压缩

  • W :验证打包文件是否被损坏

  • -A :追加打包文件到另一个打包文件

  • -d :比较打包文件与源文件,如果没有提供源文件参数,则默认使用当前目录

  • --delete :删除打包文件中的成员

  • --wildcards :搜索打包文件中的文件,通过通配符来匹配

  • -?, --help :打印帮助信息

  • --usage :打印可用的选项

  • --version :打印版本信息

命令示例

  • 只打包不压缩
tar -cvf abc.tar abc  

  • 创建一个打包并压缩的文件
tar -czvf abc.tar.gz a.txt b.txt c.txt  
  
解释:c:打包、z:使用gzip压缩、v:打印debug信息、f:指定打包的文件名  

  • 把文件夹进行打包并压缩
tar -czvf dir.tar.gz dir  

  • 列出压缩文件的内容
tar -tf abc.tar.gz  

  • 提取打包的文件
tar -xvf abc.tar  

  • 提取打包的文件到指定的目录
tar -xvf abc.tar -C /tmp/files  

  • 提取打包文件中指定的文件
tar -xvf abc.tar file1.txt file2.txt  

  • 添加/追加文件到打包文件
tar -rvf abc.tar file3.txt  

  • 删除打包文件中指定的成员文件
tar --delete -f abc.tar file3.txt  

  • 指定 gzip 算法进行压缩
tar -zcvf abc.tar.gz abc  

  • 解压缩 gzip 算法的压缩包
tar -zxvf abc.tar.gz  

  • 指定 bzip2 算法进行压缩
tar -jcvf abc.tar.bz2 abc  

  • 解压缩 bzip2 算法的压缩包
tar -jxvf abc.tar.bz2  

  • 指定 xz 算法进行压缩
tar -Jcvf abc.tar.xz abc  

  • 解压缩 xz 算法的压缩包
tar -Jxvf abc.tar.xz  

  • 通过通配符提取匹配到的文件
tar -xvf abc.tar --wildcards '*.txt'  

  • 验证压缩包是否完整或被损坏
tar -W abc.tar  

  • 创建压缩包时,指定排除的文件
tar -zcvf abc.tar.gz abc --exclude='file1.txt'  

  • 创建压缩包,指定排除的目录
tar -zcvf abc.tar.gz abc --exclude='/etc/*'  

  • 通过 grep 查找压缩包中匹配的文件
tar -tf abc.tar.gz | grep file1.txt  

  • 通过wildcards查找压缩包中的多个文件
tar -tf abc.tar.gz --wildcards '*.png'  

  • 合并打包文件
tar -Af abc.tar def.tar  
  
def.tar 会合并到 abc.tar中,def.tar继续存在,不会消失。  

  • 比较打包文件和源文件
tar -df abc.tar abc  

  • 提取文件并保留源文件权限
tar xf abc.tar.gz --preserve-permissions  

  • 提取文件并把标准输出写入到外部程序
tar xf abc.tar --to-command='mkdir $TAR_FILENAME'  
  
提取abc.tar,--to-command内部通过通道把标准输出传给指定的命令  
  
此处mkdir会创建名字为abc的文件夹,文件夹里面有提取的每个文件。  

  • 检查打包或压缩包文件的大小
tar -czvf abc.tar.gz | wc -c  

二、rar

rar文件是一种用于压缩和归档文件的流行格式,rar是Roshal Archive的缩写。尽管是专有格式,但选择默认rar实用程序文件类型而不是其他文件类型有几个原因:

  • 采用无损数据压缩技术

  • 支持将大档案拆分为更小的卷,简化存储和共享

  • 便于存档注释和可定制的压缩设置

虽然与zip相比,rar表现出较慢的性能,但它具有更高的压缩率和优越的数据冗余。因此,rar文件平均节省更多的存储空间。

安装方法

  • 基于Debian系的发行版
sudo apt install rar unrar  

  • 基于REHL系的发行版
sudo yum install rar unrar 或  
  
sudo dnf install rar unrar  

  • 手动安装
wget https://www.rarlab.com/rar/rarlinux-[xxx].tar.gz  
  
tar -zxvf rarlinux-x64-xxx.tar.gz  
  
cd rar  
  
sudo cp -v rar unrar /usr/local/bin/  

下载地址:

常用选项

  • a :创建压缩包,添加文件到压缩包

  • x :提取完整文件的完整路径,即保留原始目录结构

  • e :提取文件不保留原始路径,即所有文件平铺在一个目录

  • p :打印文件到标准输出

  • l :列出压缩包内容

  • t :测试压缩包完整性,有没有损坏

  • v :列出压缩包时打印debug信息

  • p :设置压缩包解压密码

  • -? :打印帮助信息

  • -r :创建压缩包时,递归添加文件夹中的文件

命令示例

  • 创建压缩包
rar a abc.rar file1.txt file2.txt  

  • 创建压缩包,递归添加文件夹的文件
rar a -r abc.rar file1.txt file2.txt ~/dir  

  • 分割大尺寸的压缩包为多个指定大小的压缩包
rar a -v50M abc.rar file1.txt fil2.txt file3.txt  
  
-v50M指定每个分割的压缩包大小为50兆  
  
此时会分割成如此压缩包:abc.part1.rar、abc.part2.rar、abc.part3.rar等  

  • rar压缩包设置密码
rar a -p abc.rar file1.txt file2.txt  
  
命令输入完毕会提示输入密码  

  • 加密rar压缩包
rar a -hp abc.rar file1.txt file2.txt  

  • 压缩包解压到当前目录,所有文件平铺在一个目录
unrar e abc.rar  

  • 压缩包解压到当前目录,并保留原始目录结构
unrar x abc.rar  

  • 压缩包解压到指定目录
unrar e abc.rar -o ~/tmp  

  • 解压缩设置密码的压缩包
unrar e abc.rar -p [password]  
  
-p 后面接密码  

  • 测试压缩包的完整性、有没有损坏
unrar t abc.rar  

  • 列出压缩包内容
unrar l abc.rar  
  
会显示压缩包中文件的属性、大小、日期、时间、权限信息。  

  • 删除压缩包中指定的文件
rar d abc.rar file1.txt file2.txt  
  
此操作会直接修改原始压缩包  

  • 修复压缩包文件
rar r abc.rar  

  • 添加文件/更新压缩包的文件
rar u abc.rar file3.txt  

  • 压缩包加锁
rar k abc.rar  
  
加锁后压缩包不能被修改  

三、7z

7zip是一个免费的开源文件压缩器,类似于Windows上的WinZip或WinRAR。它是由Igor Pavlov开发的,可用于Windows, Linux和macOS。7zip的一个主要优点是能够将文件压缩到很高的程度,这可以节省大量的磁盘空间。它还支持多种文件格式,包括它自己的7z格式,以及ZIP、TAR和其他格式。

安装

  • 基于Debian系的发行版
sudo apt install -y p7zip-full  

  • 基于RHEL系的发行版
sudo yum install p7zip p7zip-plugins -y 或  
  
sudo dnf install p7zip p7zip-plugins -y 或  
  
sudo apt install p7zip-rar -y   
  
p7zip-rar 可以处理rar格式  

下载地址:

常用选项

  • a :添加文件到压缩包

  • d :删除压缩包中指定的文件

  • e :解压缩,不保留原始目录结构,提取的文件会平铺在同一个目录

  • x :解压缩,保留原始目录结构

  • l :列出压缩包内容

  • t :测试压缩包完整性、是否损坏

  • u :更新压缩包文件

  • -o :指定解压缩后的目录

  • -p :压缩包设置密码

  • -t[type] :设置压缩包的格式类型,例如:zip、gzip、bzip2、xz,默认是自己的格式7z

  • -x :压缩排除文件和解压缩提取排除文件

命令示例

  • 创建压缩包
7z a abc.7z file1.txt file2.txt  

  • 压缩包解压,不保留原来的目录结构,平铺在同一个目录
7z e abc.7z  

  • 压缩包解压,保留原始目录结构
7z x abc.7z  

  • 压缩包解压,保留原始目录结构,并指定解压到的目录
7z x abc.7z -o /tmp/abc  

  • 指定压缩级别
7z a -m0=lzma2 abc.7z file1.txt file2.txt  
  
7z a -m9=lzma2 abc.7z file1.txt file2.txt  
  
级别从0到9,数字越小,速度越快,压缩率越低,数字越大,两者就调换过来  

  • 压缩一个目录为压缩包
7z a abc.7z ~/abc  

  • 压缩添加密码并使用算法加密
7z a -p[password] -mhe=on abc.7z file1.txt file2.txt  
  
-p 后面填自定义密码  
  
-mh2=on 表示开启加密  
  
注意:密码一旦忘记,文件就解压不开,不可恢复  

  • 分割压缩包
7z a -v1m abc.7z file1.txt file2.txt  
  
-v指定每个压缩包的大小,1m为1兆  
  
压缩后,压缩包如:abc.7z.001,abc.7z.002  
  
后面解压缩的时候,只需要解压abc.7z.001,7z会自动检测其他压缩包部分并解压  

  • 添加文件到存在的压缩包
7z u abc.7z file3.txt  

  • 创建其他格式的压缩包
7z a -ttar abc.tar.7z file1.txt file2.txt  
  
通过 -t指定格式  

  • 从压缩包中提取指定的文件
7z x abc.7z file2.txt  

  • 压缩包添加密码
7z a -p[password] abc.7z file1.txt file2.txt  

  • 列出压缩包内容
7z l abc.7z  
  
输出文件的名称、大小、压缩比率等  

  • 解压缩时显示进度条
7z x -bsp1 abc.7z  

  • 压缩时排除指定的文件
7z a abc.7z -x!*.log -x!temp/  
  
排除了以log后缀的文件和temp目录  

  • 解压缩时排除指定的文件
`7z x abc.7z -x!*.log -x!temp/` 


  • 创建自解压的压缩包

自解压即不需要在目标机器安装7zip,打包后的压缩包内部包含了7zip程序

7z a -sfx abc.exe file1.txt file2.txt  
  
exe后缀也可以解压  

  • 解压自解压的压缩包
./abc.exe  
  
直接运行此压缩包即可  

  • 测试压缩包的完整性、是否损坏
`7z t abc.7z`


  • 删除压缩包中的指定的文件
7z d abc.7z file2.txt  

  • 如果源文件变更了,想重新压缩的便捷方式
7z u abc.7z  
  
系统会检测文件的变更,然后更新压缩包  

完结撒花

搞懂以上即通关了!

`黑客&网络安全如何学习

今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,来看看有哪些东西。

1.学习路线图

攻击和防守要学的东西也不少,具体要学的东西我都写在了上面的路线图,如果你能学完它们,你去就业和接私活完全没有问题。

2.视频教程

网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己录的网安视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。

内容涵盖了网络安全法学习、网络安全运营等保测评、渗透测试基础、漏洞详解、计算机基础知识等,都是网络安全入门必知必会的学习内容。

(都打包成一块的了,不能一一展开,总共300多集)

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

3.技术文档和电子书

技术文档也是我自己整理的,包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点,电子书也有200多本,由于内容的敏感性,我就不一一展示了。

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

4.工具包、面试题和源码

“工欲善其事必先利其器”我为大家总结出了最受欢迎的几十款款黑客工具。涉及范围主要集中在 信息收集、Android黑客工具、自动化工具、网络钓鱼等,感兴趣的同学不容错过。

还有我视频里讲的案例源码和对应的工具包,需要的话也可以拿走。

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

最后就是我这几年整理的网安方面的面试题,如果你是要找网安方面的工作,它们绝对能帮你大忙。

这些题目都是大家在面试深信服、奇安信、腾讯或者其它大厂面试时经常遇到的,如果大家有好的题目或者好的见解欢迎分享。

参考解析:深信服官网、奇安信官网、Freebuf、csdn等

内容特点:条理清晰,含图像化表示更加易懂。

内容概要:包括 内网、操作系统、协议、渗透测试、安服、漏洞、注入、XSS、CSRF、SSRF、文件上传、文件下载、文件包含、XXE、逻辑漏洞、工具、SQLmap、NMAP、BP、MSF…

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

  • 26
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值