我搜索了一段时间,但找不到这个问题的答案。
我有一个基于Linux的服务器(centOs)。
在根文件夹 (/) 中我有一个名为 root (/root) 的文件夹。
现在当我使用 sudo cd root/ 时我停留在同一个文件夹 (/)。
首先,我认为 /root 是一个符号链接,但是符号链接是青色的,而这里是深蓝色。
我读到 /root 文件夹是根用户文件夹,但我无法进入。
有人能解释一下这里发生了什么吗?
答案1
/
(根目录)与/root
目录
/
名为 as 的目录Root Directory
位于文件系统层次结构的顶部。- 这意味着它是您在系统上可以找到的任何文件或目录的最终父级或祖父母或曾祖父母。
- 它包含系统运行所需的所有文件,例如启动文件、库、包、基本二进制文件、系统配置、用户文件和临时文件。
现在
/root
是Home directory for User named Root
。请参见上图的右下角。- 就像每个用户都有自己的目录并带有他/她的用户名一样
/home
,用户Root
也必须有一个目录。 - 但由于
Root
用户需要了解系统的每个细节,因此他的主目录在/
其自身下创建,名称为/root
- 它包含您以 root 用户身份创建的文件和文件夹以及您安装的某些应用程序或包的隐藏配置文件。
- 就像每个用户都有自己的目录并带有他/她的用户名一样
现在当我sudo cd root/
停留在同一个文件夹 (/)
正如所指出的赛尔格拉德在评论中,
cd is a builtin shell command, so doing sudo cd /root won't work
看看这个:
amit@C0deDaedalus:~$ cd /root
bash: cd: /root: Permission denied
amit@C0deDaedalus:~$
amit@C0deDaedalus:~$ sudo cd /root
[sudo] password for amit:
sudo: cd: command not found
相反,你必须先切换到 root 用户,然后执行 cd 到/root
$ sudo -i
# cd /root
# pwd
请随意添加更多细节。
答案2
切换到 root 用户,然后 CD 到该用户
$ sudo su
# cd /root
如前所述,cd 是 bash 内置的,不能使用 sudo 执行。如果你想查看目录的权限,请尝试
$ ls -al
然后查看权限列以确定您登录的用户是否有权限。
答案3
您的根文件夹是/。 你的/根是根的家文件夹。例如,如果您创建一个名为 test 的用户,那么它的主文件夹就是 /home/test。对于 root 用户,它只是 /root,而不是 /home/root。