1.文件压缩的定义
2.对文件压缩的原因
3.Windows和Linux压缩如何互通
4.Linux下常见压缩类型
一、文件压缩的定义
文件压缩就是将多个文件或目录合成一个特殊的文件
二、对文件压缩的原因
1.压缩前后,文件大小不一样
2.压缩后文件的传输速度更快,效率高
PS:就像搬家一样,打包后搬取物品,明显比一件一件的搬取更快,效率更高
三、Windows和Linux压缩如何互通
windows对压缩文件的类型是不挑的,Linux就很挑了,Linux常用的是 .zip 和 .tar.gz 这两种类型。所以windows最好用 .zip 压缩类型,这样两边就能互通了。
四、Linux常见压缩类型
-
gzip
gzip+想要压缩的文件(单个)
特点:
①只能对文件进行压缩
②压缩完之后,源文件会消失
③只能对单个文件进行压缩,不支持多个
④可以让文件失效,相当于注释
选项:-d 解压
查看压缩包内容(不解压):zcat 命令
-
zip
zip+压缩文件名+想要压缩的文件或目录(可以多个)
特点:
①支持多个文件或目录进行压缩(打包目录下的所有内容,需要递归 -r)
②压缩完之后,不删除源文件
③可以指定压缩到什么位置,并且可以命名(*.zip)
④默认压缩到当前目录
⑤可以指定解压到什么位置
#选项:
-l 不解压显示压缩包内的所有文件
-r 递归压缩多个文件或目录
-T 验证压缩包是否完整
-d 用来指定解压到什么位置
-q 压缩文件是不显示处理信息
解压:unzip
[root@10 ~]# unzip user.zip -d /tmp
查看压缩包内所有文件(不解压):
unzip -l
检查压缩文件是否正确:
unzip -t
zip -T
-
tar(最常用)
tar命令+选项+压缩文件名+想要压缩的文件或目录
特点:
①支持多个文件或目录进行压缩
②压缩完之后,不删除源文件
③可以指定压缩到什么位置,并且可以命名
④默认压缩到当前目录
⑤可以指定解压到什么位置
#常用结合选项:
czf 对文件或目录进行压缩,压缩文件名后缀为 .tar.gz
cjf 对文件或目录进行压缩,压缩文件名后缀为 .tar.bz2
cJf 对文件或目录进行压缩,压缩文件名后缀为 .tar.xz(用的不多)
tf 不解压查看压缩包内容
xf 智能解压
-C 指定解压到什么位置
写法:
[root@10 ~]# tar czf test.tar.gz test.txt
与 find 结合使用:
#第一种
[root@10 ~]# find /tmp -type f |xargs tar czf tmp.tar.gz
#第二种,() 括号中优先执行
[root@10 ~]# tar czf tmp2.tar.gz $(find /tmp -type f)
打包链接文件
#打包链接文件的真实文件,需要选项加 h
[root@10 ~]# tar czfh bin.tar.gz /bin
排除文件,并打包压缩
#排除的单个和多个文件 --exclude= (多个的时候比较鸡肋)
[root@10 ~]# tar czf etc.tar.gz --exclude=/etc/services /etc # 放在要打包目录之前(过滤)
#将需要排除的文件写入文件中 (高)
[root@10 ~]# vim paichu.txt
[root@10 ~]# tar czf want.tar.gz paichu.txt /etc
小结:
1.解压对删除文件的恢复,通过指定解压路径来恢复(根据情况,/ 路径或全路径)
2.压缩时,为了不出现--tar: 从成员名中删除开头的“/”,可以用 cd 切换目录,再压缩