现在有一个需求,不知道该如何才能实现

压缩: 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?

问题已经解决,找到了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参数就行了。