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云平台推荐
随便看看
- 2021-09-20MySQL半同步复制与刷盘策略
- 2021-01-24Console配置线使用方法
- 2021-08-07CI/CD Pipeline之Jenkins部署
- 2021-07-21MySQL主从同步异常之从库误写数据
- 2021-01-23K8S Context和Namespace管理工具kubectx/kubens