目录
前言
通过前面的实验,我们已经将关于Ubuntu系统的文件管理和文件编辑和系统管理、磁盘管理、文件传输、网络通讯、设备管理的命令行做完了,接下来我们将进行关于linux备份压缩部分的linux命令行实验。
实验目的
1.掌握Ubuntu系统下文件系统中备份压缩部分命令行的原理及使用
实验内容
本次实验主要是掌握Linux系统下的备份压缩部分的使用,主要包括以下内容:
第八部分(备份压缩部分):
1.zipinfo命令 – 查看压缩文件信息
2.zip命令 – 压缩文件
3.gzip命令 – 压缩和解压文件
4.unzip命令 – 解压缩zip文件
5.unarj命令 – 解压.arj文件
实验环境
树莓派4B,系统为Ubuntu 20.10系统 。实验的编程环境为Terminal终端程序
实验步骤
1.zipinfo命令 – 查看压缩文件信息
(1)命令格式
zipinfo [参数]
(2)命令功能
zipinfo命令的全称为“zip information”,该命令用于列出压缩文件信息。执行zipinfo指令可得知zip压缩文件的详细信息。
(3)命令参数
参数 | 功能说明 |
---|---|
-1 | 只列出文件名称 |
-2 | 此参数的效果和指定”-1″参数类似,但可搭配”-h”,”-t”和”-z”参数使用 |
-h | 只列出压缩文件的文件名称 |
-l | 此参数的效果和指定”-m”参数类似,但会列出原始文件的大小而非每个文件的压缩率 |
-m | 此参数的效果和指定”-s”参数类似,但多会列出每个文件的压缩率 |
-M | 若信息内容超过一个画面,则采用类似more指令的方式列出信息 |
-s | 用类似执行”ls -l”指令的效果列出压缩文件内容 |
-t | 只列出压缩文件内所包含的文件数目,压缩前后的文件大小及压缩率 |
-T | 将压缩文件内每个文件的日期时间用年,月,日,时,分,秒的顺序列出 |
-v | 详细显示压缩文件内每一个文件的信息 |
-x<范本样式> | 不列出符合条件的文件的信息 |
-z | 如果压缩文件内含有注释,就将注释显示出来 |
(4)使用范例
例一:显示压缩文件file.zip的信息
命令:
zipinfo file.zip
输出:
例二:显示压缩文件中每个文件的信息
命令:
zipinfo -v file.zip
输出:
例三:只显示压缩包大小、文件数目
命令:
zipinfo -h file.zip
输出:
例四:生成一个基本的、长格式的列表(而不是冗长的),包括标题和总计行
命令:
zipinfo -l file
输出:
例五:查看存档中最近修改的文件:
命令:
zipinfo -T file | sort –nr -k 7 | sed 15q
输出:
2.zip命令 – 压缩文件
(1)命令格式
zip [参数] [文件]
(2)命令功能
zip程序将一个或多个压缩文件与有关文件的信息(名称、路径、日期、上次修改的时间、保护和检查信息以验证文件完整性)一起放入一个压缩存档中。可以使用一个命令将整个目录结构打包到zip存档中。
对于文本文件来说,压缩比为2:1和3:1是常见的。zip只有一种压缩方法(通缩),并且可以在不压缩的情况下存储文件。(如果添加了bzip 2支持,zip也可以使用bzip 2压缩,但这些条目需要一个合理的现代解压缩来解压缩。当选择bzip 2压缩时,它将通货紧缩替换为默认方法。)zip会自动为每个要压缩的文件选择更好的两个文件(通缩或存储,如果选择bzip2,则选择bzip2或Store)。
(3)命令参数
参数 | 功能说明 |
---|---|
-q | 不显示指令执行过程 |
-r | 递归处理,将指定目录下的所有文件和子目录一并处理 |
-z | 替压缩文件加上注释 |
-v | 显示指令执行过程或显示版本信息 |
-n<字尾字符串> | 不压缩具有特定字尾字符串的文件 |
(4)使用范例
例一:将 /Documents/shiyan 这个目录下所有文件和文件夹打包为当前目录下的 shiyan.zip:
命令:
zip -q -r shiyan.zip /Documents/shiyan
输出:
例二:压缩文件 shiyan.zip 中删除文件 test2.txt:
命令:
zip -dv shiyan.zip test.txt
例三:把/Documents目录下面的data目录压缩为data.zip:
命令:
zip -r data.zip Documents
输出:
例四:把/Documents目录下面的test2文件夹和file.txt压缩成为abc123.zip:
命令:
zip -r abc123.zip test2 file.txt
输出:
例五:将 test4目录打包成 log.zip:
命令:
zip -r log.zip test4
输出:
3.gzip命令 – 压缩和解压文件
(1)命令格式
gzip [参数]
(2)命令功能
gzip命令的英文是“GNUzip”,是常用来压缩文件的工具,gzip是个使用广泛的压缩程序,文件经它压缩过后,其名称后面会多处“.gz”扩展名。gzip是在Linux系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用。gzip不仅可以用来压缩大的、较少使用的文件以节省磁盘空间,还可以和tar命令一起构成Linux操作系统中比较流行的压缩文件格式。据统计,gzip命令对文本文件有60%~70%的压缩率。减少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间。
(3)命令参数
参数 | 功能说明 |
---|---|
-a | 使用ASCII文字模式 |
-d | 解开压缩文件 |
-f | 强行压缩文件 |
-l | 列出压缩文件的相关信息 |
-c | 把压缩后的文件输出到标准输出设备,不去更动原始文件 |
-r | 递归处理,将指定目录下的所有文件及子目录一并处理 |
-q | 不显示警告信息 |
(4)使用范例
例一:把test目录下的每个文件压缩成.gz文件:
命令:
gzip *
输出:
例二:把上例中每个压缩的文件解压,并列出详细的信息:
命令:
gzip -dv *
输出:
例三:递归地解压目录:
命令:
gzip -dr test.gz
4.unzip命令 – 解压缩zip文件
(1)命令格式
unzip [参数] [文件]
(2)命令功能
unzip命令是用于.zip格式文件的解压缩工具 ,unzip命令将列出、测试或从zip格式存档中提取文件,这些文件通常位于MS-DOS系统上。
默认行为(就是没有选项)是从指定的ZIP存档中提取所有的文件到当前目录(及其下面的子目录)。一个配套程序zip(1L)创建ZIP存档.
(3)命令参数
参数 | 功能说明 |
---|---|
-l | 显示压缩文件内所包含的文件 |
-v | 执行时显示详细的信息; |
-c | 将解压缩的结果显示到屏幕上,并对字符做适当的转换 |
-n | 解压缩时不要覆盖原有的文件 |
-j | 不处理压缩文件中原有的目录路径 |
(4)使用范例
例一:把当前目录下面的mydata.zip解压到mydatabak目录里面:
命令:
unzip mydata.zip -d mydatabak
输出:
例二:把当前目录下面的info.zip直接解压到当前目录里面:
命令:
unzip info.zip
输出:
例三:把当前目录下面的abc12.zip、abc23.zip、abc34.zip同时解压到当前目录里面:
命令:
unzip abc\*.zip
输出:
例四:查看把当前目录下面的shiyan.zip里面的内容:
命令:
unzip -v shiyan.zip
输出:
例五:验证当前目录下面的shiyan.zip是否完整:
命令:
unzip -t shiyan.zip
输出:
5.unarj命令 – 解压.arj文件
(1)命令格式
unarj [参数] [.arj压缩文件]
(2)命令功能
unarj命令用于解压缩.arj文件。
(3)命令参数
参数 | 功能说明 |
---|---|
-e | 解压缩.arj文件 |
-l | 显示压缩文件内所包含的文件 |
-t | 检查压缩文件是否正确 |
-x | 解压缩时保留原有的路径 |
(4)使用范例
例一:解压缩.arj文件:
命令:
unarj -e test.arj
例二:显示压缩文件内所包含的文件:
命令:
unarj -l test.arj
例三:检查压缩文件是否正确:
命令:
unarj -t test.arj
例四:解压缩时保留原有的路径:
命令:
unarj -x test.arj
例五:把文件解压到当前路径
命令:
unarj -ex test.arj