一文汇集Linux所有文件压缩/解压缩操作

1、简介

        在文件系统中,为了提高文件的传输速率,通常将文件进行压缩,不同压缩格式有着不同的压缩率,本文将详细介绍各种压缩/解压缩命令操作。

2、tar 命令

        在Linux系统中,tar 是将多个文件打包在一起,并且可以实现解压的命令。具体格式如下,tar 命令比较特殊,携带的参数可以不带 ‘-’,文件格式为:*.tar.gz

tar [-参数] 文件/目录
2.1、具体参数详解
参数 描述
z 通过 gzip 压缩/解压
c 创建新的 tar 包
v 显示 tar 命令执行过程
f 制定压缩文件的名字
x 解开 tar 包
C 解压到指定路径
--exclude 打包时排除文件/目录;如果打包路径为相对路径,排除的只能是相对路径;如果打包路径是绝对路径,这个参数可以是相对路径也可以是绝对路径。
t 显示 tar 包内具体内容
2.2、常用 tar 命令
# 1、压缩
tar -zcvf 自定义压缩文件名.tar.gz  压缩目录/文件  [--exclude=排除文件或目录]
# 2、解压
tar -zxvf 待解压文件.tar.gz [-C 解压到指定目录]
# 3、查看压缩文件内容
tar -ztvf  待解压文件.tar.gz  # v 参数会显示文件属性,如果不带 z,则默认使用gzip命令
# 4、tar.xz 格式解压
tar -xvf 压缩包名.tar.xz -C 目标目录
3、gzip 命令

        gzip 命令是将文件进行压缩,不能将文件夹压缩,通常将文件夹通过tar压缩,然后再使用gzip命令进行压缩,文件压缩完之后会添加 .gz 后缀。

gzip [-参数] 文件
3.1、gzip常用参数
参数 描述
d 解压
v 显示执行过程
l 列出压缩文件内容信息
c 将内容输出到标准输出,不改变原始文件
r 对目录下所有文件递归进行压缩操作
-数字<1-9> 指定压缩率,默认为6,值越大压缩率越高
t 测试压缩文件是否完整
3.2、gzip常用命令
# 1、压缩
gzip 文件  # 生成的压缩文件为:文件.gz
# 2、查看压缩文件内容
gzip -l 文件.gz
# 3、解压
gzip -dv 文件.gz

注:gzip压缩命令在进行压缩/解压缩后,原始文件都会被删除。

为了保留原始文件,可以进行以下操作:

# 1、压缩保留原始文件
gzip -c 文件 > 文件.gz
# 2、解压保留原始文件
gzip -dc 文件.gz > 文件
4、zip/unzip 命令

        zip 压缩文件支持Linux和Windows系统,与gzip相比,不仅不会删除源文件,还可以压缩文件夹;unzip 可以解压 zip 压缩的文件。

zip/unzip [-参数] 文件/目录
4.1、zip 命令常用参数
参数 描述
r 将指定目录下所有文件进行压缩
x 压缩时排除指定文件
q 不显示压缩信息
4.2、zip 常用命令
# 1、压缩文件夹
zip [-r] 文件.zip 压缩文件/目录
# 2、压缩排除指定文件
zip [-r] 文件.zip 压缩文件/目录 -x *.txt
4.3、unzip 命令常用参数
参数 描述
l 不解压显示压缩包内容
d 指定解压目录
o 解压不提示是否覆盖文件
v 显示解压详细信息
4.4、unzip 常用命令
# 1、解压到指定目录
unzip -o -d 指定目录 -v 文件.zip 
# 2、查看压缩包内容
unzip -l 文件.zip
5、xz 命令

        xz 命令是Linux系统默认自带的压缩工具,它使用LZMA压缩算法,能够提供高压缩率的压缩和解压缩功能。xz 与gzip一样,都会删除源文件,需要指定参数,才不会删除源文件。文件格式为:*.xz,压缩出来的文件比较小,在传输网络性能较差时使用。

xz [-参数] 文件
5.1、xz 常用参数
参数 描述
d 解压缩
z 强制压缩
l 不解压列出压缩包文件
k 压缩/解压不删除源文件
f 强制覆盖输出文件
c 写入标准输出,不删除输入文件,与 -k 参数相似
-数字<1-9> 设置压缩率,默认为6,数值越大,压缩率越高
 5.2、xz常用命令
# 1、压缩文件
xz -k filename  # 压缩文件 -k 保留源文件
# 2、解压文件
xz -dk filename # -d解压 -k保留源文件
# 3、查看压缩文件内容
xz -l file.xz   # 查看压缩前后的大小、压缩率(Ratio)
6、总结

        本文详细介绍几种常用的压缩/解压缩命令,帮助大家快速掌握Linux压缩/解压缩实现,后续将介绍更多关于Linux 的知识。

        本人是一个从小白自学计算机技术,对运维、后端、各种中间件技术、大数据等有一定的学习心得,想获取自学总结资料(pdf版本)或者希望共同学习,关注微信公众号:it自学社团。后台回复相应技术名称/技术点即可获得。(本人学习宗旨:学会了就要免费分享)

一文汇集Linux所有文件压缩/解压缩操作_第1张图片

你可能感兴趣的:(Linux,运维,linux,运维,服务器)