🌈个人主页:聆风吟_
🔥系列专栏:Linux实践室、网络奇遇记
🔖少年有梦不应止于心动,更要付诸行动。
文章目录
一. ⛳️任务描述
由于磁盘空间有限,我们通常会将不常用的大文件进行压缩以便于节约磁盘空间,通过本节的学习,我们将学会Linux系统上常见的压缩命令。
本节任务:对系统中已存在的文件/目录进行压缩操作。
二. ⛳️相关知识
为了完成本节任务,你需要掌握如下知识:
- bzip2
- gzip
- zip
- tar命令进行压缩
Linux下存在多个文件压缩工具,常用的有bzip2
、gzip
和zip
。这三个工具都是可以将一个文件进行压缩操作,使其在不丢失任何信息的情况下占用较少的磁盘空间。而如何对于多个文件/目录进压缩操作呢?
我们通过上一节的学习,我们了解到了使用tar
命令可以将多文件/目录打包生成一个文件,那么对于多文件/目录的压缩操作分为两步:第一步是将其进行打包,然后将打包过后的文件进行压缩操作。
接下让我们详细的学习bzip2
、gzip
和zip
的使用方法。
2.1 🔔bzip2
2.1.1 👻知识点讲解
bzip2
命令用于创建和管理(包括解压缩).bz2
格式的压缩包。
具体命令如下:
bzip2 命令参数 指定要压缩的文件
常见命令参数:
命令参数 | 说明 |
---|---|
-z | 强制执行压缩 |
-d | 执行解压缩 |
-f | bzip2在压缩或解压缩时,若输出文件与现有文件同名,预设不会覆盖现有文件。若要覆盖。请使用此参数 |
-v | 压缩或解压缩文件时,显示详细的信息 |
2.1.2 👻案例演示
使用bzip2命令对当前目录下的new.tar文件进行压缩,具体使用如下命令:
bzip2 new.tar
2.2 🔔gzip
2.2.1 👻知识点讲解
gzip
命令用于创建和管理(包括解压缩).gz
格式的压缩包。
具体命令如下:
gzip 命令参数 指定要压缩的文件
常用命令参数如下:
命令参数 | 说明 |
---|---|
-d | 解开压缩文件 |
-f | 强行压缩文件。不理会文件名称或硬连接是否存在以及该文件是否为符号连接 |
-l | 列出压缩文件的相关信息 |
-r | 递归处理,将指定目录下的所有文件及子目录一并处理 |
-v | 显示指令执行过程 |
2.2.2 👻案例演示
使用gzip命令对当前目录下的new.tar文件进行压缩,具体使用如下命令:
gzip new.tar
2.3 🔔zip
2.3.1 👻知识点讲解
zip
命令对文件进行打包操作。zip
是个使用广泛的压缩程序,文件经它压缩后会另外产生具有.zip
扩展名的压缩文件。
具体命令如下:
zip 命令参数 指定生成的压缩文件名 要被压缩的文件/目录列表
常用命令参数如下:
命令参数 | 说明 |
---|---|
-d | 从压缩文件内删除指定的文件 |
-q | 不显示指令执行过程 |
-r | 递归处理,将指定目录下的所有文件和子目录一并处理 |
-v | 显示指令执行过程或显示版本信息 |
-u | 更换较新的文件到压缩文件内 |
-x<范本样式> | 压缩时排除符合条件的文件 |
2.3.2 👻案例演示
使用zip命令将newDir目录下的所有文件/目录压缩生成newDir.zip,具体使用如下命令:
zip -r newDir.zip newDir
2.4 🔔tar命令进行压缩
2.4.1 👻知识点讲解
在上一节的学习中,我们学会了使用tar
命令对多个文件/目录进行打包操作,如果针对多文件/目录进行压缩操作时,首先使用tar
将其打包生成一个文件,然后使用bzip2
和gzip
对其进行压缩,那么这里也可以使用tar
命令一步就实现对多文件/目录进行压缩操作。
采用bzip2方式执行tar命令进行压缩:
具体命令如下:
tar -jcvf 指定生成的压缩文件名 要被压缩的文件/目录列表
常用命令参数如下:
命令参数 | 说明 |
---|---|
-c | 建立新的归档文件 |
-v | 处理过程中输出相关信息 |
-f | 对普通文件操作 |
-j | 以bzip2对文件/目录进行压缩 |
采用gzip进行压缩:
具体命令如下:
tar -zcvf 指定生成的压缩文件名 要被压缩的文件/目录列表
常用命令参数如下:
命令参数 | 说明 |
---|---|
-c | 建立新的归档文件 |
-v | 处理过程中输出相关信息 |
-f | 对普通文件操作 |
-z | 以gzip对文件/目录进行压缩 |
2.4.2 👻案例演示一
使用tar命令将当前目录下的a.txt、b.txt和c.txt文件压缩生成new.tar.bz2,具体使用如下命令:
tar -jcvf new.tar.bz2 a.txt b.txt c.txt
这里也可以分为两步进行操作,首先是创建tar包,然后对tar包使用bzip2进行压缩操作。
2.4.3 👻案例演示二
使用tar命令将当前目录下的a.txt、b.txt和c.txt文件压缩生成new.tar.gz,具体使用如下命令:
tar -zcvf new.tar.gz a.txt b.txt c.txt
这里也可以分为两步进行操作,首先是创建tar包,然后对tar包使用gzip进行压缩操作。
三. ⛳️编程要求
本节的任务具体如下:
- 使用tar命令将当前目录下的oldFile1和oldFile2文件打包压缩成一个newFile.tar.gz文件;
- 使用bzip2命令对当前目录下的oldFile.tar文件压缩;
- 使用zip命令将当前目录下的oldDir目录所有文件/目录压缩生成oldDir.zip。
四. ⛳️编程解答
#!/bin/bash
#在以下部分写出完成任务的命令
#*********begin*********#
tar -zcvf newFile.tar.gz oldFile1 oldFile2
bzip2 -z oldFile.tar bzip2
zip -r oldDir.zip oldDir
#********* end *********#
📝结语
今天的干货分享到这里就结束啦!如果觉得文章还可以的话,希望能给个三连支持一下,聆风吟的主页还有很多有趣的文章,欢迎小伙伴们前去点评,您的支持就是作者前进的最大动力!