〜$代表什么?


27

代表什么~$?例如:

user@ubuntu:~$

到目前为止,我知道该$标志是普通用户的标志。如果我没有记错的root#结尾。

我还在以以下内容开头的论坛中找到了很多命令$

$ sudo apt-get update 

那么$实际上代表什么呢?

编辑(28.01.2014):

今天我看到了这个视频,它完全回答了我8个月前的问题,并决定在这里分享:)

BASH基础-https: //www.youtube.com/watch?v= x73WTEltyHU

Answers:


33

~$是的元件的命令行提示。这表明您的计算机(或更准确地说,我想您正在运行的外壳)正在等待用户输入。它提示您输入命令。

$仅仅是一个分离器或分频器。它将命令提示符与其后的命令分开。当人们编写诸如$ sudo apt-get update(您的示例)之类的内容时,他们只是在告诉您,在这种情况下sudo apt-get update,需要在命令提示符下输入命令。严格来说,$在这种情况下,也许是多余的。

在其他情况下可以使用其他分隔符。例如,#用于根外壳。

~(称为“波浪线”)是你的home目录的简写。当它出现在命令提示符下(例如)时user@hostame:~$,表明当前工作目录是您的主目录。因此,如果您运行list命令,ls而未指定任何特定目录,它将列出您的主目录的内容。

(顺便说一句,$HOME不是您所建议的命令,而是环境变量。它确定主目录的位置。您可以通过运行来查看其值$ echo $HOME。)


10
@FEarBG我认为这个答案在一个很小的方面失败了:提示是完全可定制的,仅仅是一种修饰;您可以决定使用空提示,或在其中使用任何喜欢的符号(例如,在我的计算机上,我已将$`̃∴ 替换为提示符号)。您可以PS1根据自己的喜好将环境变量设置为提示。
Bakuriu

@Bakuriu当然,假设重击。其他外壳可能有所不同。
CVn

1
“严格来说,也许美元在这种情况下是多余的。” -是的,这就是为什么我们通常倾向于避免$不必要的情况(例如,用于日志副本或示例输出)。
user98085 2013年

12

传统上,shell提示符以$,%或#结尾。如果以$结尾,则表示与Bourne外壳兼容的外壳(例如POSIX外壳,Korn外壳或Bash)。如果以%结尾,则表示为C shell(csh或tcsh)。如果以#结尾,则表示该外壳程序正在以系统的超级用户帐户(root)运行。

资料来源这里


在某些(通常是旧的)系统上,即使是普通用户,您也会使用“#”(也许是为了让自己保持脚尖^^)...即,如果您是root用户,则某些较旧的shell不会更改符号-与普通用户。
Olivier Dulac


10
  • ~ 代表您的主目录。
  • $这是为您的系统分离器,它来自命令\$手册页。

因此,如果您找到以$它开头的命令,则只说在此之前不应该添加任何内容。

user@ubuntu:~$

user是您用来登录的用户名。
@只是说这是一个链接。
ubuntu是您作为登录系统的名称。
:~说您现在在user主目录中。
$来自中的\$转义序列$PS1手册页。

但这都可以通过阅读手册页进行更改 谢谢@demure的帮助。


2
具体来说,它是\$$ PS1 的一部分,旨在显示手册页是否发挥作用$(否则为root #
demure

@denure更新了我的答案,如果您认为可以改善它,请这样做。
2013年

6

当您添加如所示的命令时,$符号将在终端中提示的结尾,请勿键入$,否则它将不起作用。

所以$ sudo apt-get update

将输入为:

sudo apt-get update 

希望能有所帮助。

编辑

〜代表您的Home文件夹,因此name@pc_name:~/Desktop$将表明您位于Home> Desktop文件夹中。


3
也许是为了表明您应该在提示符下输入命令。
SimplySimon 2013年

4
并且还要区分普通用户(在$提示符下)和root(在#提示符下)运行的命令。
锥杀手

@FEarBG:这是一个任意约定,据我所知,与使用$表示变量名无关。键盘上只有这么多可打印的字符。DOS和Windows >在提示中使用,Unix通常使用$%。它告诉您“这是一个提示”,而不会浪费屏幕上的空间(或者过去浪费墨水和纸张)。
基思·汤普森

当然,在DOS和Windows环境中使用变量%。如您所说,这在很大程度上是任意的;几乎需要有某种东西,但是不必到处都一样(尽管如果有的话,那会很好)。
CVn
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.