於 Linux 使用 tar 備份資料,出現下述的警告訊息:(中英文)
- tar: Removing leading `/' from member names
- tar: 從成員名稱中移除前端的 /
tar 出現「/bin/tar: 從成員名稱中移除前端的 /」的警告訊息解法
先說明 tar 是做合併,壓縮通常使用 gzip 附加上去,但是此篇用「壓縮」來講比較容易懂。
下述範例:
- tar zcvf example.tgz example/ # 沒事
- tar zcvf example.tgz /example # 出現警告訊息
出現此訊息是因為,備份資料是從 /(絕對路徑) 開始,而不是 相對路徑。
因為 tar 解壓縮資料的時候,會依照 PATH 路徑來還原,若使用絕對路徑,可能會發生意外(把外面實體目錄覆蓋掉)
所以 tar 在壓縮的時候,會幫你把最前面的 / 拿掉,讓解壓縮變成相對路徑的意思
若想使用絕對路徑,又不想出現此警告訊息,可以加上「-P」的參數,如下範例:
- tar zPcvf example.tgz /example # 就不會出現警告