“ls”显示挂载的 NFS 文件夹中没有文件,但“cd”有效

Jon*_*ein 9 linux mount bash nfs

NFS 共享已挂载到/vol/mynfsLinux 客户端。它不显示任何文件夹,ls并且 bash 完成也不起作用/vol/mynfs。但是在更改到子目录后,所有文件都可见。

$ ls /vol/mynfs
total 0
$ cd /vol/mynfs/test
$ ls  # shows all files as expected now.
Run Code Online (Sandbox Code Playgroud)

为什么文件首先不可见,如何使它们始终可见?

Nor*_*ray 10

我想你的 NFS 共享是自动挂载的,是吗?

在实际挂载共享之前,/vol/mynfs它只是一个空目录,因此ls显示为。移动到该目录会强制挂载实际发生,因此ls之后会显示现在挂载目录的内容。

只要实际安装了共享,这些文件就可以列出。如果共享随后被卸载(手动或自动,不活动超时后),该目录将再次显示为空。

如果出于某种原因您需(cd /vol/mynfs; ls)要这样做的ls话,类似的东西会强制安装并执行。