资讯专栏INFORMATION COLUMN

Linux压缩与解压工具详解

社区管理员 / 1015人阅读

一、.zip格式

zip格式其实和windows的zip格式是一样的,也就是说可以和windows相互解压缩使用。

(1)语法

功能命令
压缩文件zip 压缩文件名源文件
压缩目录zip -r 压缩文件名 源目录
解压缩文件unzip 压缩文件

(2)操作演示

[root@10-27-0-224 ~]# zip messages.zip messages    # 压缩文件
  adding: messages (deflated 91%)

[root@10-27-0-224 ~]# zip -r blogs.zip blogs/      # 压缩目录
  adding: blogs/ (stored 0%)
  adding: blogs/a/ (stored 0%)
  adding: blogs/a/messages (deflated 91%)
  adding: blogs/b/ (stored 0%)
  adding: blogs/b/messages (deflated 91%)
  adding: blogs/c/ (stored 0%)
  adding: blogs/c/messages (deflated 91%)

[root@10-27-0-224 ~]# unzip blogs.zip              # 解压缩文件
Archive:  blogs.zip
   creating: blogs/
   creating: blogs/a/
  inflating: blogs/a/messages        
   creating: blogs/b/
  inflating: blogs/b/messages        
   creating: blogs/c/
  inflating: blogs/c/messages

二、.gz格式

其实gz格式本身不提供保留源文件功能,保留源文件是利用 -c 参数 + > ,-c会将压缩结果输出到控制台,而 > 可以将输出结果写入文件。

(1)语法

功能命令
压缩为.gz格式,源文件会消失gzip 源文件
压缩为.gz格式,源文件保留gzip -c 文件 > 压缩文件
压缩目录下所有的子文件,但是不能压缩目录gzip -r 目录
解压缩文件gzip -d 压缩文件
解压缩文件gunzip 压缩文件
解压缩目录(子文件)gunzip -r 目录

(2)操作演示

[root@10-27-0-224 ~]# gzip -c messages > messages.gz   # 压缩文件,保留源文件
[root@10-27-0-224 ~]# ll
total 136
drwxr-xr-x 5 root root     33 Nov 17 08:39 blogs
-rw------- 1 root root 125432 Nov 17 08:37 messages
-rw-r--r-- 1 root root  11403 Nov 17 08:56 messages.gz

[root@10-27-0-224 ~]# gzip messages                    # 压缩文件,源文件消失
[root@10-27-0-224 ~]# ll
total 12
drwxr-xr-x 5 root root    33 Nov 17 08:39 blogs
-rw------- 1 root root 11403 Nov 17 08:37 messages.gz
 
[root@10-27-0-224 ~]# gzip -r blogs/                  # 压缩目录下所有的子文件,但不能压缩目录
[root@10-27-0-224 ~]# tree
.
├── blogs
│   ├── a
│   │   └── messages.gz
│   ├── b
│   │   └── messages.gz
│   └── c
│       └── messages.gz
└── messages.gz

4 directories, 4 files

[root@10-27-0-224 ~]# gunzip messages.gz              # 解压缩文件
[root@10-27-0-224 ~]# ll
total 124
drwxr-xr-x 5 root root     33 Nov 17 08:39 blogs
-rw------- 1 root root 125432 Nov 17 08:37 messages

[root@10-27-0-224 ~]# gunzip -r blogs/                # 解压缩目录子文件
[root@10-27-0-224 ~]# tree blogs/
blogs/
├── a
│   └── messages
├── b
│   └── messages
└── c
    └── messages

3 directories, 3 files

三、.bz2格式

关于.bz2格式需要说明一下,bzip2命令不能压缩目录。

(1)语法

功能命令
压缩为.bz2格式,不保留源文件bzip2 源文件
压缩之后保留源文件bzip -k 文件 
解压缩文件bzip -d 压缩文件
解压缩,-k保留压缩文件bunzip2 [-k] 压缩文件

(2)操作演示

[root@10-27-0-224 ~]# bzip2 messages                      # 压缩文件,不保留源文件
[root@10-27-0-224 ~]# ll
total 8
drwxr-xr-x 5 root root   33 Nov 17 08:39 blogs
-rw------- 1 root root 8056 Nov 17 08:37 messages.bz2

[root@10-27-0-224 ~]# bzip2 -k messagesv2                 # 压缩文件,保留源文件
[root@10-27-0-224 ~]# ll
total 144
drwxr-xr-x 5 root root     33 Nov 17 08:39 blogs
-rw------- 1 root root   8056 Nov 17 08:37 messages.bz2
-rw------- 1 root root 126394 Nov 17 09:12 messagesv2
-rw------- 1 root root   8234 Nov 17 09:12 messagesv2.bz2

