find 命令不输出任何内容

find 命令不输出任何内容

最近,find 命令行为很奇怪。

[root@luna ~]# find / -name \*.sh -print
[root@luna ~]# find / -name \*.sh -print
/home/data/tools/rd/RDService/scripts/createZipArchive.sh
/home/data/tools/rd/RDService/scripts/createImgArchive.sh
find: `/home/data/lost+found': Permission denied
find: `/home/music/lost+found': Permission denied
(snip)

我执行了 find,但什么也没得到,它在 1 秒内退出了。所以我又执行了一次。这次我得到了正确的结果。(权限被 NFS 拒绝)

我使用的是arch linux 64bit,find的版本如下:

[root@luna ~]# type -a find
find is /usr/bin/find
[root@luna ~]# find --version | head -1
find (GNU findutils) 4.4.2
[root@luna ~]# 

有什么帮助吗?

编辑:

[root@luna ~]# find / -name \*.sh -print
[root@luna ~]# echo $?
0
[root@luna ~]# find / -name \*.sh -print
/home/data/tools/rd/RDService/scripts/createZipArchive.sh
/home/data/tools/rd/RDService/scripts/createImgArchive.sh
find: `/home/data/lost+found': Permission denied
^C
[root@luna ~]# 

编辑:

重启后似乎可以重现一次。

/etc/fstab 中有以下两行:

nicobo:/export/music    /home/music     nfs             vers=4.2,rw,soft,bg,intr,noauto,x-systemd.automount,x-systemd.device-timeout=10 0 0
nicobo:/export/data     /home/data      nfs             vers=4.2,rw,soft,bg,intr,noauto,x-systemd.automount,x-systemd.device-timeout=10 0 0

在我注释掉这些行并重新启动后,该问题无法重现。我取消注释,重新启动,然后得到以下结果:

[root@luna ~]# ls /home/data > /dev/null
[root@luna ~]# ls /home/music > /dev/null
[root@luna ~]# find / -name \*.sh -print
/home/data/tools/rd/RDService/scripts/createZipArchive.sh
/home/data/tools/rd/RDService/scripts/createImgArchive.sh
find: `/home/data/lost+found': Permission denied
^C
[root@luna ~]# 

我可以重现它:

[root@luna ~]# umount /home/data
[root@luna ~]# find / -name \*.sh -print
[root@luna ~]# find / -name \*.sh -print
/home/data/tools/rd/RDService/scripts/createZipArchive.sh
/home/data/tools/rd/RDService/scripts/createImgArchive.sh
find: `/home/data/lost+found': Permission denied
^C
[root@luna ~]# umount /home/data
[root@luna ~]# find / -name \*.sh -print
[root@luna ~]# find / -name \*.sh -print
/home/data/tools/rd/RDService/scripts/createZipArchive.sh
/home/data/tools/rd/RDService/scripts/createImgArchive.sh
find: `/home/data/lost+found': Permission denied
^C
[root@luna ~]# 

这似乎是一个与 autofs 相关的问题。

答案1

它似乎已通过 arch linux 中的 findutils 4.6.0 修复。

相关内容