爆赞,基础又全面的Linux命令合集(八)备份压缩

举报
Lucifer三思而后行 发表于 2021/10/28 13:06:11 2021/10/28
【摘要】 🍍 备份压缩 1️⃣ zip 命令 – 压缩文件zip程序将一个或多个压缩文件与有关文件的信息(名称、路径、日期、上次修改的时间、保护和检查信息以验证文件完整性)一起放入一个压缩存档中。可以使用一个命令将整个目录结构打包到zip存档中。对于文本文件来说,压缩比为2:1和3:1是常见的。zip只有一种压缩方法(通缩),并且可以在不压缩的情况下存储文件。(如果添加了bzip 2支持,zip也...

🍍 备份压缩

1️⃣ zip 命令 – 压缩文件

zip程序将一个或多个压缩文件与有关文件的信息(名称、路径、日期、上次修改的时间、保护和检查信息以验证文件完整性)一起放入一个压缩存档中。可以使用一个命令将整个目录结构打包到zip存档中。

对于文本文件来说,压缩比为2:1和3:1是常见的。zip只有一种压缩方法(通缩),并且可以在不压缩的情况下存储文件。(如果添加了bzip 2支持,zip也可以使用bzip 2压缩,但这些条目需要一个合理的现代解压缩来解压缩。当选择bzip 2压缩时,它将通货紧缩替换为默认方法。)zip会自动为每个要压缩的文件选择更好的两个文件(通缩或存储,如果选择bzip2,则选择bzip2或Store)。

语法:

语法格式:zip [参数] [文件]

常用参数:

参数 描述
-q 不显示指令执行过程
-r 递归处理,将指定目录下的所有文件和子目录一并处理
-z 替压缩文件加上注释
-v 显示指令执行过程或显示版本信息
-n<字尾字符串> 不压缩具有特定字尾字符串的文件

参考实例:

将 /home/html/ 这个目录下所有文件和文件夹打包为当前目录下的 html.zip:

zip -q -r html.zip /home/html

压缩文件 cp.zip 中删除文件 a.c:

zip -dv cp.zip a.c

把/home目录下面的mydata目录压缩为mydata.zip:

zip -r mydata.zip mydata

把/home目录下面的abc文件夹和123.txt压缩成为abc123.zip:

zip -r abc123.zip abc 123.txt 

将 logs目录打包成 log.zip:

zip -r log.zip ./logs

2️⃣ zipinfo命令 – 查看压缩文件信息

zipinfo命令的全称为“zip information”,该命令用于列出压缩文件信息。执行zipinfo指令可得知zip压缩文件的详细信息。

语法:

语法格式:zipinfo [参数]

常用参数:

参数 描述
-1 只列出文件名称
-2 此参数的效果和指定”-1″参数类似,但可搭配”-h”,”-t”和”-z”参数使用
-h 只列出压缩文件的文件名称
-l 此参数的效果和指定”-m”参数类似,但会列出原始文件的大小而非每个文件的压缩率
-m 此参数的效果和指定”-s”参数类似,但多会列出每个文件的压缩率
-M 若信息内容超过一个画面,则采用类似more指令的方式列出信息
-s 用类似执行”ls -l”指令的效果列出压缩文件内容
-t 只列出压缩文件内所包含的文件数目,压缩前后的文件大小及压缩率
-T 将压缩文件内每个文件的日期时间用年,月,日,时,分,秒的顺序列出
-v 详细显示压缩文件内每一个文件的信息
-x<范本样式> 不列出符合条件的文件的信息
-z 如果压缩文件内含有注释,就将注释显示出来

参考实例:

显示压缩文件信息:

zipinfo file.zip 

显示压缩文件中每个文件的信息:

zipinfo -v file.zip

只显示压缩包大小、文件数目:

zipinfo -h file.zip

生成一个基本的、长格式的列表(而不是冗长的),包括标题和总计行:

zipinfo -l file

查看存档中最近修改的文件:

zipinfo -T file | sort –nr -k 7 | sed 15q

3️⃣ unzip命令 – 解压缩zip文件

unzip命令是用于.zip格式文件的解压缩工具 ,unzip命令将列出、测试或从zip格式存档中提取文件,这些文件通常位于MS-DOS系统上。

默认行为(就是没有选项)是从指定的ZIP存档中提取所有的文件到当前目录(及其下面的子目录)。一个配套程序zip(1L)创建ZIP存档;这两个程序都与PKWARE的PKZIP和PKUNZIP为MS-DOS创建的存档文件兼容,但许多情况下,程序选项或默认行为是不同的。

语法:

语法格式:unzip [参数] [文件]

常用参数:

参数 描述
-l 显示压缩文件内所包含的文件
-v 执行时显示详细的信息
-c 将解压缩的结果显示到屏幕上,并对字符做适当的转换
-n 解压缩时不要覆盖原有的文件
-j 不处理压缩文件中原有的目录路径

参考实例:

把/home目录下面的mydata.zip解压到mydatabak目录里面:

unzip mydata.zip -d mydatabak 

把/home目录下面的wwwroot.zip直接解压到/home目录里面:

unzip wwwroot.zip

把/home目录下面的abc12.zip、abc23.zip、abc34.zip同时解压到/home目录里面:

unzip abc\*.zip

查看把/home目录下面的wwwroot.zip里面的内容:

unzip -v wwwroot.zip

验证/home目录下面的wwwroot.zip是否完整:

unzip -t wwwroot.zip

4️⃣ gzip命令 – 压缩和解压文件

gzip命令的英文是“GNUzip”,是常用来压缩文件的工具,gzip是个使用广泛的压缩程序,文件经它压缩过后,其名称后面会多处“.gz”扩展名。

gzip是在Linux系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用。gzip不仅可以用来压缩大的、较少使用的文件以节省磁盘空间,还可以和tar命令一起构成Linux操作系统中比较流行的压缩文件格式。据统计,gzip命令对文本文件有60%~70%的压缩率。减少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间。

语法:

语法格式:gzip [参数]

常用参数:

参数 描述
-a 使用ASCII文字模式
-d 解开压缩文件
-f 强行压缩文件
-l 列出压缩文件的相关信息
-c 把压缩后的文件输出到标准输出设备,不去更动原始文件
-r 递归处理,将指定目录下的所有文件及子目录一并处理
-q 不显示警告信息

参考实例:

把rancher-v2.2.0目录下的每个文件压缩成.gz文件:

gzip *

把上例中每个压缩的文件解压,并列出详细的信息:

gzip -dv *

递归地解压目录:

gzip -dr rancher.gz

5️⃣ unarj命令 – 解压.arj文件

unarj命令用于解压缩.arj文件。

语法:

语法格式:unarj [参数] [.arj压缩文件]

常用参数:

参数 描述
-e 解压缩.arj文件
-l 显示压缩文件内所包含的文件
-t 检查压缩文件是否正确
-x 解压缩时保留原有的路径

参考实例:

解压缩.arj文件:

unarj -e test.arj

显示压缩文件内所包含的文件:

unarj -l test.arj

检查压缩文件是否正确:

unarj -t test.arj

解压缩时保留原有的路径:

unarj -x test.arj

把文件解压到当前路径:

unarj -ex test.arj
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。