Shell
/bin/zsh 和 /usr/bin/zsh 有什麼區別?
我在 /etc/shells 中看到了以下內容 -
% cat /etc/shells # /etc/shells: valid login shells /bin/sh /bin/dash /bin/bash /bin/rbash /bin/zsh /usr/bin/zsh
我想知道 /usr/bin/zsh 和 /bin/zsh 之間是否有區別?
我確實選擇了 /usr/bin/zsh,因為它必須是互動式登錄和 CTE 技能。
其中一個可能是另一個連結…
傳統上,shell(如
bash
,csh
和zsh
)位於**/bin** - 因為即使在單使用者模式或其他可能解除安裝 /usr 時也需要 shell(/ usr通常位於單獨的分區上,甚至可以通過網路安裝- 因此在單使用者模式下不容易使用)。另一方面,在單使用者模式下並不嚴格需要**額外的 shell(而不是預設的一個/一個)(除非root碰巧使用其中一個),所以很自然地將這些 shell 放在**/usr/bin中而不是/斌**。
但是,當您確實將它放在**/usr/bin中時,通常會從****/bin提供指向它的符號連結,因為使用者傾向於期望他們的 shell 直接位於/bin下(如果****/usr**不是,則連結不會有幫助) t 安裝)。
因此,在編譯可供選擇的可用 shell 列表(/etc/shells)時,真正的執行檔和連結都已列出。您可以使用
ls -l
來檢查什麼是連結以及什麼是執行檔。+++
兩者
/bin/zsh
和在 zsh 包的(安裝後)腳本/usr/bin/zsh
中顯式添加在一起(相同的 if-fi塊) ,使用以下命令:postinst``add-shell
來自 zsh_5.1.1-1ubuntu2_amd64.deb:/DEBIAN/postinst #!/bin/sh ... 案例“$1”在 (配置) # if test -z "$2"; 然後 添加外殼/bin/zsh 添加外殼 /usr/bin/zsh #fi ...