一、問題描述 現在有一個需求,不知道該如何才能實現 壓縮: tar czvf /data/backup/test.tar.gz /data/a/b/directory 解壓: cd /data/test tar xzvf /data/backup/test.tar.gz 問題是,解壓后的文件,在/data/test/data/a/b/directory里面 能否壓縮時只保留directory以下的所有目錄,以directory作為/,而不是/data/a/b/directory? 二、解決方案 (1)直接cd到當前目錄再進行打包和壓縮 (2)使用-C參數 GNU tar的官方資料 http://www.delorie.com/gnu/docs/tar/tar_98.html 這樣寫就可以解決了 tar czvf /data/backup/test.tar.gz /data/a/b/directory 改成 tar czvf /data/backup/test.tar.gz -C /data/a/b directory -C是臨時切換工作目錄,-P是絕對路徑,在這里只用到-C參數就行了