$ tar -zcvf archive/test.tar.gz files
會給我如下:消除目錄hiearchy同時tar。
files/
files/1
files/2
files/3
-
$ tar -zcvf archive/test.tar.gz -C files .
會給我如下:
./
./1
./2
./3
我無法找出正確的焦油命令輸出如下。
1
2
3
$ tar -zcvf archive/test.tar.gz files
會給我如下:消除目錄hiearchy同時tar。
files/
files/1
files/2
files/3
-
$ tar -zcvf archive/test.tar.gz -C files .
會給我如下:
./
./1
./2
./3
我無法找出正確的焦油命令輸出如下。
1
2
3
您使用--transform
選項,這需要一個SED表達。
--transform="s/^\.\///"
應該具有預期的效果。
編輯糟糕,看起來像這樣會在tar歸檔中留下一個前導'./'條目,這可能是不可取的。使用@ paulsm的答案可能更簡單,但它可能會錯過隱藏文件(以。開頭的文件)。
個人而言,我只是:
cd files
tar -zcvf /full-path/archive/test.tar.gz *
theres問題,我不想cd到不同的目錄,然後腳本失去其執行環境。 :( – 2012-04-20 20:28:14
$ tar -zcvf archive/test.tar.gz -C文件--transform =「s /^\.//」......那是對的嗎? – 2012-04-20 20:25:49
這將是正確的命令行,但它似乎我不得不在一個真正的系統上正常工作 – Petesh 2012-04-20 20:27:29
我在ubuntu上試了一下它說tar:無效的轉換表達式 – 2012-04-20 20:35:06