Linux-文件压缩gzip、zip、tar

1、Linux下常见压缩包类型

格式        压缩工具
.zip        zip压缩工具
.gz         gzip压缩工具,只能压缩文件,会删除原文件(通常配合tar使用)
.bz2        bzip2压缩工具,只能压缩文件,会删除原文件(通常配合tar使用)
.tar.gz     先使用tar命令归档打包,然后使用gzip压缩
.tar.bz2    先使用tar命令归档打包,然后使用bzip压缩

2、gzip

2.1、安装软件

yum install gzip -y

2.2、压缩文件

echo "123">file

]# gzip file 
]# ll
-rw-r--r-- 1 root root 29 Apr 20 22:29 file.gz

# 这个会把原文件删除

2.3、解压文件

]# gzip -d file.gz

]# ll
-rw-r--r-- 1 root root  4 Apr 20 22:29 file

2.4、查询压缩文件内容

]# zcat file.gz 
123

2.5、使用场景

主要:用户文件临时不想使用的时候,可以压缩起来,后面想使用再解压
cd /etc/yum.repos.d/
gzip zabbix.repo 
zcat zabbix.repo.gz 

3、zip

3.1、软件安装

yum install zip unzip -y

3.1、压缩

3.1.1、压缩文件

zip file.zip file

3.1.2、压缩目录

zip -r etc.zip /etc/

3.2、解压

3.2.1、解压当前目录

unzip etc.zip

3.2.2、解压指定的目录

unzip etc.zip -d /mnt/

3.3、校验完整性

]# zip -T etc.zip 
test of etc.zip OK

3.4、查看压缩包内容

unzip -l etc.zip
unzip -t etc.zip

4、tar

4.1、参数介绍

4.1.1、语法介绍

复制代码
语法:
tar [-zjxcvfpP] fiLenamec

c  # 创建新的归档文件
x  # 对归档文件解包
t  # 列出归档文件里的文件列表
v  # 输出命令的归档或解包的过程
f  # 指定包文件名,多参数f写最后
z  # 使用gzip压缩归档后的文件( .tar.gz)
j  # 使用bzip2压缩归档后的文件( .tar.bz2)
J  # 使用xz压缩归档后的文件(tar.xz)
C  # 指定解压目录位置
X  # 排除多个文件(写入需要排除的文件名称)
h  # 打包软链接
--hard-dereference  # 打包硬链接
--exclude           # 在打包的时候写入需要排除文件或目录
复制代码

4.1.2、常用打包与压缩组合

czf # 打包tar.gz格式
cjf # 打包tar.bz格式
cJf # 打包tar.xz格式

4.1.3、解压缩

zxf # 解压tar.gz格式
jxf # 解压tar.bz格式
xf  # 自动选择解压模式
tf  # 查看压缩包内容

4.2、示例1-打包压缩

4.2.1、打包压缩文件

tar czf test.tar.gz ethertypes
tar cjf test.tar.bz2 ethertypes

4.2.2、打包压缩目录

以gzip归档方式打包并压缩
tar czf test.tar.gz test1/ test2/

以bz2归档方式打包并压缩
yum install bzip2 -y
tar cjf test.tar.bz2 test1/ test2/

4.2.3、打包链接的文件

]# tar czfh local.tar.gz /etc/rc.local 
tar: Removing leading `/' from member names # 自动移除开头的/

]# tar tf local.tar.gz etc/rc.local

4.2.4、tar与find-打包tmp目录所有的文件

tar czf tmp.tar.gz $(find /tmp -type f)

4.3、示例2-排除文件打包压缩

4.3.1、排除单个文件压缩

tar czf test.tar.gz --exclude=test/cron.d test/

4.3.2、排除多个文件压缩

tar czf test.tar.gz --exclude=test/cron.d --exclude=test/grub.d  test/

4.3.3、通过文本数据排除文件压缩

]# cat exclude.list 
test/grub.d
test/cron.d

tar czfX test.tar.gz exclude.list test/

4.4、示例3-查询压缩包内容

tar tf test.tar.gz 

4.5、示例4-解压文件

4.5.1、解压当前目录

tar xvf test.tar.gz

4.5.2、解压指定目录

tar xvf test.tar.gz -C /mnt

 

posted @   小粉优化大师  阅读(153)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示