Linux必杀(十五):常见的压缩命令

简介: 题记:Linux支持的压缩命令非常多,且不同的命令所用的压缩技术并不相同,彼此间无法相互压缩/解压缩文件。*.Z compress程序压缩文件(太老了); *.gz gzip程序压缩的文件; *.bz2 bzip2程序压缩的文件; *.tar tar程序打包的数据,并没有解压缩过; *.tar.gz tar程序打包的文件,其中经过gzip的压缩; *.tar.bz2 tar程序打包的文件,其中经过bzip2的压缩。

题记:

Linux支持的压缩命令非常多,且不同的命令所用的压缩技术并不相同,彼此间无法相互压缩/解压缩文件。

*.Z compress程序压缩文件(太老了);
*.gz gzip程序压缩的文件;
*.bz2 bzip2程序压缩的文件;
*.tar tar程序打包的数据,并没有解压缩过;
*.tar.gz tar程序打包的文件,其中经过gzip的压缩;
*.tar.bz2 tar程序打包的文件,其中经过bzip2的压缩。

一、gzip,zact
gzip 是应用最广的压缩命令了。目前gzip可以解开compress、zip与gzip等软件所压缩的文件。
gzip所创建的压缩文件为*.gz的文件名。

gzip [-cdtv#] 文件名
zcat 文件名.gz

参数:
-c:将压缩的数据输出到屏幕上,可以通过数据流重定向来处理。
-d:解压缩的参数。
-t:可以用来检验一个压缩文件的一致性,看看文件有无错误。
-v:可以显示出原文件/压缩文件的压缩比等信息。
-#:压缩等级,-1最快,但是压缩比最差,-9最慢,但是压缩比最好,默认是-6。

root@wd:/tmp# vi man.config
root@wd:/tmp# gzip -v man.config
man.config:  45.8% -- replaced with man.config.gz
root@wd:/tmp# ll
总用量 56
drwxrwxrwt 11 root root 4096 821 23:19 ./
drwxr-xr-x 24 root root 4096 813 16:42 ../
-rw-------  1 wd   wd      0 822  2017 config-err-krUCCX
-rw-rw-rw-  1 wd   wd      5 822  2017 fcitx-qimpanel:0.pid
srw-------  1 wd   wd      0 822  2017 fcitx-socket-:0=
drwxrwxrwt  2 root root 4096 822  2017 .font-unix/
drwx------  2 wd   wd   4096 822  2017 gnome-software-CB204Y/
drwxrwxrwt  2 root root 4096 822  2017 .ICE-unix/
-rw-r--r--  1 root root  612 821 23:19 man.config.gz
drwx------  3 root root 4096 822  2017 systemd-private-67ed78186bfa450399e3b0b30461e280-colord.service-P04s3t/
drwx------  3 root root 4096 822  2017 systemd-private-67ed78186bfa450399e3b0b30461e280-rtkit-daemon.service-MS2KiD/
drwx------  3 root root 4096 822  2017 systemd-private-67ed78186bfa450399e3b0b30461e280-systemd-timesyncd.service-mhpm5l/
drwxrwxrwt  2 root root 4096 822  2017 .Test-unix/
-rw-rw-r--  1 wd   wd      0 822  2017 unity_support_test.1
-r--r--r--  1 root root   11 822  2017 .X0-lock
drwxrwxrwt  2 root root 4096 822  2017 .X11-unix/
drwxrwxrwt  2 root root 4096 822  2017 .XIM-unix/
root@wd:/tmp# 

当源文件被压缩后,源文件就不存在了哟。

例一:将源文件读出来。

root@wd:/tmp# zcat man.config.gz 
nux支持的压缩命令非常多,且不同的命令所用的压缩技术并不相同,彼此间无法相互压缩/解压缩文件。

*.Z     compress程序压缩文件(太老了);
*.gz     gzip程序压缩的文件;
*.bz2   bzip2程序压缩的文件;
*.tar     tar程序打包的数据,并没有解压缩过;
*.tar.gz   tar程序打包的文件,其中经过gzip的压缩;
*.tar.bz2   tar程序打包的文件,其中经过bzip2的压缩。

例二:解压缩

root@wd:/tmp# gzip -d man.config.gz 
root@wd:/tmp# ll
总用量 56
drwxrwxrwt 11 root root 4096 821 23:22 ./
drwxr-xr-x 24 root root 4096 813 16:42 ../
-rw-------  1 wd   wd      0 822  2017 config-err-krUCCX
-rw-rw-rw-  1 wd   wd      5 822  2017 fcitx-qimpanel:0.pid
srw-------  1 wd   wd      0 822  2017 fcitx-socket-:0=
drwxrwxrwt  2 root root 4096 822  2017 .font-unix/
drwx------  2 wd   wd   4096 822  2017 gnome-software-CB204Y/
drwxrwxrwt  2 root root 4096 822  2017 .ICE-unix/
-rw-r--r--  1 root root 1075 821 23:19 man.config
drwx------  3 root root 4096 822  2017 systemd-private-67ed78186bfa450399e3b0b30461e280-colord.service-P04s3t/
drwx------  3 root root 4096 822  2017 systemd-private-67ed78186bfa450399e3b0b30461e280-rtkit-daemon.service-MS2KiD/
drwx------  3 root root 4096 822  2017 systemd-private-67ed78186bfa450399e3b0b30461e280-systemd-timesyncd.service-mhpm5l/
drwxrwxrwt  2 root root 4096 822  2017 .Test-unix/
-rw-rw-r--  1 wd   wd      0 822  2017 unity_support_test.1
-r--r--r--  1 root root   11 822  2017 .X0-lock
drwxrwxrwt  2 root root 4096 822  2017 .X11-unix/
drwxrwxrwt  2 root root 4096 822  2017 .XIM-unix/
root@wd:/tmp# 

ps:解压后,原.gz压缩文件就不存在了。

例三:
用最佳的压缩比压缩,并保留源文件
这里写图片描述

pc:重点在于-c与>的使用

cat :可以用来读取纯文本文件。
zcat:可以用来读取纯文本被压缩后的压缩文件。

二、bzip2,bzcat
如果说gzip是为了替代compress并提供更好的压缩比而成立的,那么bzip2则是为了取代gzip并提供更佳的压缩比而来的。

bzip2 [-cdkzv#] 文件名
bzcat 文件名.bz2

参数:
-c:将压缩的数据输出到屏幕上,可以通过数据流重定向来处理。
-d:解压缩的参数。
-k:保留源文件,而不会删除原始的文件。
-t:可以用来检验一个压缩文件的一致性,看看文件有无错误。
-z:压缩的参数。
-v:可以显示出原文件/压缩文件的压缩比等信息。
-#:压缩等级,-1最快,但是压缩比最差,-9最慢,但是压缩比最好,默认是-6。
例一、bzip2压缩
这里写图片描述

例二、将内容读出来

root@wd:/tmp# bzcat man.config.bz2 
nux支持的压缩命令非常多,且不同的命令所用的压缩技术并不相同,彼此间无法相互压缩/解压缩文件。

*.Z     compress程序压缩文件(太老了);
*.gz     gzip程序压缩的文件;
*.bz2   bzip2程序压缩的文件;
*.tar     tar程序打包的数据,并没有解压缩过;
*.tar.gz   tar程序打包的文件,其中经过gzip的压缩;
*.tar.bz2   tar程序打包的文件,其中经过bzip2的压缩。

例三、解压缩

root@wd:/tmp# bzip2 -d man.config.bz2 
root@wd:/tmp# ll
总用量 168
drwxrwxrwt 11 root root  4096 821 23:38 ./
drwxr-xr-x 24 root root  4096 813 16:42 ../
-rw-------  1 wd   wd       0 822  2017 config-err-krUCCX
-rw-rw-rw-  1 wd   wd       5 822  2017 fcitx-qimpanel:0.pid
srw-------  1 wd   wd       0 822  2017 fcitx-socket-:0=
drwxrwxrwt  2 root root  4096 822  2017 .font-unix/
drwx------  2 wd   wd    4096 822  2017 gnome-software-CB204Y/
drwxrwxrwt  2 root root  4096 822  2017 .ICE-unix/
-rw-r--r--  1 root root  1075 821 23:28 man.config

例四、用最佳的压缩比压缩,并保留原本的文件

root@wd:/tmp# bzip2 -9 -c man.config > man.config.bz2
root@wd:/tmp# ll
总用量 172
drwxrwxrwt 11 root root  4096 821 23:41 ./
drwxr-xr-x 24 root root  4096 813 16:42 ../
-rw-------  1 wd   wd       0 822  2017 config-err-krUCCX
-rw-rw-rw-  1 wd   wd       5 822  2017 fcitx-qimpanel:0.pid
srw-------  1 wd   wd       0 822  2017 fcitx-socket-:0=
drwxrwxrwt  2 root root  4096 822  2017 .font-unix/
drwx------  2 wd   wd    4096 822  2017 gnome-software-CB204Y/
drwxrwxrwt  2 root root  4096 822  2017 .ICE-unix/
-rw-r--r--  1 root root  1075 821 23:28 man.config
-rw-r--r--  1 root root   654 821 23:41 man.config.bz2
目录
相关文章
|
6天前
|
SQL 缓存 监控
|
6天前
|
前端开发 Linux Shell
|
16小时前
|
存储 监控 Ubuntu
Linux 中常用的 systemd 命令讲解
Linux 中常用的 systemd 命令讲解
|
1天前
|
数据可视化 搜索推荐 Linux
|
3天前
|
Linux Shell 网络安全
网络安全中Dos和linux常用命令总结
本篇是对网安学习中,常用的命令做一个图文与命令示例,并对一些比较重要的dos和shell命令进行总结,方便自己后续学习进行查询,并希望能够给更多人有一个总结命令和了解命令的地方.
28 5
|
6天前
|
Linux
Linux系统ps命令
这些是一些常见的 `ps`命令选项和用法,用于查看系统中运行的进程及其相关信息。您可以根据需要选择合适的选项以满足您的任务要求。
18 0
|
6天前
|
存储 Linux Shell
linux课程第二课------命令的简单的介绍2
linux课程第二课------命令的简单的介绍2
|
6天前
|
Linux C语言 数据安全/隐私保护
linux课程第二课------命令的简单的介绍3
linux课程第二课------命令的简单的介绍3
|
6天前
|
监控 Unix Linux
如何使用 Linux less 命令?
【4月更文挑战第25天】
20 1
如何使用 Linux less 命令?
|
6天前
|
JSON 网络协议 Linux
Linux ip命令:网络的瑞士军刀
【4月更文挑战第25天】
10 1