为什么写入命令 ls 后我看不到真正的文件夹?

为什么写入命令 ls 后我看不到真正的文件夹?

在收到用户评论后,我将编辑这个问题,尽量做到准确,即使普鲁莫给出了正确的答案(非常感谢!)

我打开终端,以 root 用户身份连接我的远程服务器:

shh root@myip

以 root 用户身份进入我的服务器:

[root@servidor ~]

如果输入,ls我会得到一些文件,但我看不到任何文件夹/home

当我输入时/home,实际上我访问了/home目录,因此我可以执行ls并查看该目录内的所有内容。

问题是,为什么[root@servidor ~]我无法看到服务器中的所有内容?

如果我这样做,但是在我的笔记本电脑中,当我运行终端时,我可以看到许多文件夹,但是像服务器情况一样,如果我执行 cd/来到根目录,我会再次看到所有内容。

当我启动终端时:

~ 

如果我输入ls

Code       Desktop    Downloads   Music      pdf       Public     Videos
Descargas  Documents  Escritorio  Pictures  Templates

如果我输入 pwd:

/home/mynameuser

如果我输入~

~ cd /

我可以看到每个目录和文件:

bin      Documents       lib         Music     run       Templates  vmlinuz
boot     Downloads       lib64       opt       sbin      timeshift  vmlinuz.old
cdrom    etc             lost+found  Pictures  snap      tmp
core     home            media       proc      srv       usr
Desktop  initrd.img      mnt         Public    swapfile  var
dev      initrd.img.old  mssql-cli   root      sys       Videos

如果我输入/

/ cd home/mynameuser

~我从一开始便去同样的地方:

密码 =>

home/mynameuser

我想,经过 pLumo 的解释后,我解决了我自己的问题。

当我在笔记本电脑上启动终端时,它会在里面打开/home/mynameuser

当我启动我的 ssh 连接时,它从/root目录中启动,但不是/home directory

答案1

总结:

ls你一起看到的当前工作目录。你可能在里面~,而不是在里面/,这就是你看不见的原因/home


目录home通常位于 (/即根目录)下面。运行ls /home将显示来自任意位置的内容,因为以 开头的路径名/绝对路径。

使用时,ls您正在当前工作目录中搜索目录。使用pwd显示它。对于新ssh连接,它通常是~(又名/home/$USER/== 用户主目录)。

使用ls /查看home目录根目录内部或cd /将当前工作目录更改为目录根目录。

相关内容