Linux的压缩和解压

251次阅读
没有评论

共计1953个字符,预计需要花费5分钟才能阅读完成。


单个文件的压缩和解压

在 linux 中,有两种常用的压缩软件,分别为 gzip 和 bzip,命令分别为 gzipbzip2(bzip 已经更新到第 2 版本)。但是这两个命令都只能压缩单个文件,也就是不能打包成压缩包。


GZIP

压缩

使用 gzip [文件] 即可对文件进行压缩:
Linux 的压缩和解压
压缩以后,1.txt 文件会被替换成 1.txt.gz 文件,即原文件被压缩了,且不再存在。
如果有多个文件,可以使用选项 -r 递归处理文件,即gzip -r [多个文件]
还有压缩选项 --fast--best,一个为最快的压缩速度(压缩率最低),一个为最好的压缩比,使用:

gzip [文件] --fast
gzip [文件] --best

更多其他参数可以查看帮助gzip --help,或者man gzip

解压

想要解压文件,使用 gzip -d [文件] 命令即可,或者使用gunzip [文件]
Linux 的压缩和解压
文件从 1.txt.gz 还原成了 1.txt,即解压完成了。


BZIP2

压缩

使用 bzip2 [文件] 即可对文件进行压缩:
Linux 的压缩和解压
同上,bzip2 也有压缩选项 --fast--best,一个为最快的压缩速度(压缩率最低),一个为最好的压缩比。
注意:bzip2 没有 -r 选项,不能递归处理多个文件。

解压

使用 bzip2 -d [文件] 或者 bunzip2 [文件] 即可解压文件:
Linux 的压缩和解压


打包

为了解决 gzip 和 bzip2 只能压缩单个文件的问题,我们可以先将多个文件用 tar 进行打包,再进行压缩,就变成了“压缩包”。


TAR

tar 的基本选项有:

# -f : 指定压缩包名称
# -c : 打包文件
# -x : 解压,不需要指定压缩包的压缩类型,它会自动匹配压缩包的类型自行解压。# -v : 显示压缩包压缩的过程
# -P:当压缩包中存在根目录是,自动移除根目录
# -t : 查看压缩包中的内容

# 打包当前文件夹下的内容
tar -cvf test.tar ./xxx

打包

如果想要创建打包一个文件夹,可以使用tar -cvf test.tar ./test。意思是将当前文件夹下的 test 文件夹里面的所有内容打包(注意不会压缩),并显示详细过程,打包后的文件名为 test.tar:
Linux 的压缩和解压

解包

想要解包 test.tar 文件,我们通常使用命令 tar -xvf test.tar 来解包,这里同样没有压缩,只是对多个文件进行了打包然后再解包:
Linux 的压缩和解压

查看

如果只想查看包里的文件和内容,那么只需输入 tar -tf test.tar 即可:
Linux 的压缩和解压

压缩包

linux 支持很多种类型的压缩文件的压缩和解压,如 tar、zip 等。为了方便实用,tar 还支持 gzip 和 bzip 压缩方式,支持一键压缩成压缩包。


TAR

tar 命令有专门的选项来设置压缩模式,常用的有 gzip 和 bzip2:

# -z : 指定使用 gzip 压缩,一般使用 gzip 压缩的文件都以.tar.gz 作为扩展名
# -j : 指定使用 bzip2 压缩,一般使用 bzip2 压缩的文件都以.tar.bz2 作为扩展名
# -J : 指定使用 xz 压缩,一般使用 xz 压缩的文件都以.tar.xz 作为扩展名

gzip 压缩和解压

创建 gzip 压缩的压缩包,可以使用命令 tar -zcvf test.tar.gz ./test,即压缩 test 文件夹下的所有内容。其中-z 是以 gzip 来压缩,-c是创建压缩包,-v是显示压缩过程,-f是指定压缩后的文件名:
Linux 的压缩和解压
如果想解压 test.tar.gz,我们使用 tar -zxvf test.tar.gz 来解压:
Linux 的压缩和解压

bzip2 压缩和解压

创建 bzip2 压缩的压缩包,可以使用命令 tar -jcvf test.tar.bz2 ./test,即压缩 test 文件夹下的所有内容。其中-j 是以 bzip2 来压缩,-c是创建压缩包,-v是显示压缩过程,-f是指定压缩后的文件名:
Linux 的压缩和解压
类似 gzip 解压,bzip2 的解压只需将 -z 换成 -j 即可,命令为tar -jxvf test.tar.bz2
Linux 的压缩和解压

xz 压缩和解压

xz 是一种高效的压缩文件格式,‌它使用 LZMA 算法来实现高压缩比,‌能够在保持文件可读性的同时显著减小文件大小。‌经过 tar 打包后的 xz 文件通常为.tar.xz。
类似前面两种压缩命令,只需使用选项 -J 即可。例如压缩文件夹 test,使用命令tar -Jcvf test.tar.xz ./test
Linux 的压缩和解压
解压使用命令tar -Jxvf test.tar.xz
Linux 的压缩和解压

ZIP

zip 是非常方便有效的压缩格式,Windows 系统中很常用。Linux 我们首先要安装软件包 yum install unzipsudo apt install unzip才能操作 zip 文件。

压缩

使用命令 zip [压缩包.zip] [文件] 可以压缩文件,命令 zip [压缩包.zip] [目录] 来压缩目录。
例如压缩目录 test,使用zip test.zip ./test
Linux 的压缩和解压

解压

使用命令 unzip [压缩包.zip] 即可解压压缩包,非常方便,例如unzip test.zip
Linux 的压缩和解压


write by dudu233

正文完
 0
评论(没有评论)
验证码
zh_CN简体中文