第九章、文件与文件系统的压缩与打包 Linux 系统常见的压缩命令

Linux 系统常见的压缩命令:

在Linux中,压缩文件的扩展名大多是:『*.tar,
*.tar.gz, *.tgz, *.gz, *.Z, *.bz2』

Linux 支持的压缩命令非常多,且不同的命令所用的压缩技术并不相同,彼此之间可能就无法相互压缩/解压缩文件。
所以,当你下载到某个压缩档时,自然就需要知道该文件是由哪种压缩命令所制作出来的,好用来对照著解压缩!虽然 Linux 文件的属性基本上是与档名没有绝对关系的,
但是为了帮助我们人类,所以适当的扩展名还是必要的!

*.Z         compress 程序压缩的文件;
*.gz        gzip 程序压缩的文件;
*.bz2       bzip2 程序压缩的文件;
*.tar       tar 程序打包的数据,并没有压缩过;
*.tar.gz    tar 程序打包的文件,其中并且经过 gzip 的压缩
*.tar.bz2   tar 程序打包的文件,其中并且经过 bzip2 的压缩

bzip2 gzip命名仅能针对一个文件来压缩与解压缩!

tar 可以将很多文件(目录)『打包』成为一个文件,它并没有提供压缩的功能,后来,GNU 计划将tar 与压缩的功能结合在一起,如此一来可以提供给使用者更方便并且更强大的压缩与打包功能!


compress

gzip能解开使用 compress 压缩的文件!

[[email protected] ~]# yum install ncompress
base        100% |=========================| 1.1 kB    00:00
updates     100% |=========================|  951 B    00:00
addons      100% |=========================|  951 B    00:00
extras      100% |=========================| 1.1 kB    00:00
Setting up Install Process
Parsing package install arguments
Resolving Dependencies              <==开始分析相依性
--> Running transaction check
---> Package ncompress.i386 0:4.2.4-47 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

=======================================================
 Package       Arch   Version     Repository     Size
=======================================================
Installing:
 ncompress     i386   4.2.4-47    base            23 k

Transaction Summary
=======================================================
Install      1 Package(s)  <==最后分析所要安装的软件数
Update       0 Package(s)
Remove       0 Package(s)

Total download size: 23 k
Is this ok [y/N]: y    <==这里请按下 y 来确认安装
Downloading Packages:
(1/1): ncompress-4.2.4-47 100% |=========================|  23 kB    00:00
warning: rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY, key ID e8562897
Importing GPG key 0xE8562897 "CentOS-5 Key (CentOS 5 Official Signing Key)
<[email protected]>" from http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
Is this ok [y/N]: y    <==这里则是与数码签章有关
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing: ncompress          ######################### [1/1
[[email protected] ~]# compress [-rcv] 文件或目录  <==这里是压缩
[[email protected] ~]# uncompress 文件.Z           <==这里是解压缩
选项与参数:
-r  :可以连同目录下的文件也同时给予压缩!
-c  :将压缩数据输出成为 standard output (输出到萤幕)
-v  :显示压缩后的文件资讯以及压缩过程中的一些档名变化。

范例一:将 /etc/man.config 复制到 /tmp ,并加以压缩
[[email protected] ~]# cd /tmp
[[email protected] tmp]# cp /etc/man.config .
[[email protected] tmp]# compress -v man.config
man.config:  -- replaced with man.config.Z Compression: 41.86%
[[email protected] tmp]# ls -l /etc/man.config /tmp/man*
-rw-r--r-- 1 root root 4617 Jan  6  2007 /etc/man.config   <==原有文件
-rw-r--r-- 1 root root 2684 Nov 10 17:14 /tmp/man.config.Z <==经过压缩的文件!

复制到 /tmp 的 man.config 不见了!因为被压缩成为 man.config.Z,在默认的情况中,被 compress 压缩的原始文件会不见,而压缩文件会被创建起来, 而且扩展名会是 *.Z。

范例二:将刚刚的压缩档解开
[[email protected] tmp]# uncompress man.config.Z
[[email protected] tmp]# ll man*
-rw-r--r-- 1 root root 4617 Nov 10 17:14 man.config

解压缩后压缩档却又不存在。如果想要保留原始文件且又要创建压缩档可以使用 -c 的语法!

范例三:将 man.config 压缩成另外一个文件来备份
[[email protected] tmp]# compress -c man.config > man.config.back.Z
[[email protected] tmp]# ll man*
-rw-r--r-- 1 root root 4617 Nov 10 17:14 man.config
-rw-r--r-- 1 root root 2684 Nov 10 17:24 man.config.back.Z
# -c会将压缩过程的数据输出到萤幕上,而不是写入成为
# *.Z 的压缩档。所以,可以透过数据流重导向的方法将数据输出成为另一个档名。

