文件的压缩、打包与备份

一、Linux系统常见的压缩指令

常见的压缩文件扩展名与压缩程序对应表:
在这里插入图片描述
Linux上常见的压缩指令就是gzipbzip2xz,至于compress已经退出流行了。

1. gzip

1.1 压缩

在这里插入图片描述
使用gzip进行压缩时,在预设的状态下原本的文件会被压缩成.gz的档名,且源文件就不再存在了!

  • 若想保留源文件,添加参数-k-c+>可实现:
gzip -k services

或:

gzip -c services > services.gz
1.2 读取

读取可以使用zcatzmorezlesszgrep
在这里插入图片描述
在这里插入图片描述

1.3 解压缩

通过参数-d实现解压缩:
在这里插入图片描述
解压缩也是默认删除压缩文件!

2. bzip2

bzip2的压缩比优于上一节介绍的gzip。压缩后扩展名变成了.bz2,用法与gzip差不多。

在这里插入图片描述

3. xz

xz的压缩比进一步提升。
在这里插入图片描述

上述三种指令的压缩比不断提升,但是压缩时间也会增加,因此在使用时需要根据空间和时间需求,选择合适的压缩指令。

二、打包指令:tar

tar可以将多个目录或文件打包成一个大文件,同时还可以透过gzip/bzip2/xz的支持,将该文件同时进行压缩。
在这里插入图片描述

1. 使用tar加入-z,-j,-J进行打包压缩

例如,采用bzip2进行打包并压缩的指令:

  • 压缩:tar -jcv -f filename.tar.bz2 要被压缩的文件或目录名称
  • 查询:tar -jtv -f filename.tar.bz2
  • 解压缩:tar -jxv -f filename.tar.bz2 -C 欲解压缩的目录

其中,文件名后缀的.tar.bz2格式就代表采用bzip2进行压缩并打包,它与参数中的-j对应;
另外,参数-z表示采用gzip压缩,后缀为.tar.gz;参数-J表示采用xz压缩,后缀为.tar.xz

  • 如果不带这三个参数,则表示只打包不压缩,后缀为.tar

在这里插入图片描述

2. 查阅tar文件的数据内容

将压缩时的-z,-j,-J选项改为-t即可。

  • 加上-v这个选项时,详细的文件权限/属性都会被列出来:
    在这里插入图片描述
  • 不加-v选项时,只会列出文件名:
    在这里插入图片描述

3. 解打包并解压缩

将打包时的-c选项换成-v选项,并通过-C选项指定目录:
在这里插入图片描述

4. 仅解开单一文件的方法:

只需要使用tar -jtv找到包中需要的档名,然后用tar -jxv将该档名解开即可。
在这里插入图片描述

5. 打包某目录,但不包含该目录下的某些文件

此时可以通过--exclude选项实现:
在这里插入图片描述

6. 仅备份比某个时刻新的文件

某些情况下只需要备份新的文件而已,不需要备份旧文件,此时可以采用--newer-mtime选项
在这里插入图片描述

7. 特殊应用:利用管线命令与数据流

在下例中,我们想要将/etc目录直接拷贝到当前目录下,但是又觉得cp -r有点麻烦,就直接以这个打包的方式进行。
在这里插入图片描述

  • 其中,指令里面的-就是表示那个被打包的文件,由于我们又不想让中间文件存在,所以就以这个方式来进行复制的行为。
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客
应支付0元
点击重新获取
扫码支付

支付成功即可阅读