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

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

如果我登录然后通过以下方式转到我的超级用户根目录:

sudo su -

我现在在根目录中。我可以通过 显示文件和目录列表ls。但是相当多的目录似乎不存在。例如,我可以:

cd /svr/www

最后进入目录wwwsvr当我从 root 键入命令时,没有显示该目录ls,也没有显示任何显示的目录下。

我错过了什么?

答案1

执行完该命令后,sudo su -我想你会发现你位于 root 的主目录中,/root而不是根目录中/。因此ls不会显示/srv。我建议你使用pwd来检查你位于哪个文件夹中。

答案2

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

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

这个 StackOverflow 问题它已经讨论了递归文件/目录列表的主题。

相关内容