GNU `tar` 在排除的目录上运行 `stat`。正常吗?

GNU `tar` 在排除的目录上运行 `stat`。正常吗?

我正在tar运行像这样:

cd /
tar --create                    \
    --verify                    \
    --exclude-backups           \
    --exclude-caches            \
    --auto-compress             \
    --file /tmp/home.tar.gz     \
    --exclude=/home/elena/.gvfs \
    home

tar输出:

tar: home/elena/.gvfs: Cannot stat: Permission denied

我希望.gvfs[1] 目录被完全忽略。为什么 GNU 会在它之上tar运行?stat

至于为什么我使用/home/elena/.gvfs绝对路径来匹配.gvfs目录,这是因为据我所知,没有其他方法可以选择单个目录进行排除,而不排除任何级别的匹配子目录。

我尝试将这--exclude行放在 , 后面home,以应对不同版本中可能出现的怪癖tar 考虑到,但这没有任何改变。

感谢您的关注。

GNUtar版本:1.23

--

[1]~/.gvfs是一种访问Gnome 虚拟文件系统我跳过它是因为我知道它无法访问,并且存档它没有意义。我仍然想知道为什么tar不完全跳过它。

答案1

tar: home/elena/.gvfs: Cannot stat: Permission denied

请注意,错误消息不包含前导斜杠。尝试--exclude=home/elena/.gvfs不使用斜线。

相关内容