[问题] tar 多不同路径档,并移除绝对路径

楼主: karasless (鸦)   2017-12-08 16:05:41
Linux 板的棒油大家好。
在写 script 中,取得了想要处理的档案清单:
./01.txt
/tmp/02.txt
/home/user/03.txt
...
想要将其打包压成 tar 档,
不过若是直接下指令如下的话:
tar -zcvf test.tar.gz ./01.txt /tmp/02.txt /home/user/03.txt
则保存的资料夹路径也会一起被 copy(根路径被移除)
tar -ztvf test.tar.gz
01.txt
tmp/02.txt
home/user/03.txt
作者: akaron   2017-12-08 16:17:00
用basename指令或作法二改用symlink然后用 tar -h 参数
作者: sasoric (sasori.c)   2017-12-08 16:17:00
感觉做法1就可以了,切路径也有现成的工具,不会太麻烦
楼主: karasless (鸦)   2017-12-08 16:25:00
喔喔! symlink 再用 tar -h 好酷,来试试
作者: hijkxyzuw (i,j,k) ×(x,y,z)   2017-12-08 16:26:00
解压缩的时候用 --one-top-level
楼主: karasless (鸦)   2017-12-08 17:39:00
用的版本没 one-top-level 选项还是用 方法一做掉了~ tar -rvf、basename、dirname
作者: lantw44 (#######################)   2017-12-08 18:10:00
tar 的 -C 可以指定多次,类似 cd 可以重复切换工作目录可以尝试 01.txt -C /tmp 02.txt -C /home/user 03.txt
楼主: karasless (鸦)   2017-12-08 19:23:00
喔喔! 原来 -C 可以这样用啊,还想说这 -C 也太不实用~学习了!
作者: jamselee (jamselee)   2017-12-14 06:47:00
推讨论分享

Links booklink

Contact Us: admin [ a t ] ucptt.com