压缩打包

本文介绍了Linux下压缩打包的相关知识,包括gzip和zip命令的使用,以及如何与find和du命令结合进行打包操作。内容涵盖压缩与解压缩文件、目录,查看压缩包内容,打包时排除文件,以及通过hostname和IP创建自定义命名的压缩包。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

0.什么是压缩包

就是将多个文件和目录合并为一个特殊的文件

1.为什么要使用压缩包

1.减少占用的体积
2.加快网络的传输

2.Windows的压缩和Linux有什么不同?

Windows: zip  rar(Linux不支持)
Linux: zip  tar.gz  tar.bz2   .gz 
如果系统Windows的软件能被Linux解压,说着Linux的软件包被wind能识别,选中zip
ps:压缩包的后缀不重要,但是定要携带。
ps:右击网址复制地址, wget 地址

3.压缩包用在哪里?

tar.gz zip 

4.Linux下常见的压缩包类型:

1.gzip
2.zip
3.tar.gz tar.bz2(了解)  tar.xf(了解)

5.gzip的

安装zgip 命令:  yum install gzip -y
[root@chenpeng ~]# gzip file		#对文件进行压缩
[root@chenpeng ~]# zcat file.gz		 #查看gz压缩后的文件
[root@chenpeng ~]# gzip -d file.gz   #查看解压gzip的压缩包

使用场景:

	1.当需要让某个文件不生效时,系统只识别.repo文件
		gzip CentOs-Vault.repo    --> centOs-Vault.repo.gz
		zcat CentOs-Vaule.repo.gz --> 查看不想解压的压缩包文件内容
		gzip *  	---> 对当前目录下所有的文件进行压缩

6.zip的压缩包格式
0.准备工作

	yum install zip unzip -y

1.如何压缩文件(不会删除源文件)

							   命令   压缩包名称     压缩包里需要存放的文件
	[root@www.oldboyedu.com ~]# zip   tt.zip         test.log
								搬家  行李箱         个人物品	 

2.如何压缩目录

	[root@www.oldboyedu.com ~]# zip  -r   tt.zip      /var/log    test.log

3.如何解压

	[root@www.oldboyedu.com ~]# unzip tt.zip

4.测试是否能与Windows之间互相压缩和解压

	可以

7.tar.gz 式(czf)
1.如何打包,将所有的文件,目录打成一个包

	tar命令进星归档,zgip进行压缩

2.查看压缩包的内容

# tar tf tt.tar.gz 							#查看压缩包的内容

3.解压软件包

	# tar xf tt.tar.gz  

4.解压默认是解压到当前目录下:

	# tar xf tt.tar.gz				#指定压缩包解压到目录下

5.打包时的路径选择: 相对路径 绝对路径

	# tar czf sys.tar.gz /etc/ /var/
	tar: Removing leading `/' from member names
	tar: Removing leading `/' from hard link targets

问题: 为什么有一个删根的操作:

	防止在解压的过程中,直接覆盖原有的目录以及文件
	推荐的打包方式:
		# cd /
		# tar czf /root/etc.tar.gz   etc/ var/
		将etc目录 var目录 统一打包存放到/root/目录下的 etc.tar.gz压缩包中

如何打包时排除文件: (备份不需要使用排除,)

	#1.排除单个文件
	[root@xuliangwei /]# tar czf etc.tar.gz --exclude=etc/services etc/

#2.排除多个文件

	[root@xuliangwei /]# tar czf etc.tar.gz --exclude=etc/services --exclude=etc/rc.local etc/
	[root@www.oldboyedu.com /]# tar czf etc.tar.gz --exclude=etc/{passwd,shadow,gshadow} etc/ 

#3.将需要排除的文件写入文件中

	[root@xuliangwei /]# cat paichu.list		#必须写相对路径
	etc/services
	etc/rc.local
	etc/rc.d/rc.local
	#通过-X指定需要排除的文件列表, 最后进行打包压缩
	[root@xuliangwei /]# tar czfX etc.tar.gz paichu.list etc/

如何打包时保留软连接文件

	#3.打包链接文件,打包链接文件的真实文件
	[root@xuliangwei ~]# cd /
	[root@xuliangwei /]# tar czfh local.tar.gz  etc/rc.local

