Linux压缩与解压Day.14

一.什么是文件压缩

将多个文件或目录合并成为一个特殊的文件。

二.为什么要对文件进行压缩

1.压缩文件会减小文件的体积

2.加快资源的传输

3.节省网络的宽带

三.Windows的压缩包与Linux的压缩包可以互通

1.Windows的压缩包类型:rar  zip 等等的其他类型

2.Linux的压缩包类型:zip tar.gz 等等的其他类型

PS:Linux不支持Windows下的rar格式的压缩文件。所以Windows和Linux互通通常选择zip格式。

四.Linux中常见压缩包类型

.zip        zip压缩工具

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

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

.tar.gz    先使用tar命令归档打包,然后使用gzip压缩

.tar.bz2  先使用tar命令归档打包,然后使用bzip压缩

五.工具使用

1.gzip使用方法(gzip打包压缩只对文件有效)

默认情况下没有gzip工具需要安装:

yum  install  gzip  -y

gzip  文件名    (打包)

例:[root@localhost ~]# gzip zy10.txt 

gzip  -d  文件名.gz  (解包)

例:[root@localhost ~]# gzip -d zy10.txt.gz

zcat  文件名.gz          (查看包内文件的内容)

例:[root@localhost ~]# zcat zy10.txt.gz

让某个文件暂时失效和快速启用

gzip  文件名    (gzip  *  打包当前目录所有文件)

gzip  -d  文件名 (gzip -d * 解压当前目录所有文件)

zcat  文件名  (查看不想解压的压缩包)

2.zip  unzip 使用方法

默认情况下没有zip和unzip工具需要安装:

yum  install  zip unzip  -y

zip  压缩包名.zip  文件名  (压缩文件为压缩包)

例:[root@localhost ~]# zip zhangyao.zip zy10.txt

unzip  -l  压缩包名.zip  (查看包内文件)

例:[root@localhost ~]# unzip -l zhangyao.zip

  (unzip -t zhangyao.zip 检测文件是否都OK)

zip  -r  压缩包名.zip  目录名  (压缩目录)

例:[root@localhost ~]# zip -r tmp.zip /tmp/

zip  -T  压缩包名.zip    (查看压缩包是否完整)

unzip  压缩包名.zip    (解压压缩包到当前目录)

例:[root@localhost ~]# unzip tmp.zip

unzip  压缩包名.zip  -d  其他目录  (解压压缩包到其他目录)

例:[root@localhost ~]# unzip tmp.zip -d /home/

3.tar使用方法(tar是linux下最常用的压缩与解压的工具,支持文件和忽略的压缩)    ------ du  -sh  (查看文件大小)

使用语法: tar  -czf  文件名  要打包的文件名  (打包)

例:[root@localhost ~]# tar -czf root.tar.gz /root/

tar  -czf  目录/ 文件名  要打包的文件名 (打包到指定的某个目录)

例:[root@localhost ~]# tar -czf /tmp/root.etc.atr.gz /etc/ /root/

c      创建新的归档文件

x      对归档文件解包

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

f      指定压缩包文件名,参数f写最后

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

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

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

C    指定解压目录位置

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

h    打包软连接

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

常用打包与压缩的组合

------------------------------------------------>>打包

czf        打包tar.gz格式

cjf          打包tar.bz2格式

cJf        打包tar.xz格式(使用较少)

czhf      打包tar.gz格式的软连接

------------------------------------------------>>解包

zxf        解压tar.gz格式

jxf          解压tar.bz格式

xf          自动选择解压模式

tf            查看压缩包内容

------------------------------------------------>>常用

czf        打包tar.gz格式

tf            查看压缩包内容

xf          自动选择解压模式

-C          解压到指定目录

例:(tar  xf  root.tar.gz  -C /tmp/)

find和tar组合用法

1.[root@localhost ~]# find /root/ -type f | xargs tar -czf /tmp/root.txt.tar.gz

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

(root目录下的所有文件打包到tmp目录下)

4.--exclude=单个文件  (排除单个文件)

例:[root@localhost ~]# tar zcf root.tar.gz /root/ --exclude /root/zy11.txt


x排除多个文件

需要创建一个文件,将要排除的文件写入文件中。(pc.txt)

例:tar  czXf  pc.txt  root.tar.gz /root/

你可能感兴趣的:(Linux压缩与解压Day.14)