相对而言

时间:2010-07-12 13:42:09

标签: shell scripting tar

我正在编写一个可以tar任何给定文件夹并将其放在我的home / bkp中的脚本。 该脚本将如下所示,

tar czvf  /home/me/bkp/`basename $1`.tar.gz $1  

现在好了,使用它。,

backup-script.sh /home/me/folder/sub/to-be-backed-up/ 

嗯,好。

现在,当我解开它时,它会创建home/me/folder/sub/to-be-backed-up/*files* 我只想要to-be-backed-up/*files*

在创建相对压缩它的tar文件时是否有任何选项?

1 个答案:

答案 0 :(得分:3)

您可以使用tar的-C选项,以便首先更改为给定目录。我经常使用将/..附加到路径来获取父目录的技巧,以便您的脚本类似于:

# backupscript.sh <folder>
tar cvzf /home/me/bkp/`basename $1`.tar.gz -C $1/.. `basename $1`

或者您可以使用dirname来改为首先更改到正确的目录