为了归类和减少文件的传输时间,通常对文件进行压缩并在需要时进行解压缩。本小节将对一些常用的压缩和解压缩命令进行介绍。
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.
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
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
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
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)前的名称可以自定义。
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%)
注意
被压缩后的文件的名称是可以自定义的,但不要更改后缀名。
unzip命令用于对zip命令压缩的文件进行解压缩。
1)命令语法格式:
unzip [option(s)] [file(s)]
2)命令参数选项说明:
●-c:将解压缩的结果显示到屏幕上,并对字符进行适当的转换。
●-f(file):更新现有的文件。
●-l(list):显示压缩文件内包含的文件。
●-a:对文本文件进行必要的字符转换。
●-C:压缩文件时忽略文件名的大小写。
●-n:解压缩时不覆盖原有的文件,与-o选项的作用相反。
3)示例:
对etc.zip压缩文件进行解压缩:
[root@centos-s8 ~]# unzip etc.zip …… extracting: etc/locale.conf extracting: etc/hostname inflating: etc/.updated extracting: etc/subuid- extracting: etc/subgid-