为什么我的 Linux 超级用户根目录 ls 命令不显示所有文件?

Uni*_*012 5 linux

如果我登录然后通过以下方式前往我的超级用户 root:

sudo su -
Run Code Online (Sandbox Code Playgroud)

我现在在根目录中。我可以通过ls. 但是很多目录似乎不存在。例如,我可以:

cd /svr/www
Run Code Online (Sandbox Code Playgroud)

并最终在目录中wwwsvr当我ls从 root输入命令时,该目录没有显示,它也没有出现在显示的任何目录下。

我错过了什么?

Sta*_*mer 7

在命令之后,sudo su -我想你会发现你在 root 的主目录中/root而不是在 root 目录中/。因此ls不会显示/srv。我建议您使用pwd检查您所在的文件夹。


all*_*tic 2

如果您在/目录中并键入ls,您将不会看到“递归”子目录。您只会看到当前目录的直接子目录。因此,为了看到/srv/www你必须先看cd /srv,然后看ls

有一种叫做递归的东西ls;但是,如果您需要完整路径,find则是更好的选择。

请参阅此 StackOverflow 问题,该问题已经处理了递归文件/目录列表的主题。