为什么 chkconfig 在 Ubuntu Precise 中默认突出显示“on”字样?
答案1
因为这就是它的作用。我认为这是故意设计的,是为了让人们注意到。
来自man chkconfig
,重点是我的:
列表模式为每个指定的服务打印一行,该行包含服务名称以及运行级别 0 到 6 的开启或关闭(取决于服务是否启动)。如果输出写入终端,则将以亮绿色打印。如果指定了 --deps 选项,则每行都会附加此服务之前必须启动的服务的名称。inetd/xinetd 服务列在附加部分中。
答案2
chkconfig
不仅仅是突出单词 on
. 当条目代表一个符号链接(到 中的脚本/etc/init.d
)时,它会突出显示整个表条目,通过该条目可以启用服务。
您可能知道,配置系统服务是否自动启动的常用方法是在系统启动期间它启动时,符号链接存储在以下八个子目录中/etc
:rc0.d
、、、、、、和。这些目录包含指向启动和停止服务的脚本的符号链接。rc1.d
符号链接的名称通常以 开头,用于启动服务或不启动服务。显示有关此配置的信息,并允许您修改它。rc2.d
rc3.d
rc4.d
rc5.d
rc6.d
rcS.d
/etc/init.d
S
K
chkconfig
大多数时候,当用户跑步时chkconfig --list
,用户希望看到启用了哪些服务和它们被启用的地方(即通过哪个符号链接或链接,在哪个目录中)。因此,突出显示代表导致服务运行的脚本的条目是有意义的。rcX.d
chkconfig
这些是包含单词 的条目on
。但该单词并没有什么特别之处。包含该单词的条目才是特殊的,因为它们代表了用户在运行 时最常查找的内容chkconfig --list
。
如果您想chkconfig --list
在不突出显示的情况下运行该怎么办?
它没有出现是否有任何特殊的命令行标志可以关闭颜色。可能有一个环境变量可以做到这一点。但我相信您可以简单地运行:
chkconfig --list | cat
我目前无法测试这一点,因为我没有可以安装 的 Ubuntu 系统chkconfig
。但大多数情况下,具有彩色输出的程序会自动检测标准输出是否不是终端,并将其禁用(因为它通常无法正常工作)。通过将 的输出通过管道传输chkconfig --list
到cat
,您可以防止 stdout 成为终端,同时仍可在终端上看到输出。