基本上我只想tar目录中的所有文件,但不能获取存档中的所有父目录.
我试过-C,但我想我没用它.
tar -cjf archive.tar.bz2 -C /var/some/log/path ./*
这导致tar尝试添加CWD中的所有文件.使用完整路径作为最后一个参数不会阻止添加目录.
看似简单,但无法弄明白.以某种方式tar不会将./ *作为相对于-C的焦点,尽管它应该更改为该dir.
帮助赞赏.
包含父目录(/ var / some / log),因为当你执行./*时包含/ var / some / log / path / ..试着做
tar -cjf archive.tar.bz2 -C /var/some/log/path .
测试运行:
$find tmp/some_files tmp/some_files tmp/some_files/dir1 tmp/some_files/dir1/dir1file tmp/some_files/hello tmp/some_files/world tmp/some_files/dir2 tmp/some_files/dir2/dir2file $tar -cvjf archive.tar.bz2 -C tmp/some_files/ . ./ ./dir1/ ./dir1/dir1file ./hello ./world ./dir2/ ./dir2/dir2file $cd tmp/unpacked /tmp/unpacked$mv /home/aioobe/archive.tar.bz2 . /tmp/unpacked$tar -xvjf archive.tar.bz2 ./ ./dir1/ ./dir1/dir1file ./hello ./world ./dir2/ ./dir2/dir2file /tmp/unpacked$ls archive.tar.bz2 dir1 dir2 hello world /tmp/unpacked$