shell – 防止父目录被tarred

前端之家收集整理的这篇文章主要介绍了shell – 防止父目录被tarred前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
基本上我只想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$

猜你在找的Bash相关文章