此刻我所在的目录和文件结构是这样的(还未安装tree的工具,只能这样凑合着看了)
其中 file.txt 里面有三条语句,temp.txt 里面有一条语句
现在我要将我这个code目录下的所有文件进行压缩打包,就要用到zip指令
此条指令的意思是,将当前目录下的所有文件压缩打包到一个名叫 temp.zip 的文件里。
然后文件已经全部被压缩打包了,再输入 ll 指令查看,发现当前目录下出现了一个 temp.zip 的压缩包
再将文件剪切到上一级目录下
再将刚刚的code目录下的所有文件删掉,输入 ll 指令发现已经删除成功
下面我们就要开始解包工作
输入指令 unzip + 压缩包名称
显然,直接解包它会默认将内容解压在当前目录下
那如果不想解压到当前目录下,该怎么做呢?
先删除掉刚刚解压出来的内容
将压缩包解压在code目录下,需要 unzip 加上 -d 选项,完事后输入 ll code 指令发现解压成功
但有个小问题,我们发现dir1目录下是空的,证明它并没有将dir1里面的内容进行打包,若我们想将目录里的内容也打包的话,我们需要加上-r选项。
-r:递归处理,将指定目录下的所有文件和子目录一并处理
那我们就重新来试下这个 -r 选项
将当前目录下的所有文件打包在 temp.zip 里
并将上级目录那个 temp.zip 覆盖掉
接下来是解包操作
解压完成后再进入code目录中的dir1目录,发现内容完整,刚刚的递归打包成功
总结:
zip 压缩、unzip 解压
1. 默认情况只进行本层目录文件的压缩
2. zip -r 可以进行目录递归式的压缩
3. 解压 -d 指定目录