文件压缩

时间:2024-03-25 18:11:23

zip & unzip 指令

功能: 将目录或文件压缩成zip格式

语法: zip [压缩文件.zip] [目录或文件]
zip的末尾,可以选中多个文件,把他们放到同一个压缩包中:

在这里插入图片描述
我们通过zip test.zip file1 file2 file3把三个文件都压缩到了test.zip压缩包中,最后我们的目录结构中出现了一个test.zip压缩包

常用选项:

  • -r 递归处理,将指定目录下的所有文件和子目录一并处理

压缩后我们也需要解压缩,解压缩的指令是unzip,直接unzip 压缩包就可以解压一个压缩包了。

比如以下目录结构:
在这里插入图片描述
如果我们想要把test.zipdir2中解压,我们可以把test.zip移动到dir2中,然后直接unzip test.zip即可。

当然我们也有更便利的方法:

  • -d 解压到指定目录下

我们可以直接使用unzip dir1/test.zip -d dir2,来把dir1中的压缩文件,解压到dir2中:
在这里插入图片描述


tar指令

tar的功能比zip更强大,也更加常用。

其既可以解压,也可以压缩,还可以直接查看压缩包的内容

语法: tar [-cxtzjvf] 文件与目录 …

通过tar压缩的文件,以.tgz为后缀

常用选项

  • -c :建立一个压缩文件的参数指令(create 的意思);
  • -x :解开一个压缩文件的参数指令!
  • -t :查看 tarfile 里面的文件!
  • -z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
  • -j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
  • -v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
  • -f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
  • -C : 解压到指定目录

以上选项看似多而繁杂,我这里简单解释一下:

-c :创建一个压缩文件
-v : 显示压缩过程
-z :压缩算法(加上这个才能压缩/解压)
-f : 作为最后一个选项,后面跟着压缩后的文件名
-x :解压一个压缩文件
-d :压缩到指定目录
-C :解压到指定目录

我们常用:
tar -czf 压缩包.tgz 被压缩的文件来进行压缩:
在这里插入图片描述

如果你想看压缩过程,那么再加一个参数v,以tar -cvzf 压缩包.tgz 被压缩的文件来进行压缩:
在这里插入图片描述
这次压缩就显示了压缩过程:
在这里插入图片描述

想要解压缩,只需要把-z改为-x就可以了,即tar -xzf 压缩包.tgz,同理,可以加上-v显示解压过程:tar -xvzf 压缩包.tgz

另外就是tar指令最重要的功能,-t可以直接查看一个压缩包的内容:tar -tf 压缩包.tgz(注意不要漏掉f,f用于选中压缩包)
在这里插入图片描述
这样我们就可以在不解压压缩包的情况下,看到压缩包里面的内容了。