一、前言
打包和压缩文件是运维人员经常进行的操作,通常会进行一些包的迁移、替换、更改等相关操作。
打包指的是将多个文件或者目录放在一起,形成一个包,便于保存和传输,但是大小是没有变化的。
压缩是指将一个或者多个大文件或者目录通过压缩算法使文件的体积变小以达到压缩的目的,可以节省存储空间,在压缩的时候通常是先打包再压缩;
通常我们在进行打包时,用的比较多的就是zip和tar了,既可以进行打包,也可以进行压缩,
二、tar与zip的使用方法
1、zip压缩工具
zip的压缩包在windows和linux中都比较常用,可以用来压缩目录和文件
当压缩目录时,通常需要指定目录下的文件。zip后面跟目标文件名
注:如果没有zip命令的话,可以用yum install -y zip 来安装。
2、zip示例:
(一)打包文件
将a.txt 和 b.txt 进行打包
zip a.zip a.txt b.txt
如此,便打包成功
(二)压缩文件
如果没有unzip指令的话,可以通过yum install -y unzip
unzip a.zip
(三)打包目录
压缩目录要加上-r选项。如果不带-r则只是压缩二级目录本身
zip -r xxx.zip xxx/
(四)解压目录
unzip xxx.zip
加上-d 选项可以解压到指定的目录
unzip xxx.zip -d /tmp/ # 将该zip包解压到/tmp/目录下
3、tar打包
tar本身就是一个打包工具,它可以把目录整合打包成一个文件,把所有文件整合成一个大文件,方便复制和移动。
使用tar打包工具,源文件或目录不会被删除而且它会覆盖当前已经存在的文件或目录。
语法格式: tar 选项 文件或者目录
参数说明:
c 创建新的tar包
v 显示详细tar执行过程
f 指定压缩的文件名字
t 不解压查看tar包的内容
p 保持文件的原有属性
j 通过bzip2命令压缩或解压
z 通过gzip压缩或解压
x 解压tar包
C 指定解压的目录路径*
(一)、打包目录
备份/etc目录
tar -zcvf etc.gz /etc/
查看压缩包的内容
# tar -ztvf etc.gz
drwxr-xr-x root/root 0 2018-05-07 01:28 etc/sysconfig/
-rw-r--r-- root/root 21 2017-07-31 18:53 etc/sysconfig/clock
-rw-r--r-- root/root 63 2017-07-31 18:53 etc/sysconfig/keyboard
注:
z:gzip解压或压缩文件,此处解压文件;t:不解压查看tar包文件;v:显示tar执行过程;f:指定压缩的文件名。
(二)解压压缩包
tar -zxf network.gz
# ls
etc etc.gz network.gz
# ls -l etc
总用量 4
drwxr-xr-x 7 root root 4096 5月 7 01:28 sysconfig