Day - 15(文件压缩):

Day - 15(文件压缩):

什么是文件压缩:

将多个文件或者是目录合并成为一个特殊的文件,并将其文件的大小进行压缩变小,更有利于传输

为什么要进行文件压缩:

减小文件的体积

加快资源的传输

节省网络的带宽

Windows和Linux的压缩包能否互通:

Windows和Linux对比:

windows: 默认是rar zip 其实支持很多类型的压缩

linux: zip tar.gz ....

windows与linux互通 建议使用: zip

Linux下常见的压缩类型有哪些:

.zip

zip压缩工具 (必须要会使用的)

.gz

gzip压缩工具,只能压缩文件,会删除原文件(通常配合tar使用)

.bz2

bzip2压缩工具,只能压缩文件,会删除原文件(通常配合tar使用)

.tar.gz

先使用tar命令归档打包,然后使用gzip压缩 (必须会的)

.tar.bz2

先使用tar命令归档打包,然后使用bzip压缩 (顺带就会)

四种(1+1+1+2)压缩工具的使用方法:

1.zip工具使用:

功能:

可以压缩文件也可以压缩目录。

命令:

zip

压缩

zip + 压缩包名称及路径 + 要压缩的文件和目录

选项:

zip -r

递归压缩目录

zip -T

查看压缩包是否完整

unzip

解压

unzip + 要解压的文件路径 + 默认到解压到当前路径

unzip + 要解药的文件路径 -d 指定放置的路径

选项:

unzip -l

检测压缩文件中的文件目录

unzip -t

检测压缩文件中的文件是否完整

2.gzip工具使用:

功能:

只能对文件有效,不能对目录

使用后会删除源文件,不能指定压缩包的路径

使用场景:

当需要让某个文件快速关闭和快速启用。

命令:

gzip

gizp + 文件名称

对文件进行压缩

gzip -d 压缩包名称

zcat

zcat 压缩包名称

3..tar工具使用:

功能:

tar是linux下最常用的压缩与解压缩, 支持文件和目录的压缩归档

可选择功能参数:

c  #创建新的归档文件

x  #对归档文件解包

t  #列出归档文件里的文件列表

v  #输出命令的归档或解包的过程

f  #指定包文件名,多参数f写最后

z  #使用gzip压缩归档后的文件(.tar.gz)

j  #使用bzip2压缩归档后的文件(.tar.bz2)

J  #使用xz压缩归档后的文件(tar.xz)

C  #指定解压目录位置

X  #排除多个文件(写入需要排除的文件名称)

h  #打包软链接

--hard-dereference  #打包硬链接

--exclude  #在打包的时候写入需要排除文件或目录

常用的功能参数组合:

czf    #打包tar.gz格式

cjf    #打包tar.bz格式

cJf    #打包tar.xz格式

zxf    #解压tar.gz格式

jxf    #解压tar.bz格式

xf      #自动选择解压模式

tf      #查看压缩包内容

示例:

将文件或是目录进行打包压缩:

1.以gzip归档方式打包并压缩

tar czf  test.tar.gz  test/ test2/

2.以bz2方式压缩

tar cjf  test.tar.bz2 dir.txt dir/

3.打包链接文件,打包链接文件的真实文件

cd /

tar czfh local.tar.gz  etc/rc.local

4.打包/tmp下所有文件

cd /

find tmp/ -type f | xargs tar czf tmp.tar.gz

5.打包/tmp下所有文件

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

排除文件, 并打包压缩

排除单个文件

tar czf etc.tar.gz --exclude=etc/services etc/

排除多个文件

tar czf etc.tar.gz --exclude=etc/services --exclude=etc/rc.local etc/

将需要排除的文件写入文件中

cat paichu.list

etc/services

etc/rc.local

etc/rc.d/rc.local

指定需要排除的文件列表, 最后进行打包压缩

tar czfX etc.tar.gz paichu.list etc/

查看压缩文件

tar tf  test.tar.gz

解压缩文件

#1.解压至当前目录

tar xf  test.tar.gz     

#2.将解压内容存储至指定的/tmp目录

tar xf /etc/local.tar.gz  -C /tmp

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。