Linux
有沒有辦法列出系統上所有可配置的“替代品”(類似命令的符號連結)?
RHEL/Fedora 上的
alternatives
命令(包chkconfig
)管理將通用名稱連結到替代實現之一的符號連結。例如,mta
Sendmail 和 Postfix 可以提供一組符號連結(以實現 iesendmail
命令):alternatives --display mta
雖然我可以
--display
使用一組符號連結,但我需要先猜測它的名稱(即mta
)。我可以簡單地列出所有可能的可配置符號連結組(如
mta
)以供選擇嗎?原因是我偶爾會忘記一些組名。
確切的答案是(RHEL):
ls /var/lib/alternatives
目錄維護將主從混合
/etc/alternatives
在一起的所有符號連結的扁平長列表。從屬符號連結不能與命令一起使用。alternatives --display [symlink]
同時目錄
/var/lib/alternatives
包含了每個組的狀態資訊(包括主從關係)在文件名的縮短列表中,所有這些都可以直接與--display
選項一起使用。例如/var/lib/alternatives/java
:alternatives --display java
在 Debian(但不是 Fedora 或 RHEL)上,查看所有“主替代名稱”的列表:
update-alternatives --get-selections
--get-selections
列出主備用名稱及其狀態。對於列出的每一個,您都可以執行
--list $ALTERNATIVE_NAME
,例如update-alternatives --list editor
--list name
顯示連結組的所有目標。如果您想查看各自組中所有備選方案的列表,可以在
fish
shell 中執行以下命令:for alternative in (update-alternatives --get-selections) echo $alternative update-alternatives --list (echo $alternative | cut -d" " -f1) echo end | pager
(ba|z)?sh 語法應該類似。
要更改備選方案,請執行
sudo update-alternatives --config $ALTERNATIVE_NAME