在Linux环境中,$和#的区别

在Linux环境中,$#符号有什么区别?当我开始在Linux上工作时,我发现它们是不同的。我的意思是它们有不同的权限集吗? [root@localhost ~]#[tom@localhost ~]$
1个回答

简而言之,如果屏幕上显示的光标左边有美元符号($)或井号(#),则表示您处于命令行环境中。 $、#、% 符号表示您登录的用户帐户类型。
- 美元符号($)表示您是普通用户。 - 井号(#)表示您是系统管理员(root)。 - 在C shell中,提示符以百分号(%)结尾。
由于不同的Unix或GNU/Linux发行版具有默认设置的差异,提示符也会有所不同。例如,Debian/Ubuntu的提示符是guest@linux:~$,Fedora/CentOS/RedHat的提示符是[guest@linux ~]$,SuSE Linux/OpenSUSE的提示符是guest@linux:~>。通常,提示符通常显示登录用户名、机器主机名和当前工作目录,并以美元符号($)、百分号(%)或井号(#)结尾。
guest@linux:~$ 
  • guest - 用户名:您当前登录的用户账户。
  • linux - 机器主机名:您正在操作的机器。
  • ~ - 当前工作目录:您所在的目录。波浪符号(~)表示家目录,即首次登录时的默认目录。
gayanw@myubuntu-host:~$ pwd
/home/gayanw

参考: wiki.debian.org.hk/w/Basic_Command_Line

@reverseiblean,感谢您的快速回复。现在我可以在CentOS提示符中看到$和#了。 - Nagendra Prasad Balaka
对于root用户,提示符为#;而对于tom或其他用户,提示符为$。 - Nagendra Prasad Balaka
@GayanWeerakutti 这个命令中的美元符号有什么作用 chattr +i "$(realpath /etc/resolv.conf)"?我在另一个问题中找到了它,我需要澄清。谢谢。 - Shayan
@Shayan 我觉得这没什么意义。只需将其替换为实际文件的路径,例如:chattr +i /path/to/file - Gayan Weerakutti
1@GayanWeerakutti 这是有道理的,因为在没有 systemd 的时候 /etc/resolv.conf 是一个符号链接,指向 /run/resolvconf/resolv.conf 文件。现在它的使用方式我不太确定。而且 chattr 显然不能用于符号链接。 - Sergiy Kolodyazhnyy
1实际上,对此事实际上有一个完整的问题 - Sergiy Kolodyazhnyy
所以我明白$符号用来表示变量。 - Shayan