1、tar打包
前面讲的都是压缩的工具,接下来讲一下打包的工具,tar 打包工具。
有时候需要在两台服务器之间互传文件或目录,也有可能是多个文件或多个目录或多个目录加多个文件,这样子互传的话,就会比较耗费时间。需要通过打包工具来打包成一个大文件,虽然通过打包之后,文件的大小没有改变,但是节省了文件传输的时间。也有可能会有一些不常见的情况,就是打包的文件大小是小于 4K 的,这样子的文件一起打包的话,最后的打包文件大小就是这些文件实际大小相加的总和,而不是所有 4K 相加的总和。
接下来打包一个目录,见下图,
其中, lyslinux/ 中的 / 可加可不加。 -cvf 中的 c 是 create 创建的意思,v 是可视化的意思,即可以查看创建的过程,f 后面跟打包的名字。这边的 f 是必须要有的,而 v 可以省略。后面输入命令 tar -cf lyslinux.tar lyslinux/ 之后,就不能看到创建过程了,而且没有任何提示,直接覆盖了前面命令的结果,即创建打包文件 lyslinux.tar 。
解包过程,见下图,
解包的时候也会覆盖原来的目录或文件,没有任何提示,不会像 unzip 那样提示是否替换。打包目录加文件的情况,见下图,
使用命令 tar -tf lyslinux.tar ,也可以查看打包的目录或文件列表,见下图,
tar 打包工具还有一个选项 --exclude ,就是过滤掉不想打包的文件,具体操作见下图,
上图中,过滤掉目录 lys1 之后,在打包的时候,就看不到目录 lys1 了。也可以同时过滤掉多个目录或文件,见下图,
注意,exclude 不支持后面跟多个目录或文件,只能一个 exclude 跟一个目录或文件。
2、打包并压缩
tar 在打包的时候,是支持压缩的,之前讲过的 gzip 、bzip2 、xz 压缩工具都可以在 tar 打包文件中使用。先来查看下图的列子,
tar 打包压缩文件最后的大小已经到最小文件的极限 4K ,所以他们几个压缩文件大小看不出对比,但实际上的结果应该是 lyslinux.tar.gz > lyslinux.tar.bz2 > lyslinux.tar.xz 。
解压的时候,把压缩命令中的 c 换成 x 即可。
使用选项 -tf ,可以查看压缩文件内容,并且都适用以下三种压缩文件,见下图,
来源:51CTO
作者:JolieLin
链接:https://blog.51cto.com/13503302/2066430