有人能解释一下cd /
和之间的区别吗cd ~
另外,在管理员级别使用相同的命令有什么区别?
答案1
cd /
将目录更改为文件系统的根目录,即/
而cd ~
将其更改为您的主目录。
这里~
被解释为执行命令的用户的主文件夹。对我来说它是/home/anwar
。
如果您cd ~
以 root 身份运行,则会将工作目录更改为 root 用户主目录,即/root
。root
用户主文件夹通常不位于/home/
目录下,而是直接位于根目录下/
。
查看此问题以了解 Linux 文件系统的一般介绍
答案2
请注意:在原始问题中,路径是不是相同,并且这些命令并不相等。
cd /
这会转到系统的 /(根)目录。这是一个硬编码路径,无论哪个用户执行它,都会转到同一目录。
cd ~
这是一个始终引用用户主目录的 shell 快捷方式。
如果用户“raj”执行 cd ~,并且他们的主目录是 /home/raj,它将把 raj 带到 /home/raj。
如果用户“babna”执行cd ~,并且他们的主目录是/home/babna,它将把babna带到/home/babna。
如果以 root 身份执行相同的命令,它将带您进入典型的 Ubuntu 系统上的 /root。
这是非常对于脚本很有用,因为多个用户可以使用相同的脚本并影响其主目录的更改。
对于手动输入到 bash 中的单个命令,只要路径最终相同,它们如何输入并不重要,因为 cd本身是一个内置的shell,它将使用相同的机制来切换目录。