文档的压缩与打包

在linux下最常见的压缩文件通常都是以.tar.gz 为结尾的,除此之外还有.tar, .gz, .bz2, .zip等等。以前也介绍过linux系统中的后缀名其实要不要无所谓,但是对于压缩文件来讲必须要带上。这是为了判断压缩文件是由哪种压缩工具所压缩,而后才能去正确的解压缩这个文件。以下介绍常见的后缀名所对应的压缩工具。

.gz gzip 压缩工具压缩的文件

.bz2 bzip2 压缩工具压缩的文件

.tar tar 打包程序打包的文件(tar并没有压缩功能,只是把一个目录合并成一个文件)

.tar.gz 可以理解为先用tar打包,然后再gzip压缩

.tar.bz2 同上,先用tar打包,然后再bzip2压缩

【gzip】

语法: gzip [-d#] filename 其中#为1-9的数字

-d :解压缩时使用

-# :压缩等级,1压缩最差,9压缩最好,6为默认

[image]

压缩test.txt后,则变成了test.txt.gz

[image]

用-d解压缩

要注意的是,gzip不可以压缩目录

[image]

【bzip2】

语法:bzip2 [-dz] filename

-d :解压缩

-z :压缩

[image]

其实-z参数是可以省略掉的,你不妨试试

[image]

跟gzip的解压类似,也是用-d解压。

【tar】

语法:tar [-zjxcvfpP] filename

-z :是否同时用gzip压缩

-j :是否同时用bzip2压缩

-x :解包或者解压缩

-t :查看tar包里面的文件

-c :建立一个tar包或者压缩文件包

-v :可视化

-f :后面跟文件名,压缩时跟-f文件名,意思是压缩后的文件名为filename,解压时跟-f文件名,意思是解压filename。请注意,如果是多个参数组合的情况下带有-f,请把f写到最后面。

-p :使用原文件的属性,压缩前什么属性压缩后还什么属性。(不常用)

-P :可以使用绝对路径。(不常用)

--exclude filename :在打包或者压缩时,不要将filename文件包括在内。(不常用)

首先在test目录下建立test111目录,然后在test111目录下建立test2.txt,并写入”nihao”到test2.txt中,接着是用tar把test111打包成test111.tar。请记住-f参数后跟的是打包后的文件名。

[image]

删除原来的test111目录,然后解包test111.tar,不管是打包还是解包,原来的文件是不会删除的。

[image]

打包的同时使用gzip压缩

[image]

用-tf 跟包名来查看包或者压缩包内的文件都有哪些

[image]

先删除test111,然后用tar -zxvf 来解压.tar.gz的压缩包。

[image]

-jcvf 打包的同时用bzip2压缩,-tf同样可以查看.tar.bz2的压缩包

[image]

-jxvf解压缩.tar.bz2的压缩包

[image]

--exclude参数的作用就是打包的时候过滤掉某些文件,如果想过滤多个文件怎么办

[image]

只能是继续跟 --exclude filename了。

安装方法:

    sudo apt-get install p7zip(sudo apt-get install p7zip-full 二选一)

解压文件:

    7z x manager.7z -r -o /home/xx
解释如下:
x 代表解压缩文件,并且是按原始目录解压(还有个参数 e 也是解压缩文件,但其会将所有文件都解压到根下,而不是自己原有的文件夹下)manager.7z 是压缩文件,这里大家要换成自己的。如果不在当前目录下要带上完整的目录
-r 表示递归所有的子文件夹
-o 是指定解压到的目录,这里大家要注意-o后是没有空格的直接接目录

压缩文件:

    7z a -t7z -r manager.7z /home/manager/*
解释如下:
a 代表添加文件/文件夹到压缩包
-t 是指定压缩类型 一般我们定为7z
-r 表示递归所有的子文件夹,manager.7z 是压缩好后的压缩包名,/home/manager/* 是要压缩的目录,*是表示该目录下所有的文件。

原文地址:https://www.cnblogs.com/zhugeanran/p/8481356.html