问题描述
~$
代表什么?例如:
user@ubuntu:~$
到目前为止,我知道$
标志是普通用户的标志。如果我没弄错的话,root
最后会有#
。
我还在论坛中发现了很多以$
开头的命令:
$ sudo apt-get update
那么$
究竟代表什么呢?
编辑(2014年1月28日):
今天我看到这个视频完全回答了我8个月前的问题并决定在这里分享:)
BASH基础知识 – https://www.youtube.com/watch?v=x73WTEltyHU
最佳解决方案
~
和$
是命令行提示符的元素。这表明您的计算机(或者更确切地说,我猜,您正在运行的shell)正在等待用户输入。它会提示您输入命令。
$
仅仅是一个分隔符或分隔符。它将命令提示符与其后面的命令分开。当人们编写诸如$ sudo apt-get update
(您的示例)之类的东西时,他们只是告诉您需要在命令提示符下输入命令,在本例中为sudo apt-get update
。严格地说,也许$
在这方面是多余的。
其他分离器可用于其他情况。例如,#
用于根shell。
~
(称为’tilde’)是您的主目录的简写。当它出现在命令提示符中时,例如user@hostame:~$
,它表示当前工作目录是您的主目录。因此,如果运行list命令ls
,而不指定任何特定目录,它将列出主目录的内容。
(顺便说一句,$HOME
,不是你建议的命令,而是一个环境变量。它确定你的主目录的位置。你可以通过运行$ echo $HOME
看到它的值。)
次佳解决方案
传统上,shell提示符以$,%或#结尾。如果以$结尾,则表示与Bourne shell兼容的shell(例如POSIX shell,Korn shell或Bash)。如果以%结尾,则表示C shell(csh或tcsh)。如果以#结尾,则表示shell作为系统的超级用户帐户(root)运行。
资料来源:here
第三种解决方案
-
~
代表您的主目录。 -
$
它是您系统的分隔符,它来自man page.的命令\$
因此,如果您找到以$
开头的命令,它只是说在此之前不应添加任何内容。
user@ubuntu:~$
user
是您登录的用户名。 @
就是说这里是一个链接。 ubuntu
是您登录的系统的名称。 :~
表示您现在位于user
主目录中。 $
来自$PS1
中的\$
逃逸序列。 man page.
但是这一切都可以通过阅读man page.来改变。感谢@demure的帮助。
第四种方案
当你添加一个像你显示的那样的命令时,$ sign在终端的提示结束时,不输入$ else它将无效。
所以$ sudo apt-get更新
将输入为:
sudo apt-get update
希望有所帮助。
Edit
〜代表您的主文件夹,因此name@pc_name:~/Desktop$
将显示您位于Home> Desktop文件夹中。