[root@10-27-0-224 ~]# bzip2 -d messages.bz2               # 解压缩,不保留压缩文件
[root@10-27-0-224 ~]# ll
total 144
drwxr-xr-x 5 root root     33 Nov 17 08:39 blogs
-rw------- 1 root root   8056 Nov 17 08:37 messages
-rw------- 1 root root 126394 Nov 17 09:12 messagesv2
-rw------- 1 root root   8234 Nov 17 09:12 messagesv2.bz2

[root@10-27-0-224 ~]# rm -rf messagesv2
[root@10-27-0-224 ~]# bunzip2 -k messagesv2.bz2           # 解压缩,保留压缩文件
[root@10-27-0-224 ~]# ll
total 260
drwxr-xr-x 5 root root     33 Nov 17 08:39 blogs
-rw------- 1 root root 125432 Nov 17 08:37 messages
-rw------- 1 root root 126394 Nov 17 09:12 messagesv2
-rw------- 1 root root   8234 Nov 17 09:12 messagesv2.bz2

四、.tar格式

(1)语法

功能命令
打包tar -cvf  打包文件名 源文件
解包tar -xvf 打包文件名
选项说明:-c 打包、-v显示过程、-x解压包、-f指定打包后的文件名

(2)操作演示

[root@10-27-0-224 ~]# tar -cvf messages.tar messages          # 打包文件
messages

[root@10-27-0-224 ~]# tar -cvf blogs.tar blogs/               # 打包文件夹
blogs/
blogs/a/
blogs/a/messages
blogs/b/
blogs/b/messages
blogs/c/
blogs/c/messages

[root@10-27-0-224 ~]# ll
total 760
drwxr-xr-x 5 root root     33 Nov 17 08:39 blogs
-rw-r--r-- 1 root root 389120 Nov 17 09:25 blogs.tar
-rw------- 1 root root 125432 Nov 17 08:37 messages
-rw-r--r-- 1 root root 133120 Nov 17 09:25 messages.tar
-rw------- 1 root root 126394 Nov 17 09:12 messagesv2

[root@10-27-0-224 ~]# gzip messages.tar                        # 打包完成后,可以进行压缩
[root@10-27-0-224 ~]# ll
total 640
-rw-r--r-- 1 root root  11535 Nov 17 09:25 messages.tar.gz

五、.tar.gz格式

针对.tar.gz格式是先打包为.tar格式,再压缩为.gz格式,重点!!!压缩多个文件只需要将多个源文件空格隔开即可,将文件压缩到指定目录可以使用路径+压缩文件名。

(1)语法

功能命令
压缩tar -zcvf  压缩文件名.tar.gz 源文件
解压缩tar -zxvf 压缩包名.tar.gz [-C解压位置]
只查看不解压tar -ztvf 压缩包名.tar.gz
选项说明:-z 压缩为.tar.gz格式、-x解压缩.tar.gz格式、-t只查看压缩文件,不解压

(2)操作演示

[root@10-27-0-224 ~]# tar -zcvf double_message.tar.gz messages messagesv2    # 压缩多个文件
messages
messagesv2
[root@10-27-0-224 ~]# ll
total 272
drwxr-xr-x 5 root root     33 Nov 17 08:39 blogs
-rw-r--r-- 1 root root  22732 Nov 17 09:36 double_message.tar.gz
-rw------- 1 root root 125432 Nov 17 08:37 messages
-rw------- 1 root root 126394 Nov 17 09:12 messagesv2

[root@10-27-0-224 ~]# tar -zcf /mnt/blogs.tar.gz blogs/                      # 压缩目录到指定路径下
[root@10-27-0-224 ~]# ll /mnt/
total 1384
-rw-r--r--  1 root root   33950 Nov 17 09:37 blogs.tar.gz

[root@10-27-0-224 ~]# rm -rf messages*
[root@10-27-0-224 ~]# tar -zxvf double_message.tar.gz                        # 解压缩
messages
messagesv2
[root@10-27-0-224 ~]# ll
total 272
drwxr-xr-x 5 root root     33 Nov 17 08:39 blogs
-rw-r--r-- 1 root root  22732 Nov 17 09:36 double_message.tar.gz
-rw------- 1 root root 125432 Nov 17 08:37 messages
-rw------- 1 root root 126394 Nov 17 09:12 messagesv2

