当我用来su
获取 root 时,然后我cd ~
我不在 /root 上,当我ls
显示桌面文件和一些隐藏文件(如 .bashrc)时,但没有其他文件。
root@debian:~# ls -a
. .. .adobe .bash_history .bashrc .cache .config Desktop .gnome2 .gnome2_private .local .macromedia .mozilla .profile .vim .viminfo
要进入真正的 /root 我必须cd /
从这里开始。
我以为没有../
from /root
,那这是什么~
?
编辑2:
xxxx@debian:~$ ls
Desktop Documents Downloads Music Pictures Public Templates Videos
xxxx@debian:~$ su
Password:
root@debian:/home/xxxx# cd
root@debian:~# ls
Desktop
root@debian:~# pwd
/root
root@debian:~# cd /
root@debian:/# ls
bin boot dev etc home initrd.img lib lib64 lost+found media mnt opt proc root run sbin srv sys tmp usr var vmlinuz
root@debian:/# pwd
/
答案1
您弄错了两个具有相似名称的事物。
root
- 也称为/
- 它是光盘的起点。如果您想象您的文件系统布局为一棵树(在数学意义上),您将清楚地看到为什么它被称为根 - 它没有祖先,只有孩子。
然而,/root
却是完全不同的事情。您可以看到名称有所不同 - 差异很小,仅/
在开始时有所不同,但这就是含义发生巨大变化的地方。/root
是一个名为的目录root
,您可以在 中找到该目录/
。所以,如果你这样做:
cd / && ls | grep root
您将看到需要一个名为 的目录root
。这就是您误认为的目录/
。不同之处在于它/root
是 root 用户的主目录,并且/
是文件系统的根目录。您可以阅读有关此主题的更多信息在这个网站上
答案2
该目录是位于文件系统顶部的/root
目录。root
也许您将文件系统的根目录/
与用户的主目录混淆了root
。
答案3
普通的。su
不带参数只是更改用户的 id,而不真正加载完整请求的用户环境。
所以基本上你只是在 root id 下的本地用户环境中。
如果你想真正加载根环境,你必须这样做su -
或su -l
将加载请求的用户完整环境。
答案4
要知道您在目录树中的位置,您必须输入:
pwd
顺便说一下,根目录是/root。这是根用户(如果您愿意的话,超级管理员)的个人目录。当您输入:
cd /
您正在将实际用户重新定位到包含根用户目录的文件系统层次结构的根(顶部)。