Linux压缩归档管理
Posted 闫世成
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux压缩归档管理相关的知识,希望对你有一定的参考价值。
什么是压缩?
压缩就是用时间换取空间,CPU的时间换取磁盘的空间,下载传输的过程中可以节约带宽.
zip/unzip
zip支持多平台,支持归档压缩.文件经它压缩后会另外产生具有".zip"扩展名的压缩文件.
zip
语法: zip [options] /PATH/TO/SOMEFILE.zip [压缩文件/压缩目录]
OPTIONS:
选项 | 说明 |
-r | 递归处理,将指定目录下的所有文件和子目录一并处理。 |
-b | <工作目录> 指定暂时存放文件的目录 |
-d | 从压缩文件内删除指定的文件。 |
-q | 不显示指令执行过程。 |
-v | 显示指令执行过程或显示版本信息。 |
unzip
语法: unzip /PATH/TO/SOMEFILE.zip
gzip/gunzip/zcat
文件经过gzip压缩后,文件会多出一个 .gz后缀。gzip命令对文本文件有60%~70%的压缩率。不支持压缩目录.
gzip
语法: gzip [OPTIONS] file > file.gz
OPTIONS:
选项 | 说明 |
-c | 将压缩或者解压缩文件结果输出至标准输出,不加此参数删除源文件. |
-d | 解压缩,相当于gunzip |
-# | 1-9,指定压缩比,值越大压缩比越大 |
-v | 输出详细信息 |
-l | 列出压缩文件详细信息 |
gunzip
语法: gunzip -c file.gz > file
zcat
不显示压缩的前提下查看文本内容.
语法: zcat file.gz > file
bzip2/bunzip2/bzcat
不加-k参数压缩,删除源文件,不能针对目录压缩.
Linux bzip2命令是.bz2文件的压缩程序。
bzip2采用新的压缩演算法,压缩效果比传统的LZ77/LZ78压缩演算法来得好。若没有加上任何参数,bzip2压缩完文件后会产生.bz2的压缩文件,并删除原始的文件。
bzip2
语法: bzip2 [OPTIONS] FILE....
OPTIONS:
选项 | 说明 |
-c | 将压缩或者解压缩文件结果输出至标准输出 |
-k | 保留源文件 |
-k | 保留源文件 |
-# | 1-9,指定压缩比 |
bunzip
解压缩.bz2文件.
语法: bunzip2 file.bz2
bzcat
不显示压缩的前提下查看文本文件内容.
语法: bzcat file.bz2
xz/unxz/xzcat
不加-k参数压缩,删除源文件,不能针对目录压缩.
xz
语法: xz [OPTION]... FILE...
OPTIONS:
选项 | 说明 |
-c | 将压缩或者解压缩文件结果输出至标准输出 |
-k | 保留源文件 |
-k | 保留源文件 |
-# | 1-9,指定压缩比 |
unxz
解压.xz文件.
语法: unxz file.xz
xzcat
不显示压缩的前提下查看文本文件内容.
语法: zcat file.xz
tar
Tar(Tape ARchive,磁带归档的缩写)
Linux tar命令用于备份文件。
tar是用来建立,还原备份文件的工具程序,它可以加入,解开备份文件内的文件。
语法: tar [OPTIONS] /path/to/SOMEFILE.tar.. FILE....
OPTIONS:
选项 | 说明 |
-c | 创建新的归档文件 |
-C | <目的目录>或--directory=<目的目录> 切换到指定的目录。 |
-f | 指定备份文件 |
-r | 追加文件至归档, 不支持对压缩文件追加 |
-x | 展开归档文件 |
-j | 使用bzip2归档并压缩 |
-z | 使用gzip归档并压缩 |
-J | 使用xz归档并压缩 |
-T | 输入指定要备份的文件,/root/includefilelist |
-X | 指定包含要排除的文件列表,/root/excludefilelist |
本章练习
1. 压缩/etc/sysconfig/下面所有文件到/tmp/下并命名为config.zip并从config.zip解压缩到/list/zip/ 2. 分别使用gzip,bzip2,xz压缩/etc/fstab文件到/tmp/[fatab.gz,fatab.bz2,fstab.xz],不解压查看文件,分别解压到/list/[gzip,bzip2,xz].(保留源文件) 3. 使用tar命令分别以[gzip,bzip2,xz]归档压缩/usr/local/* 到tmp下,分别解压到/list/tar以压缩格式命名.
答案:
1 1. 2 zip -r /tmp/config.zip /etc/sysconfig/ 3 unzip -d /list/zip/ /tmp/config.zip 4 5 2. 6 zcat /tmp/fstab.gz 7 gunzip -c /tmp/fstab.gz > /list/gzip/fstab 8 9 bzip2 -k -c /etc/fstab > /tmp/fstab.bz2 10 bzcat /tmp/fstab.bz2 11 bunzip2 -c /tmp/fstab.bz2 > /list/bzip2/fstab 12 13 xz -c -k /etc/fstab > /tmp/fstab.xz 14 xzcat /tmp/fstab.xz 15 unxz -c /tmp/fstab.xz > /list/xz/fatab 16 17 3. 18 tar jcvf /tmp/gzip.tar.bz2 * 19 tar Jcvf /tmp/xz.tar.xz * 20 tar zcvf /tmp/gz.tar.gz * 21 22 tar jxvf /tmp/bzip2.tar.bz2 * -C /list/tat/bzip2 23 tar Jxvf /tmp/xz.tar.xz * -C /list/tat/xz 24 tar zxvf /tmp/gzip.tar.gz * -C /list/tat/gzip
以上是关于Linux压缩归档管理的主要内容,如果未能解决你的问题,请参考以下文章