find与du打包的结合方式

#扩展: 统计/下面的目录的大小,只统计1级

[root@www.oldboyedu.com ~]# find / -maxdepth 1 -type d |sed -r 's#(.*)# du -sh \1 #g'|bash
[root@www.oldboyedu.com ~]# ls -d /* |xargs du -sh
[root@www.oldboyedu.com ~]# du -sh /*

linux打包与压缩习题
0.列出linux常用打包工具并写相应的压缩、解压缩参数
gzip: 只能压缩单个文件
1.gzip filename #打包|压缩
2.gzip -d filename.gz #解压
3.zcat filename.gz #查看压缩包中的内容

zip: 支持压缩多个目录和文件--->希望能与windows进行互通
	1.zip  	-r   filename.zip    filename
	  命令  递归 	选项             参数
	  搬家  多个 	箱子             物品

	2. unzip  filename.zip     #解包
	
	PS:   yum install zip unzip  默认情况下没有安装zip和unzip
	  
tar: 能够支持单个文件和多个文件,并也能与windows进行互通. 因为很多开源的项目提供的压缩包就是tar.gz
	tar czf  filname.tar.gz   filename directory	#打包
	tar xf   filname.tar.gz							#解压
	tar xf   filname.tar.gz -C /tmp					#解压到-->  指定解压的目标位置
	tar tf   filename.tar.gz						#查看压缩包内容,类似于windows双击压缩包的效果
	-----------------------------------
	tar cjf  filename.tar.bz2						#打包格式为bz2
	tar cJf  filename.tar.xz						#打包格式为xz
	
PS: 为什么要压缩: 将多个文件整合为一个特殊的文件,压缩后能有效的节省资源空间,便于快速下载与上传.

1.如何用gzip命令对文件进行压缩、解压缩,给出实践步骤。
1.gzip filename #打包|压缩
2.gzip -d filename.gz #解压

3.如何用zip命令对文件以及目录进行压缩、解压缩,给出实践步骤。
1.zip -r filename.zip filename
命令 递归 选项 参数
搬家 多个 箱子 物品

	2. unzip  filename.zip     #解包
	PS:   yum install zip unzip  默认情况下没有安装zip和unzip

4.创建一个自己名子的文件至/opt目录,给出实践步骤。
[root@www.oldboyedu.com ~]# touch /opt/ttt

5.打包opt/整个目录,并命名为opt_2019_04_19.tar.gz,给出实践步骤。

#写死
[root@www.oldboyedu.com ~]# tar czf opt_2019_04_19.tar.gz /opt/

[root@www.oldboyedu.com ~]# date +%F
2019-05-15
[root@www.oldboyedu.com ~]# tar czf opt_$(date +%F).tar.gz /opt/
[root@www.oldboyedu.com ~]# ls
opt_2019-05-15.tar.gz 

[root@www.oldboyedu.com ~]# date -s "2019/05/16"
[root@www.oldboyedu.com ~]# tar czf opt_$(date +%F).tar.gz /opt/
opt_2019-05-16.tar.gz

6.查看打包好的opt_2019_04_19.tar.gz里的文件,给出实践步骤。
[root@www.oldboyedu.com ~]# tar tf opt_2019-05-15.tar.gz

7.将打包好的opt_2019_04_19.tar.gz内容指定解压至/tmp目录,并给出实践步骤。
[root@www.oldboyedu.com ~]# tar xf opt_2019-05-15.tar.gz -C /tmp/

8.打包以当前主机名+ip的命名方式的压缩包: 比如: www.oldboyedu.com_2019-05-16_10.0.0.99.tar.gz ,压缩/opt目录即可
1.提取主机名 hostname
2.提取IP地址 ifconfig ens32|awk ‘/inet / {print $2}’
3.提取当前时间 date +%F
tar czf KaTeX parse error: Expected group after '_' at position 11: (hostname)_̲(ifconfig ens32|awk '/inet / {print KaTeX parse error: Expected 'EOF', got '}' at position 2: 2}̲')_(date +%F).tar.gz /opt

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值