0
$ tar -zcvf archive/test.tar.gz files

会给我如下:

files/
files/1
files/2
files/3

--

$ tar -zcvf archive/test.tar.gz -C files .

会给我如下:

./
./1
./2
./3

我无法找出正确的 tar 命令输出如下。

1
2
3
4

2 回答 2

1

您使用该--transform选项,该选项采用 sed 表达式。

--transform="s/^\.\///"

应该有预期的效果。

编辑糟糕,看起来这会在 tar 存档中留下一个前导的 './' 条目,这可能是不可取的。使用@paulsm 的答案可能更简单,但它可能会错过隐藏文件(以 . 开头的文件)

于 2012-04-20T20:22:16.960 回答
0

就个人而言,我只是:

cd files
tar -zcvf /full-path/archive/test.tar.gz *
于 2012-04-20T20:17:58.230 回答