Linux中压缩与解压文件及目录的指令总结并(.zip .tar .tar.gz .tar.bz 等 )

Linux操作系统中有很多关于文件和目录压缩和解压的指令

有很多文件和目录压缩的格式,比如如下的几种形式:
.zip /.tar /.tar.gz /.tar.bz2 / .gz

下面对每一种格式的压缩和解压指令进行总结:

1 以.zip结尾的文件的压缩 / 解压缩指令及用法

例如现有文件:haoxuesheng.zip

解压.zip结尾的压缩文件: unzip haoxuesheng.zip

压缩文件夹得到.zip结尾压缩包的压缩指令: zip -r -v haoxuesheng.zip haoxuesheng
其中:

-s 是指压缩时包括隐藏文件

-r 是递归压缩目录下的所有文件及目录 如果没有这个指令,目录也会压缩成功,但是压缩成功之后的文件是空的,因为没有递归压缩里面的所有文件

-v 是指显示指令的执行过程

【Linux中默认是显示指令的执行过程的】
文件目录被压缩的时候会显示整个进程

-q 是不显示指令的执行过程
此指令会关闭在目录压缩时候的出现的信息,如果文件目录较大,程序会稍稍在指令敲完之后一卡,来表示压缩过程的消耗。

2 以 .tar / .tar.gz / .tar.bz2 结尾的文件的压缩 / 解压缩指令及用法

我们在Linux系统中看到过很多含有tar.结尾的压缩包的名字,而且查看资料tar有很多参数选项,常见的选项如下:

-c:创建新的存档文件(Create)
-x:从存档文件中提取文件(eXtract)
-t:列出存档文件中的内容(lisT)
-v:显示 tar 命令执行的详细信息(Verbose)
-f:指定存档文件的名称(File)
-z:在创建或提取存档文件时使用 gzip 压缩算法来进行压缩或解压缩(gzip)使用在tar.gz中
-j:在创建或提取存档文件时使用 bzip2 压缩算法来进行压缩或解压缩(bzip2)使用在tar.gz中

其中从大部分上来讲,x是提取就是解压,z和j用于压缩多一点,其他参数说白了就是锦上添花的作用了

一定要对参数进行灵活的变通运用

接下来我们从.tar结尾的压缩文件开始聊起

解压.tar结尾的压缩文件: tar -xvf haoxuesheng.tar

压缩文件夹得到.tar结尾压缩包的压缩指令: tar -zcvf haoxuesheng.tar haoxuesheng
当然了你使用tar -zcf haoxuesheng.tar haoxuesheng 也没什么问题


解压 .tar.gz 的压缩文件: tar -zxvf haoxuesheng.tar.gz

压缩文件夹得到 .tar.gz 结尾压缩包的压缩指令: tar -zcvf haoxuesheng.tar.gz haoxuesheng


解压 .tar.bz 的压缩文件: tar -jxvf haoxuesheng.tar.gz

压缩文件夹得到 .tar.bz 结尾压缩包的压缩指令: tar -jcvf haoxuesheng.tar.bz haoxuesheng

3 以 .gz 结尾的文件的压缩 / 解压缩指令及用法

解压 .gz 的压缩文件: gunzip haoxuesheng.gz

压缩文件得到 .gz 结尾压缩包的压缩指令: gzip haoxuesheng

请注意,gzip只能压缩文件不能压缩目录,不及zip既可以压缩目录又可以压缩文件

而且gzip压缩时是是不用指定压缩包名称的

虽然也可以像zip一样加入参数-r,但只能压缩所有目录下的文件,压缩不了目录。你对一个文件包使用gzip 文件包名 的时候,你会发现,该文件目录没有被压缩,而里面的所有文件都被压缩成了.gz后缀格式的压缩文件,而且所有的目录都不压缩,文件全部都压缩了

然后该种结尾的压缩我们一般不常用,了解就好啦

猜你喜欢

转载自blog.csdn.net/qq_42595610/article/details/132211397