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后缀格式的压缩文件,而且所有的目录都不压缩,文件全部都压缩了
然后该种结尾的压缩我们一般不常用,了解就好啦