1.3 提示符揭秘
1.3.1 问题
你肯定很想知道屏幕上的所有符号都代表什么含义。
1.3.2 解决方案
所有的命令行 shell 都采用某种形式的提示符来告诉用户 shell 已经准备好接受输入了。提示符的具体形式取决于很多因素,其中包括操作系统的类型和版本、shell 的类型和版本、发行版以及其他人所做的配置。在 Bourne 系列的 shell 中,提示符结尾的 $
通常表明你是以普通用户身份登录的,而结尾的 #
表明你是 root。root 账户是系统的管理员,等同于 Windows 系统中的 System 账户(该账户的权限比 Administrator 还要高)。在典型的 Unix 或 Linux 系统中,root 无所不能,可以执行任何操作。
默认提示符经常还会显示你当前所处的目录路径,不过多是缩写形式,~表示所在的是主目录。有些默认提示符也会加上用户名和你所登录的主机名。要是还不清楚,当你同时用不同的用户名登入 5 台主机时,就会明白了。
下面是一个典型的 Linux 命令行提示符,它表明用户 jp 所登录的主机名为 adams,当前位于用户主目录中。结尾的 $
说明 jp 是一个普通用户,并非 root:
jp@adams:~$
当切换到 /tmp 目录之后,提示符如下所示。注意,表示 /home/jp 的 ~ 已经变成了 /tmp:
jp@adams:~$
1.3.3 讨论
在和命令行打交道时,shell 提示符会是你见得最多的东西。定制提示符的方法有很多,按照你自己的喜好来即可。目前只需要知道如何解读它就够了。当然了,你所用的默认提示符可能和本书并不一样,不过你现在应该能琢磨出其含义。
在有些 Unix 或 Linux 系统中,可以使用 su 和 sudo 命令分享 root 的权限。如果系统中运行了某种强制性访问控制(mandatory access control,MAC)系统,如 NSA 的 SELinux,root 甚至有可能不再是全能的了。
1.3.4 参考
- 1.4 节
- 14.19 节
- 16.2 节
- 17.15 节