compress_archive

压缩与归档

压缩率(Compression ratio)

指文件压缩后的大小与压缩前的大小之比,压缩率越小,压缩效果越好

压缩工具

compress&uncompresse

压缩产生.Z文件
compress [-cfv][-b bits][file]
    -c:压缩后保留原文件,但默认不保留
    -d:解压缩文件
    -f:强制压缩文件
    -v:显示完整的压缩过程

gzip&gunzip&zcat

gzip [OPTION]... FILE...
    gzip需要按照文件后缀名来解压缩,所以压缩的文件名称最好要使用.gz后缀
    -d:解压缩,相当于gunzip
    -#:指定压缩比,默认为6;数字越大压缩比越大,范围是1-9
    -c:将压缩结果输出至标准输出;因此经常的使用方式是:
        gzip -c FILE > file.gz
[root@localhost lab]# gzip -c zeroFile > zero.gz
[root@localhost lab]# ls
zeroFile  zeroFile.xz  zero.gz
gunzip FILE
    直接解压文件,同样地,解压缩也会删除原来的压缩文件
zcat FILE
    直接查看文本文件内容而不用解压,适用于查看小文件

bzip2&bunzip2&bzcat

bzip2 [OPTION]... FILE...
    bzip2压缩也会删除源文件,文件后缀名为bz2
    -d:解压缩,相当于bunzip2
    -#:指定压缩比
    -k:保留原文件,有keep的含义
bunzip2 FILE
    直接解压文件
bzcat FILE
    直接查看文本文件但是不解压

xz&unxz&xzcat|lzma&unlzma|lzcat

xz [OPTION]... FILE...
    -d:解压缩
    -#:指定压缩比
    -k:保留原文件
[root@localhost lab]# ls
zeroFile
[root@localhost lab]# xz -k zeroFile 
[root@localhost lab]# ls
zeroFile  zeroFile.xz

注意:以上命令都不能压缩目录,这就是为什么有归档的原因
以上几个工具选项都比较类似,基本是命令直接接参数,-d表示解压缩-c表示保留原文件-#指定压缩比-k保留原文件

归档工具

Linux中目录知识一种存储路径映射的文件,对目录压缩并不能对目录中的文件进行压缩,所以就需要把各个分散的文件集中在一起形成一种新的文件,这就是归档文件。归档一般用于备份,而为了减少存储空间,一般和压缩一起进行。所以归档时可以顺便压缩(解压缩)文件。

备份是制作文件的副本,归档后要把当前文件系统中归档文件复制到其它存储介质中才有效

tar

tar [OPTION]... FILE...
    -c  创建归档
    -x  展开归档
    -t  查看归档文件的文件列表
    -f, --file=ARCHIVE  指定归档后的文件或者设备
    -C  指定展开归档到何处
    -z  使用gzip,归档并压缩
        zcf、zxf,其中zxf中的z可以省略,因为gzip可以自动识别
    -j  使用bzip2,归档并压缩
        jcf、jxf
    -J  使用xz,归档并压缩
        Jcf、Jxf
    -P  使用绝对路径,忽略/
注意:
    tar选项的dash可以省略
    tar -cf选项中f必须在c之后,因为顺序不同那么参数的作用对象就不同
[root@localhost lab]# ls
fstab  grub.conf  issue  zeroFile
[root@localhost lab]# tar -Jcf total.tar.xz ./*
[root@localhost lab]# ls
fstab  grub.conf  issue  total.tar.xz  zeroFile
[root@localhost lab]# tar -t total.tar.xz 
^C
[root@localhost lab]# xz -dk total.tar.xz 
[root@localhost lab]# ls
fstab  grub.conf  issue  total.tar  total.tar.xz  zeroFile
    **注意:归档的过程中,最重要的参数就是-f,不论任何操作都需要f选项指定归档的对象。**

如何归档目录?

从以上可以发现,在使用绝对路径的时候,最好使用-P选项,否则就会出现tar: Removing leading `/’ from member names这种提示,
而解压的时候,如果不指定路径,就会解压到当前目录下,当时如果指定了路径,就一定要是原来归档文件的原始路径,否则,就会出现命令成功但是找不到解压到了什么地方的情况,通过etc目录的时间戳就可以发现-C /指定解压目录后覆盖了原始文件

cpio

制作归档文件或者提取文件

1. copy-out模式:将一组文件copy到一个归档文件

\# 将当前目录下的所有文件传递给cpio并输出为一个归档的文件arch
[root@localhost lab]# ls | cpio -o > /backup/arch
67 blocks
  1. copy-in模式:从归档文件读取文件并展开
  2. -p模式:从某个目录读取所有文件,包括子目录到另一个目录,但是不以archive方式存放
\#将当前目录下的所有文件传递给cpio并输出到另一个目录,达到了完全的复制
[root@localhost lab]# ls | cpio -p /backup/
66 blocks

归档压缩

zip

zip -r destFILE.zip srcDIR
递归压缩目录

unzip

unzip destFILE.zip -d /DIR
    指定目录解压

zip命令可以对目录压缩

……

下载redis-3.0.2.tar.gz,展开至/tmp目录;而后得到新创建压缩为xz格式
    tar -zxf redis-2.8.7.tar.xz -C /tmp/
    tar -Jcf redis-2.8.7
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值