home$ 和 ~$ 和有什么不一样?

Yog*_*thi 5 linux command-line ubuntu directory directory-structure

在下面的屏幕截图中,我无法理解表 2-1第三个快捷方式。

它说这cd ~user_name会将工作目录更改为user_name的主目录。但是,当我输入这个命令时,我在同一个目录中,即~$而不是/home$。为什么?

他们都一样吗?

我认为正式的一个是用户目录,后面的一个是主目录。

截屏

G-M*_*ca' 6

无论你说什么~$home$/home$ 都没有多大意义。我猜你在谈论你的命令行提示符;如果是这样,显示您输入的内容和发生的情况(然后解释您的期望)会很有用。

但我可以读心,所以我相信我理解这个问题: ~~user239887(假设user239887你的真实用户名)意思是一样的。如果你要输入

cd ~gman
Run Code Online (Sandbox Code Playgroud)

这会带你到我的主目录,你的 shell 提示可能看起来像/home/gman$.


一开始,shell 提示符总是两个字符——一个打印字符和一个空格。如果您是系统管理员,您的提示是“ ”;否则,它是“ ”或“ ”。然后上帝说,“要有漂亮的 shell 提示”,瞧,有漂亮的 shell 提示。Shell 提示开始显示用户名、系统名称、时间和月相(你认为我在开玩笑吗?),全部都是彩色的。

对 shell 提示符最流行的自定义之一是包含当前目录。您的 shell 提示可能是您当前的目录,后跟“ ”。

另一个很酷的事情™ 是您可以通过键入“ ~”来指定您自己的主目录。因此,当您的当前目录是您的主目录并且您的 shell 提示被配置为显示您的当前目录时,那么 shell 提示将显示“ ~”。但是在其他任何地方,它都会显示实际的路径名(除非它可能会~gman在您位于我的主目录中 时显示“ ” /home/gman)。

您的主目录可能是/home/user239887. 正如我之前所说,您可以将其称为~~user239887。当您登录时,您在您的主目录中,因此您的提示是“ ~$ ”。如果您键入cd ..,则您将转到该/home目录,即您的主目录的目录,您的提示将变为“ /home$ ”。

在重复自己的风险,NO/home是不是你的主目录。您的主目录可能是/home/user239887.? /home是您的主目录的目录。

  • @user239887 我想你误解了一件事:`/home` 是 **NOT** 主目录。它是包含所有主目录的目录。你的主目录是`~`,这和说`/home/your_username` 是一样的,但在任何情况下`/home` 都不是任何人的主目录。 (4认同)