[問題] 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