compress 已经很少人在使用了,因为compress无法解开 *.gz 的文件,而 gzip 则可以解开 *.Z 的文件


gzip, zcat

gzip 可以解开 compress, zip 与 gzip 等软件所压缩的文件。   *.gz

[[email protected] ~]# gzip [-cdtv#] 档名
[[email protected] ~]# zcat 档名.gz
选项与参数:
-c  :将压缩的数据输出到萤幕上,可透过数据流重导向来处理;
-d  :解压缩的参数;
-t  :可以用来检验一个压缩档的一致性 看看文件有无错误;
-v  :可以显示出原文件/压缩文件的压缩比等资讯;
-#  :压缩等级,-1 最快,但是压缩比最差、-9 最慢,但是压缩比最好!默认是 -6

范例一:将 /etc/man.config 复制到 /tmp ,并且以 gzip 压缩
[[email protected] ~]# cd /tmp
[[email protected] tmp]# cp /etc/man.config .
[[email protected] tmp]# gzip -v man.config
man.config:      56.1% -- replaced with man.config.gz
[[email protected] tmp]# ll /etc/man.config /tmp/man*
-rw-r--r-- 1 root root 4617 Jan  6  2007 /etc/man.config
-rw-r--r-- 1 root root 2684 Nov 10 17:24 /tmp/man.config.back.Z
-rw-r--r-- 1 root root 2057 Nov 10 17:14 /tmp/man.config.gz  <==gzip压缩比较佳

在默认的状态下原本的文件会被压缩成为 .gz 的档名, 原始文件就不再存在了。使用 gzip 压缩的文件在 Windows 系统中,可以被 WinRAR 这个软件解压缩:

范例二:由於 man.config 是文字档,请将范例一的压缩档的内容读出来!
[[email protected] tmp]# zcat man.config.gz
# 由於 man.config 这个原本的文件是是文字档,因此我们可以尝试使用 zcat  去读取!
# 此时萤幕上会显示 man.config.gz 解压缩之后的文件内容!

范例三:将范例一的文件解压缩
[[email protected] tmp]# gzip -d man.config.gz
# 不要使用 gunzip 这个命令,不好背!使用 gzip -d 来进行解压缩!
# 与 gzip 相反, gzip -d 会将原本的 .gz 删除,产生原本的 man.config 文件。

范例四:将范例三解开的 man.config 用最佳的压缩比压缩,并保留原本的文件
[[email protected] tmp]# gzip -9 -c man.config > man.config.gz

其实 gzip 的压缩已经最佳化过了,所以虽然 gzip 提供 1~9 的压缩等级,不过使用默认的 6 就非常好用了! 因此上述的范例四可以不要加入那个 -9 的选项。

cat 可以读取纯文字档,那个 zcat 则可以读取纯文字档被压缩后的压缩档! 由於 gzip 这个压缩命令主要想要用来取代 compress 的,所以不但 compress 的压缩文件可以使用 gzip 来解开,同时 zcat 这个命令可以同时读取 compress 与 gzip 的压缩档!


bzip2, bzcat

gzip 是为了取代 compress 并提供更好的压缩比而开发的,那么 bzip2 则是为了取代 gzip 并提供更佳的压缩比而开发的。

[[email protected] ~]# bzip2 [-cdkzv#] 档名
[[email protected] ~]# bzcat 档名.bz2
选项与参数:
-c  :将压缩的过程产生的数据输出到萤幕上!
-d  :解压缩的参数
-k  :保留原始文件,而不会删除原始的文件喔!
-z  :压缩的参数
-v  :可以显示出原文件/压缩文件的压缩比等资讯;
-#  :与 gzip 同样的,都是在计算压缩比的参数, -9 最佳, -1 最快!

范例一:将刚刚的 /tmp/man.config 以 bzip2 压缩
[[email protected] tmp]# bzip2 -z man.config
# 此时 man.config 会变成 man.config.bz2 !

范例二:将范例一的文件内容读出来!
[[email protected] tmp]# bzcat man.config.bz2
# 此时萤幕上会显示 man.config.bz2 解压缩之后的文件内容!!

范例三:将范例一的文件解压缩
[[email protected] tmp]# bzip2 -d man.config.bz2

范例四:将范例三解开的 man.config 用最佳的压缩比压缩,并保留原本的文件
[[email protected] tmp]# bzip2 -9 -c man.config > man.config.bz2

使用 compress 扩展名自动创建为 .Z ,使用 gzip 扩展名自动创建为 .gz 。 bzip2 则是自动的将扩展名建置为 .bz2!

bzcat 这个命令可以读取内容



 

时间: 2024-10-24 10:23:18

第九章、文件与文件系统的压缩与打包 Linux 系统常见的压缩命令的相关文章

鸟哥的Linux私房菜_基础版_学习笔记5:第九章 文件与文件系统的压缩与打包

9.2 Linux 系统常见的压缩命令: *.Z compress 程序压缩的文件: *.gz gzip 程序压缩的文件: *.bz2 bzip2 程序压缩的文件: *.tar tar 程序打包的数据,并没有压缩过: *.tar.gz tar 程序打包的文件,其中并且经过 gzip 的压缩 *.tar.bz2 tar 程序打包的文件,其中并且经过 bzip2 的压缩 9.2.1 compress  [[email protected] ~]# apt-get install ncompress

Linux 系统常见的压缩打包命令

Linux 系统常见的压缩命令 1 常见压缩文件扩展名 *.tar, *.tar.gz, *.tgz, *.gz, *.Z, *.bz2 *.Z         compress 程序压缩的文件,已过时: *.gz        gzip 程序压缩的文件: *.bz2       bzip2 程序压缩的文件: *.tar       tar 程序打包的数据,并没有压缩过: *.tar.gz    tar 程序打包的文件,其中并且经过 gzip 的压缩 *.tar.bz2   tar 程序打包的文

linux系统常见的压缩命令

linux常见的压缩文件扩展名 *.Z         compress 程序压缩的文件: *.gz        gzip 程序压缩的文件: *.bz2       bzip2 程序压缩的文件: *.tar       tar 程序打包的数据,并没有压缩过: *.tar.gz    tar 程序打包的文件,其中并且经过 gzip 的压缩 *.tar.bz2   tar 程序打包的文件,其中并且经过 bzip2 的压缩 gzip,  zcat # gzip [-cdtv#] 文件名 # zcat

Linux系统常见的压缩指令 北京赛_车平台搭建架设

北京赛_车平台搭建架设QQ:[1148916888] 网站[1148916888.com] 上常见的压缩指令就是gzip,bzip2以及xz.为了支持windows常见的zip,Linux也早就有zip指令了.gzip是由GNU计划所开发出来的压缩指令. gzip可以说是应用度最广的压缩指令了,可以解开compress,zip与gzip等软件所压缩的文件. 语法为:gzip [-cdtv#] 文件名 -c:将压缩的资料输出到屏幕上,可透过资料流重导向来处理. -d:解压缩的参数 -t:可以用来检

第9章 文件与文件系统的压缩与打包

压缩文件的用途与技术 例如,计算机都是以byte单位来计量的,1byte占8bit.如果存储数字1,那么1byte就会空出7bit.采用一定的计算方式,压缩这些空间可以大大降低文件存储. Linux系统常见的压缩命令 Linux下压缩文件的扩展名有*.tar, *.tar.gz, *.tgz, *.gz, *.Z, *.bz2 扩展名用来说明压缩所采用的指令类型 *.Z compress程序压缩的文件 *.gz gzip程序压缩的文件 *.bz2 bzip2程序压缩的文件 *.tar tar打包

《Linux学习并不难》文件系统管理(3):在Linux系统中创建文件系统

18.3  <Linux学习并不难>文件系统管理(3):在Linux系统中创建文件系统 使用mkfs命令可以在分区上创建各种文件系统.mkfs命令本身并不执行建立文件系统的工作,而是去调用相关的程序来执行.这里的文件系统是要指定的,比如xfs.ext4.ext3.vfat或者是msdos等. 命令语法: mkfs [选项] [设备] 命令中各选项的含义如表所示. 选项 选项含义 -t <文件系统类型> 指定文件系统类型 -v 显示详细信息 例:为/dev/sda5磁盘分区创建xfs

linux 中常见的压缩和解压缩的命令

# linux 中常见的压缩和解压缩的命令 一.tar 1.解压: tar zxvf filename.tar 2.压缩: tar czvf filename.tar dirname 二.gz 1.解压: gunzip filename.gz gzip -d filename.gz 2.压缩: gzip filename 三.tar.gz 和 tgz 1.解压 tar zxvf filename.tar.gz 2.压缩 tar zcvf filename.tar.gz dirname 3.压缩多

linux下常见的压缩指令

# touch 2022 # gzip 2022        ( 源文件被删除 ) # gzip -d 2022.gz # gzip 2022        ( 不可以用来压缩目录 ) # gunzip 2022.gz # zip services.zip /etc/services # zip -r etc.zip /etc        ( 可以压缩目录 ) # unzip services.zip # bzip2 2022 # bunzip2 2022.bz2 # bzip2 -k 20

Linux系统下用find命令查找最近修改过的文件

Linux系统下用find命令查找最近修改过的文件 学习了:http://www.cnblogs.com/hechunhua/p/4860544.html Find应用实例 查找最近30分钟修改的当前目录下的.php文件 find . -name '*.php' -mmin -30 查找最近24小时修改的当前目录下的.php文件 find . -name '*.php' -mtime 0 查找最近24小时修改的当前目录下的.php文件,并列出详细信息 find . -name '*.inc' -