栏目头部广告

Linux压缩与解压工具详解

一、.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

作者:UStarGao
链接:https://www.starcto.com/systemtool/259.html
来源:STARCTO
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处

UCloud云平台推荐


UCloud新用户专属注册连接

UCloud CDN超值特惠专场

UCloud全球云主机(UHost/VPS)大促页面

UCloud快杰云主机大促页面

文章页广告

随便看看

栏目底部广告
`