54

tar打包及打包并压缩-Jolie的博客-51CTO博客

 6 years ago
source link: http://blog.51cto.com/13503302/2066430
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

tar打包及打包并压缩

1、tar打包

前面讲的都是压缩的工具,接下来讲一下打包的工具,tar 打包工具。

tar打包及打包并压缩

有时候需要在两台服务器之间互传文件或目录,也有可能是多个文件或多个目录或多个目录加多个文件,这样子互传的话,就会比较耗费时间。需要通过打包工具来打包成一个大文件,虽然通过打包之后,文件的大小没有改变,但是节省了文件传输的时间。也有可能会有一些不常见的情况,就是打包的文件大小是小于 4K 的,这样子的文件一起打包的话,最后的打包文件大小就是这些文件实际大小相加的总和,而不是所有 4K 相加的总和。

接下来打包一个目录,见下图,

tar打包及打包并压缩

其中, lyslinux/ 中的 / 可加可不加。 -cvf 中的 c 是 create 创建的意思,v 是可视化的意思,即可以查看创建的过程,f 后面跟打包的名字。这边的 f 是必须要有的,而 v 可以省略。后面输入命令 tar -cf lyslinux.tar lyslinux/ 之后,就不能看到创建过程了,而且没有任何提示,直接覆盖了前面命令的结果,即创建打包文件 lyslinux.tar 。
解包过程,见下图,

tar打包及打包并压缩

解包的时候也会覆盖原来的目录或文件,没有任何提示,不会像 unzip 那样提示是否替换。打包目录加文件的情况,见下图,

tar打包及打包并压缩

使用命令 tar -tf lyslinux.tar ,也可以查看打包的目录或文件列表,见下图,

tar打包及打包并压缩

tar 打包工具还有一个选项 --exclude ,就是过滤掉不想打包的文件,具体操作见下图,

tar打包及打包并压缩

上图中,过滤掉目录 lys1 之后,在打包的时候,就看不到目录 lys1 了。也可以同时过滤掉多个目录或文件,见下图,

tar打包及打包并压缩

注意,exclude 不支持后面跟多个目录或文件,只能一个 exclude 跟一个目录或文件。

2、打包并压缩

tar打包及打包并压缩

tar 在打包的时候,是支持压缩的,之前讲过的 gzip 、bzip2 、xz 压缩工具都可以在 tar 打包文件中使用。先来查看下图的列子,

tar打包及打包并压缩

tar 打包压缩文件最后的大小已经到最小文件的极限 4K ,所以他们几个压缩文件大小看不出对比,但实际上的结果应该是 lyslinux.tar.gz > lyslinux.tar.bz2 > lyslinux.tar.xz 。
解压的时候,把压缩命令中的 c 换成 x 即可。
使用选项 -tf ,可以查看压缩文件内容,并且都适用以下三种压缩文件,见下图,

tar打包及打包并压缩

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK