Linux系统常见的压缩和解压命令-实用版

直接上干的!由于很多的参数细节在百度或者其他地方都很容易找到,所以我只记录最常用的解压或压缩命令。够用就行。

Linux系统常见的压缩格式

后缀名 压缩工具及方式
xxx.zip zip程序的压缩文件
xxx.gz gzip程序的压缩文件
xxx.bz2 bzip2程序的压缩文件
xxx.xz xz程序的压缩文件
xxx.tar tar程序的打包文件,未进行压缩
xxx.tar.gz tar程序打包之后使用gzip程序压缩的文件
xxx.tar.bz2 tar程序打包之后使用bzip2程序压缩的文件
xxx.tar.xz tar程序打包之后使用xz程序打包的文件

不同压缩工具的使用

zip和unzip

zip格式的压缩文件是Windows和Linux系统的通用压缩格式,但是在实际使用中会经常遇到在Linux下解压Windows端的压缩文件出现乱码的情况,这是由于Windows端采用了GBK等编码格式造成的,使用unzip命令解压时是可以避免的

zip 命令用于压缩文件,常见的压缩命令是:

zip -r demo.zip /home/klelee/demo/
# -r 选项表示递归处理目标目录下的子目录

该命令的作用是:将home/klelee/demo/目录下的所有文件打包并压缩到当前目录的demo.zip文件中去。

unzip 命令用于解压.zip 格式的文件,常见的解压命令是:

unzip demo.zip

另外对于上面提到的解压乱码的问题,解决方案是,使用正确的格式解压:

unzip -O GBK demo.zip

tar和gzip

.tar.gz 格式的压缩包是由tar程序先打包,然后由gzip程序压缩形成的。

典型的压缩命令是:

tar -zcvf tar_gzip_demo.tar.gz /home/klelee/demo/
# z : 表示压缩程序使用gzip
# c : create,表示创建package
# v : 表示显示指令执行过程
# f : 指定压缩文件

典型的解压命令是:

tar -zxvf tar_gzip_demo.tar.gz
# x : 从package中还原文件

tar和bzip2

.tar.bz2 格式的压缩包是由tar程序先打包,然后由bzip2程序压缩形成的。

典型的压缩命令是:

tar -jcvf tar_bzip2_demo.tar.bz2 /home/klelee/demo/
# j :表示压缩程序使用bzip2

典型的解压命令是:

tar -jxvf tar_bzip2_demo.tar.gz

tar和xz

.tar.xz 相对来说是比较新的一种格式,也是有tar打包,调用xz程序进行压缩得到的。

典型的压缩命令是:

tar -Jcvf tar_xz_demo.tar.xz /home/klelee/demo/
# -J : 注意是大写的j,表示调用xz程序进行压缩

典型的解压命令是:

tar -Jxvf tar_xz_demo.tar.xz

其实我们常用到的就是这几个压缩和解压缩命令。至于其他更多的参数,真的没那么重要。

解压到指定目录

对于解压之后得到的是整个文件夹还是散列的文件,遵循以下原则:
如果你压缩的时候是对一个文件夹压缩的,那得到的就是文件夹;
如果你压缩的时候是对文件夹下的所有文件压缩的,那得到的就是散列的文件。

但是很多时候我们拿到的压缩包我们并不知道它是怎么压缩形成的,所以保险起见,我们最好指定一个解压输出目录

unzip

unzip命令可以使用-d 参数指定输出目录。

unzip demo.zip -d /home/klelee/temp/

如上,当temp目录不存在时会自动生成。

tar

tar 命令可以使用-C 参数指定输出目录,但是指定的目录必须存在

mkdir temp_gz
tar -zxvf tar_gzip_demo.tar.gz -C /home/klelee/temp_gz/
posted @ 2023-08-03 11:06  可乐klelee  阅读(267)  评论(0编辑  收藏  举报