Linux打包命令tar极简示例_1

之前写了一点,在这:http://t.csdnimg.cn/BH7r6;接着写吧

不解包,查看包的内容

命令直接看图吧:

加上个v,就是这个效果:

如果打包时使用了-z选项,查看包内容的命令就是:

tar包名和待打包项均可以使用绝对路径或相对路径指定

可以看到/data目录下新增了t.tar.gz

还可以看到有提示曰“Removing leading `/'”,区别就是红箭头这里了:

相对路径,,略了吧,下文放个使用相对路径的就算是说了

如果想打包目录,和打包文件一样

就说打包红框里这4个吧:

打包命令:

看看文件内容:

噫,我为什么要写这一段,可能是因为搜索时看到有标题讲如何打包目录的帖子?

目录本质上也是个文件,只是别的文件保存文本或者二进制,目录保存的是目录项罢了;

所以,,,。。算了算了

使用-P和-p的效果

-P的含义是“打包时使用绝对路径名”

-p的含义是“保留文件权限”

总之,加了这两个选项打出来的包,放到另一个环境上(按下图所示的命令)解包,就可以做到解包得到的文件绝对路径、属主属组、权限与打包时的环境一致。

先上图吧,图后边有一个(笔者知道的)小坑,以及一点因为这个选项闹出乌龙的例子。

打包:

注意,这里不提示上文遇到过的“Removing leading `/'”了。

查看下压缩包内容:

如果我们把/tmp/t.tar.gz拿到另一个环境的/root/目录,只需要执行命令就是tar -Ppzxf /root/t.tar.gz,就可以看到有/data/txt目录以及其下有内容了。

这里有一个已知的小坑是:打包使用-p保留的属主属组,实际是保存了用户id和组id,

上文的文件属主属组都是root,所以没翻车;如果是个打包环境上有、但解包环境上没有的用户,效果就不会符合期望了。

这个自己试吧,我就不去弄了,因为我也是听同事说的遇到过类似的事情。

顺便说下因为-P闹出乌龙的事情。有一次开发的同学给了我一个压缩包让更到客户环境,并告诉了我解包命令;

我看到解包命令中包含-P,以为压缩包里就是包含绝对路径的,也没多看,就直接告诉了现场的同学使用tar -Ppzxf xxxx.tar.gz命令解压即可;

过一阵之后客户仍然报有问题,结果发现客户现场的资源根本就没被更新过。。欧买嘎的。。

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值