Linux基础命令之: Linux常用命令
2.1.3压缩打包相关命令
Linux中打包压缩的相关命令如表2.22所示,本书以gzip和tar为例进行讲解。
表2.22 Linux常见系统管理命令
命令 | 命令含义 | 格式 |
bzip2 | .bz2文件的压缩(或解压缩)程序 | bzip2[选项]压缩(解压缩)的文件名 |
bunzip2 | .bz2文件的解压缩程序 | bunzip2[选项].bz2压缩文件 |
bzip2recover | 修复损坏的.bz2文件 | bzip2recover.bz2压缩文件 |
gzip | .gz文件的压缩程序 | gzip[选项]压缩(解压缩)的文件名 |
gunzip | 解压缩被gzip压缩过的文件 | gunzip[选项].gz文件名 |
unzip | 解压缩winzip压缩的.zip文件 | unzip[选项].zip压缩文件 |
compress | 早期的压缩或解压缩程序(压缩后文件名为.Z) | compress[选项]文件 |
tar | 对文件目录进行打包或解压缩 | tar[选项][打包后文件名]文件目录列表 |
1.gzip
(1)作用。
对文件进行压缩和解压缩,而且gzip根据文件类型可自动识别压缩或解压。
(2)格式。
gzip[选项]压缩(解压缩)的文件名。
(3)常见参数。
gzip主要选项参数如表2.23所示。
表2.23 gzip命令常见参数列表
选项 | 参数含义 |
-c | 将输出信息写到标准输出上,并保留原有文件 |
-d | 将压缩文件解压 |
-l | 对每个压缩文件,显示下列字段:压缩文件的大小、未压缩时文件的大小、压缩比、未压缩时文件的名字 |
-r | 查找指定目录并压缩或解压缩其中的所有文件 |
-t | 测试,检查压缩文件是否完整 |
-v | 对每一个压缩和解压的文件,显示文件名和压缩比 |
(4)使用实例。
[root@localhosttest]#gzipportmap-4.0-54.i386.rpm
[root@localhosttest]#ls
portmap-4.0-54.i386.rpm.gz
[root@localhosttest]#gzip-lportmap-4.0-54.i386.rpm
compresseduncompressedratiouncompressed_name
214372575116.9%portmap-4.0-54.i386.rpm
该实例将目录下的“hello.c”文件进行压缩,选项“-l”列出了压缩比。
(5)使用说明。
n 使用gzip压缩只能压缩单个文件,而不能压缩目录,其选项“-d”是将该目录下的所有文件逐个进行压缩,而不是压缩成一个文件。
2.tar
(1)作用。
对文件目录进行打包或解包。
在此需要对打包和压缩这两个概念进行区分。打包是指将一些文件或目录变成一个总的文件,而压缩则是将一个大的文件通过一些压缩算法变成一个小文件。为什么要区分这两个概念呢?这是由于在Linux中的很多压缩程序(如前面介绍的gzip)只能针对一个文件进行压缩,这样当想要压缩较多文件时,就要借助它的工具将这些堆文件先打成一个包,然后再用原来的压缩程序进行压缩。
(2)格式。
tar[选项][打包后文件名]文件目录列表。
tar可自动根据文件名识别打包或解包动作,其中打包后文件名为用户自定义的打包后文件名称,文件目录列表可以是要进行打包备份的文件目录列表,也可以是进行解包的文件目录列表。
(3)主要参数。
tar主要选项参数如表2.24所示。
表2.24 tar命令常见参数列表
选项 | 参数含义 |
-c | 建立新的打包文件 |
-r | 向打包文件末尾追加文件 |
-x | 从打包文件中解出文件 |
-o | 将文件解开到标准输出 |
-v | 处理过程中输出相关信息 |
-f | 对普通文件操作 |
-z | 调用gzip来压缩打包文件,与-x联用时调用gzip完成解压缩 |
-j | 调用bzip2来压缩打包文件,与-x联用时调用bzip2完成解压缩 |
-Z | 调用compress来压缩打包文件,与-x联用时调用compress完成解压缩 |
(4)使用实例。
[root@localhosthome]#tar-cvfdavid.tardavid
./david/
./david/.bash_logout
./david/.bash_profile
./david/.bashrc
./david/.bash_history
./david/my/
./david/my/1.c.gz
./david/my/my.c.gz
./david/my/hello.c.gz
./david/my/why.c.gz
[root@localhosthome]#ls-ldavid.tar
-rw-r--r--1rootroot10240Jan1415:01david.tar
该实例将“david”目录下的文件加以打包,其中选项“-v”在屏幕上输出了打包的具体过程。
[david@localhostdavid]#tar-zxvflinux-2.6.11.tar.gz
linux-2.6.11/
linux-2.6.11/drivers/
linux-2.6.11/drivers/video/
linux-2.6.11/drivers/video/aty/
…
该实例用选项“-z”调用gzip,与“-x”联用时完成解压缩。
(5)使用说明。
tar命令除了用于常规的打包之外,使用更为频繁的是用选项“-z”或“-j”调用gzip或bzip2(Linux中另一种解压工具)完成对各种不同文件的解压。
表2.25对Linux中常见类型的文件解压命令做一个总结。
表2.25 Linux常见类型的文件解压命令一览表
文件后缀 | 解压命令 | 示例 |
.a | tarxv | tarxvhello.a |
.z | Uncompress | uncompresshello.Z |
.gz | Gunzip | gunziphello.gz |
.tar.Z | tarxvZf | tarxvZfhello.tar.Z |
.tar.gz/.tgz | tarxvzf | tarxvzfhello.tar.gz |
tar.bz2 | tarjxvf | tarjxvfhello.tar.bz2 |
.rpm | 安装:rpm–i | 安装:rpm-ihello.rpm |
解压缩:rpm2cpio | 解压缩:rpm2cpiohello.rpm | |
.deb(Debain中的文件格式) | 安装:dpkg–i | 安装:dpkg-ihello.deb |
解压缩:dpkg-deb--fsys-tarfile | 解压缩:dpkg-deb--fsys-tarhellohello.deb | |
.zip | Unzip | unziphello.zip |
评论