基本上我只想tar目录中的所有文件,但不能获取存档中的所有父目录.
我试过-C,但我想我没用它.
tar -cjf archive.tar.bz2 -C /var/some/log/path ./*
Run Code Online (Sandbox Code Playgroud)
这导致tar尝试添加CWD中的所有文件.使用完整路径作为最后一个参数不会阻止添加目录.
看似简单,但无法弄明白.以某种方式tar不会将./*作为相对于-C的焦点,尽管它应该更改为该dir.
帮助赞赏.
aio*_*obe 11
/var/some/log包含父目录(),因为/var/some/log/path/..包含在内./*.试着做
tar -cjf archive.tar.bz2 -C /var/some/log/path .
Run Code Online (Sandbox Code Playgroud)
测试运行:
$ 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$
Run Code Online (Sandbox Code Playgroud)