购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.2.3 压缩和解压缩类命令

为了归类和减少文件的传输时间,通常对文件进行压缩并在需要时进行解压缩。本小节将对一些常用的压缩和解压缩命令进行介绍。

1.bzip2命令:文件压缩程序

bzip2命令压缩后的文件以.bz2为后缀,压缩后会把源文件删除。

1)命令语法格式:


bzip2 [ options ] [ filenames ...  ]

2)命令参数选项说明:

●-c(compress):将压缩与解压缩的结果送到标准输出。

●-d(decompress):执行解压缩。

●-f(force):在压缩或解压缩过程中强行覆盖同名文件。

●-k(keep)在压缩或解压缩过程中保留源文件。

●-t(test):测试压缩文件的完整性。

●-z:强制执行压缩。

3)示例:

对disk.img文件进行压缩:


[root@centos-s8 ~]# bzip2 -vz disk.img 
  disk.img: 1367823.980:1,  0.000 bits/byte, 100.00% saved, 1073741824 in, 785 out.

2.bunzip2命令:解压.bz2格式的压缩包

bunzip2命令可用于对.bz2格式的压缩文件进行解压。

1)命令语法格式:


bunzip2 [ options ] [ filenames ...  ]

2)命令参数选项说明:

●-f(force):解压时强行覆盖同名文件。

●-k(keep):解压时保留源文件。

●-s(small):减少命令在执行时内存的使用。

●-v(verbose):显示解压过程的详细信息。

3)示例:

使用bunzip2命令对压缩文件disk.img.bz2进行解压:


[root@centos-s8 ~]# bunzip2 -v disk.img.bz2 
  disk.img.bz2: done

3.gzip命令:文件压缩程序

gzip命令用于对文件进行压缩,压缩后的文件以.gz为后缀。

1)命令语法格式:


gzip [ options ] [ name ...  ]

2)命令参数选项说明:

●-a(ascii):使用ASCII格式。

●-f(force):强行压缩文件。

●-l(list):列出压缩文件的相关信息。

●-q(quiet):忽略警告信息。

3)示例:

对disk.img文件进行压缩:


[root@centos-s8 ~]# gzip -v disk.img
disk.img:        99.9% -- replaced with disk.img.gz

4.gunzip命令:文件解压缩程序

gunzip命令全称为gun unzip,用于对gzip命令压缩的文件进行解压。

1)命令语法格式:


gunzip [ options ] [-S suffix] [ name ...  ]

2)命令参数选项说明:

●-l(list):显示压缩文件的相关信息。

●-N(name):解压缩时将含有源文件名称及时间戳的文件回存到解压缩文件。

●-r(recursive):以递归方式将指定目录的所有文件及子目录一并处理。

●-S(suffix):更改压缩文件的后缀字符串。

3)示例:

解压disk.img.gz文件:


[root@centos-s8 ~]# gunzip -v disk.img.gz
disk.img.gz:     99.9% -- replaced with disk.img

5.tar命令:文件归档备份

tar命令全称为tape archive,用来建立、还原被归档的文件。该命令本身无压缩功能,但支持压缩和解压缩算法。该命令支持用相对路径和绝对路径压缩/解压缩文件或目录。该命令较常用,有必要掌握它。

1)命令语法格式:


tar [OPTION...] [FILE]...

2)命令参数选项说明:

●-c(create):创建新的归档文件。

●-x(extract):解压归档文件。

●-u(update):仅增加归档文件中没有的文件。

●-f(file):指定归档的文件。

●-v(verbose):显示命令执行过程的信息。

●-z(gzip):压缩或解压缩归档文件。

3)示例:

对/etc/目录进行归档压缩:


[root@centos-s8 ~]# tar vzcf etc-202103.tar.gz /etc/
……
/etc/locale.conf
/etc/hostname
/etc/.updated
/etc/subuid-
/etc/subgid-

注意

使用该命令进行归档和压缩时,要指定压缩后的文件名称(如etc-202103.tar.gz),但要保证后缀名不变,也就是说后缀名(.tar.gz)前的名称可以自定义。

6.zip命令:打包和压缩(归档)文件

zip是一个压缩和打包文件的程序,被压缩后的文件以.zip为后缀名。

1)命令语法格式:


zip [option(s)] [ file1 file2 ...]

2)命令参数选项说明:

●-d:删除压缩文件内指定的文件。

●-g:将文件压缩后附加在已有压缩文件之后。

●-j:只保存文件名称及其内容。

●-m:删除被压缩文件的源文件。

●-o:将压缩文件的时间设置得与最新文件的时间相同。

●-r:以递归的方式处理指定目录下的文件,即子文件。

3)示例:

使用zip命令以递归方式对/etc/目录及其子目录和文件进行压缩:


[root@centos-s8 ~]# zip -r etc.zip /etc/
……
  adding: etc/locale.conf (stored 0%)
  adding: etc/hostname (stored 0%)
  adding: etc/.updated (deflated 22%)
  adding: etc/subuid- (stored 0%)
  adding: etc/subgid- (stored 0%)

注意

被压缩后的文件的名称是可以自定义的,但不要更改后缀名。

7.unzip命令:解压缩.zip文件

unzip命令用于对zip命令压缩的文件进行解压缩。

1)命令语法格式:


unzip [option(s)] [file(s)]

2)命令参数选项说明:

●-c:将解压缩的结果显示到屏幕上,并对字符进行适当的转换。

●-f(file):更新现有的文件。

●-l(list):显示压缩文件内包含的文件。

●-a:对文本文件进行必要的字符转换。

●-C:压缩文件时忽略文件名的大小写。

●-n:解压缩时不覆盖原有的文件,与-o选项的作用相反。

3)示例:

对etc.zip压缩文件进行解压缩: n7dd7CZITg2czcFFqSLltLR/9s4zE7ANj7qZ1vF0pJJzDEUaqs9maDCOXCb1G1T4


[root@centos-s8 ~]# unzip etc.zip
……
extracting: etc/locale.conf 
 extracting: etc/hostname 
  inflating: etc/.updated 
 extracting: etc/subuid- 
 extracting: etc/subgid-

点击中间区域
呼出菜单
上一章
目录
下一章
×