[root@10-27-0-224 ~]# tar -zxvf double_message.tar.gz -C /tmp/               # 解压缩到指定位置
messages
messagesv2
[root@10-27-0-224 ~]# ll /tmp/
total 248
-rw------- 1 root root 125432 Nov 17 08:37 messages
-rw------- 1 root root 126394 Nov 17 09:12 messagesv2

六、.tar.bz2格式

针对.tar.bz2格式是先打包为.tar格式,再压缩为.bz2格式,重点!!!

(1)语法

功能命令
压缩tar -jcvf  压缩包名.tar.bz2 源文件
解压缩tar -jxvf 压缩包名.tar.bz2 [-C解压位置]

(2)操作演示

[root@10-27-0-224 ~]# tar -jcvf messages.tar.bz2 messages         # 压缩文件
messages
[root@10-27-0-224 ~]# ll
total 260
-rw-r--r-- 1 root root   8283 Nov 17 09:46 messages.tar.bz2

[root@10-27-0-224 ~]# tar -jxvf messages.tar.bz2 -C /opt/         # 解压文件到指定路径
messages
[root@10-27-0-224 ~]# ll /opt/
total 124
-rw-------  1 root root 125432 Nov 17 08:37 messages

七、.tar.xz2格式

(1)语法

功能命令
压缩成xz格式文件,-k选项保留源文件xz -z  源文件 
解压成tar文件,-k选项保留压缩文件xz -d 压缩文件

(2)操作演示

[root@10-27-0-224 ~]# xz -z messagesv2                   # 压缩文件
[root@10-27-0-224 ~]# ll
total 8
drwxr-xr-x 5 root root   33 Nov 17 08:39 blogs
-rw------- 1 root root 6812 Nov 17 09:12 messagesv2.xz

[root@10-27-0-224 ~]# xz -d messagesv2.xz                # 解压文件
[root@10-27-0-224 ~]# ll
total 124
drwxr-xr-x 5 root root     33 Nov 17 08:39 blogs
-rw------- 1 root root 126394 Nov 17 09:12 messagesv2

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/128155.html

相关文章

  • linux常见压缩格式详解

    摘要:常见的压缩格式文件格式是一种数据压缩和文档储存的文件格式,原名,发明者为菲尔卡茨,他于年月公布了该格式的资料。 linux 文件压缩格式详解 压缩文件原理 在计算机科学和信息论中,数据压缩或者源编码是按照特定的编码机制用比未经编码少的数据比特(或者其它信息相关的单位)表示信息的过程。例如,如果我们将compression编码为comp那么这篇文章可以用较少的数据位表示。常见的例子是ZI...

    Xufc 评论0 收藏0
  • tar详解

    摘要:下面的参数是根据需要在压缩或解压档案时可选的。是表示产生新的包,指定包的文件名。这条命令是更新原来包中文件,是表示更新文件的意思。 写在前面 原文:tar解压缩命令 tar -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。...

    yiliang 评论0 收藏0
  • tar详解

    摘要:下面的参数是根据需要在压缩或解压档案时可选的。是表示产生新的包,指定包的文件名。这条命令是更新原来包中文件,是表示更新文件的意思。 写在前面 原文:tar解压缩命令 tar -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。...

    苏丹 评论0 收藏0
  • pbzip2安装及使用

    摘要:版本简介平时大文件的压缩喜欢使用,虽然的压缩率很高,但是压缩时长实在无法忍受,于是,通过强大的找到了这款工具,作为多线程版本的工具,压缩比和基本相当,但是压缩时间比减少了线程数倍数,毕竟是单线程工作,是多线程工作。 Linux版本:Debian8.5 简介 平时大文件的压缩喜欢使用bzip2,虽然bzip2的压缩率很高,但是压缩时长实在无法忍受,于是,通过强大的Google找到了pbz...

    liuyix 评论0 收藏0
  • 软件测试工作中需要的Linux知识,一篇文章就够了

    摘要:的发行版说简单点就是将与应用软件做一个打包目前市面上比较知名的发行版有等等。为什么要学习项目服务器一般都是系统,负责搭建及维护测试环境,负责跟踪及定位。也属于一个通信协议是协议的一部分。 ...

    canger 评论0 收藏0
  • Linux系列笔记】-------用户账户和组管理详解及实用指令补充(四)

    摘要:每个组都有唯一的跟类似,除了,每个组还有唯一的组名,与用户账户类似,组信息也保留系统文件中。及相关资料网友自取。 作者:嵌入式历练者 ID : Eterlove 记下相关笔记,记录我的学习生活!站在巨人的肩上Standing on Shoulders of Giants! 该文章...

    baiy 评论0 收藏0

发表评论

0条评论

社区管理员

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<