您的位置:首页 > 运维架构 > Linux

Linux压缩和解压缩工具及归档工具介绍

2017-03-28 22:21 645 查看

一、常见的压缩和解压缩工具

压缩解压缩后缀
compressuncompress.z
gzipgunzip.gz
bzip2bunzip2.bz2
xzunxz.xz
lzmaunlzma.lzma
zipunzip.zip

1、gzip / gunzip / zcat

gzip压缩后,原文件将被删除,仅保留压缩后的文件。

(1)gzip:压缩文件

SYNOPSIS:gzip [OPTIONS]… FILE…

OPTIONS:

-d:解压缩,相当于gunzip;

-#:指定压缩比,默认是6,数字范围为1~9,数字越大压缩比越大;

-c:将压缩结果输出至标准输出,常通过输出重定向达到压缩并保留原文件的目的。

复制/var/log/messags文件至/tmp目录下
[root@localhost tmp]# cp /var/log/messages ./
[root@localhost tmp]# ll -h
总用量 236K
-rw-------. 1 root root 234K 3月  12 04:52 messages

将messages文件进行压缩,得到messages.gz文件,原messages文件被删除。
[root@localhost tmp]# gzip messages
[root@localhost tmp]# ll -h
总用量 32K
-rw-------. 1 root root 32K 3月  12 04:52 messages.gz

解压缩messsages.gz文件,
[root@localhost tmp]# gzip -d messages.gz
[root@localhost tmp]# ll -h
总用量 236K
-rw-------. 1 root root 234K 3月  12 04:52 messages

指定压缩等级为1对messages文件进行压缩,得到messages.gz文件的大小为36K,比默认等级为6时得到的32K大了4K
[root@localhost tmp]# gzip -1 messages
[root@localhost tmp]# ll -h
总用量 36K
-rw-------. 1 root root 36K 3月  12 04:52 messages.gz

解压缩后,使用-c选项并输出重定向,以达到压缩并保留原文件的目的;
重定向后的文件messages.gz的权限与原文件不同,为系统新建文件时的默认权限
[root@localhost tmp]# gzip -d messages.gz
[root@localhost tmp]# ls
messages
[root@localhost tmp]# gzip -c messages >messages.gz
[root@localhost tmp]# ll -h
总用量 268K
-rw-------. 1 root root 234K 3月  12 04:52 messages
-rw-r--r--. 1 root root  32K 3月  12 04:56 messages.gz


(2)gunzip:解压缩

SYNOPSIS:gunzip FILE…

使用gunzip解压缩文件
[root@localhost tmp]# ls
messages.gz
[root@localhost tmp]# gunzip messages.gz
[root@localhost tmp]# ls
messages


(3)zcat:在不解压文件的前提下查看压缩文件的内容

SYNOPSIS:zcat FILE…

[root@localhost tmp]# ls
messages.gz
[root@localhost tmp]# zcat messages.gz  |head
Mar 11 23:45:01 localhost kernel: imklog 5.8.10, log source = /proc/kmsg started.
Mar 11 23:45:01 localhost rsyslogd: [origin software="rsyslogd" swVersion="5.8.10"
...(省略更多的内容)...


2、bzip2 / bunzip2 / bzcat:大部分使用与gzip相同

(1)bzip2:压缩文件

SYNOPSIS:bzip2 [OPTIONS]… FILE…

OPTIONS:

-d:解压缩

-#:指定压缩比,默认是6,数字范围为1~9,数字越大压缩比越大;

-k:keep,保留原文件

使用-k选项,压缩并保留原文件
[root@localhost tmp]# ll -h
总用量 236K
-rw-------. 1 root root 236K 3月  12 05:32 messages
[root@localhost tmp]# bzip2 -k messages
[root@localhost tmp]# ll -h
总用量 256K
-rw-------. 1 root root 236K 3月  12 05:32 messages
-rw-------. 1 root root  20K 3月  12 05:32 messages.bz2


(2)bunzip2:解压缩

(3)bzcat:在不解压文件的前提下查看压缩文件的内容

3、xz / unxz / xzcat:大部分使用与bzip2相同

(1)xz:压缩文件

SYNOPSIS:xz [OPTIONS]… FILE…

OPTIONS:

-d:解压缩

-#:指定压缩比,默认是6,数字范围为1~9,数字越大压缩比越大;

-k:keep,保留原文件

(2)unxz:解压缩

(3)xzcat:在不解压文件的前提下查看压缩文件的内容

二、归档工具tar:

多数压缩工具只能压缩一个文件,不能将多个文件压缩成一个文件,也不支持压缩目录。由此,便有了归档工具的用武之地。

归档工具的作用,是将多个文件或者目录整合成一个文件,这样便能使用压缩工具进行压缩。

常见的归档工具有:tar、cpio。

tar的使用:

SYNOPSIS:tar [OPTION]… FILE…

1、创建归档

-cf /PATH/TO/SOMEFILE.tar FILE…

[root@localhost tmp]# cp /var/log/messages  .
[root@localhost tmp]# ls
log  messages
[root@localhost tmp]# tar -cf first.tar ./log ./messages
[root@localhost tmp]# ls
first.tar  log  messages


2、展开归档

-xf /PATH/FROM/SHOMEFILE.tar 展开归档文件至当前工作目录下;

-xf /PATH/FROM/SHOMEFILE.tar -C /PATH/TO/SOMEDIR 展开归档文件至指定目录下;

[root@localhost tmp]# ls
first.tar
展开归档文件至当前工作目录下:
[root@localhost tmp]# tar -xf first.tar
[root@localhost tmp]# ls
first.tar  log  messages
[root@localhost tmp]# mkdir test
[root@localhost tmp]# ls
first.tar  log  messages  test
展开归档文件至指定目录下:
[root@localhost tmp]# tar -xf first.tar -C ./test/
[root@localhost tmp]# ls test
log  messages


3、查看归档文件的文件列表

-tf /PATH/TO/SOMEFILE.tar

[root@localhost tmp]# ls
first.tar  log  messages  test
查看归档文件的文件列表:
[root@localhost tmp]# tar -tf first.tar
./log/
./log/spice-vdagent.log
./log/wtmp
...省略更多内容...


4、归档并压缩 / 解压并展开归档

-z:使用gzip

-zcf /PATH/TO/SOMEFILE.tar.gz FILE… 归档并使用gzip压缩

-zxf /PATH/TO/SOMEFILE.tar.gz 解gzip压缩并展开归档

[root@localhost tmp]# ls
log
[root@localhost tmp]# tar -zcf log1.tar.gz log
[root@localhost tmp]# ls
log  log1.tar.gz
[root@localhost tmp]# tar -zxf log1.tar.gz
[root@localhost tmp]# ls
log  log1.tar.gz


-j:归档后使用bzip2压缩,使用与-z选项相同

-J:归档后使用xz压缩,使用与-z选项相同
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  压缩 gzip