一、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  
  
系统会检测文件的变更,然后更新压缩包  



完结撒花

搞懂以上即通关了!

题外话

网络安全学习资源分享:

给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

因篇幅有限,仅展示部分资料,朋友们如果有需要全套《网络安全入门+进阶学习资源包,需要点击下方链接即可前往获取

读者福利 | CSDN大礼包:《网络安全入门&进阶学习资源包》免费分享 (安全链接,放心点击)

👉1.成长路线图&学习规划👈

要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
在这里插入图片描述

在这里插入图片描述

👉2.网安入门到进阶视频教程👈

很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,其中一共有21个章节,每个章节都是当前板块的精华浓缩。(全套教程文末领取哈)
在这里插入图片描述

在这里插入图片描述

👉3.SRC&黑客文档👈

大家最喜欢也是最关心的SRC技术文籍&黑客技术也有收录

SRC技术文籍:

在这里插入图片描述

黑客资料由于是敏感资源,这里不能直接展示哦!(全套教程文末领取哈)

👉4.护网行动资料👈

其中关于HW护网行动,也准备了对应的资料,这些内容可相当于比赛的金手指!

在这里插入图片描述

👉5.黑客必读书单👈

在这里插入图片描述

👉6.网络安全岗面试题合集👈

当你自学到这里,你就要开始思考找工作的事情了,而工作绕不开的就是真题和面试题。
在这里插入图片描述
所有资料共282G,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,可以扫描下方二维码或链接免费领取~

读者福利 | CSDN大礼包:《网络安全入门&进阶学习资源包》免费分享 (安全链接,放心点击)

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