如何更改 Linux 中的預設 Shell
shell 是您可以與 Linux 系統通訊的介面。它允許您鍵入命令並控制您的電腦。每個 Linux 使用者都有一個預設 shell,大多數情況下是 bash。還有許多其他選項可用,包括 Zsh、ksh、rc 和 Fish。在這裡,我們向您展示更改 Linux 中預設 shell 的各種方法。
如何找到您目前的 Shell 名稱
在我們深入更改預設 shell 之前,最好先了解您目前正在使用哪個 shell。您可以透過使用以下 echo 命令檢查系統環境變數來找到這一點:
該命令將列印出目前 shell 的路徑,例如/bin/bash
或/bin/zsh
。
該/etc/passwd
文件包含重要的使用者帳戶資訊。您也可以使用此文件查找目前的 shell:
您還可以使用 ps 命令透過檢查進程 ID (PID) 來查找有關當前 shell 的更多資訊:
此輸出確認目前 shell 是 bash。
列出所有已安裝的 shell
現在您已經了解了目前的 shell,您可能想看看系統上還有哪些其他可用選項。要找到系統上所有已安裝的 shell,您需要查看該/etc/shells
檔案。
讓我們使用 cat 指令來查看系統上所有可用 shell 的清單:
這將使您了解可以切換到哪些 shell。您也可以使用套件管理器安裝任何新 shell 並將其用作預設 shell。
此外,您可以暫時嘗試列出的這些 shell,而無需更改預設 shell。要啟動新的 shell 會話,只需在終端機中輸入 shell 的名稱即可。
例如,若要嘗試 Zsh shell,請輸入:
這使您可以在決定永久切換之前嘗試不同的 shell。
使用 Chsh 更改 Linux 中的預設 Shell
更改 Linux 中預設 shell 的最直接方法是使用命令chsh
。該chsh
命令代表“更改 shell”,它與-s
後面跟著 shell 路徑的選項一起使用。
如果您不知道 shell 路徑,請type zsh
在終端機中執行以取得所需的路徑。取得 shell 路徑後,您可以將預設 shell 變更為您的特定 shell。
例如,如果要切換到 Zsh,則需要將chsh -s
與 Zsh shell 路徑一起使用:
系統會提示您輸入密碼。完成此操作後,您需要登出並重新登入以確認變更。
該chsh
命令將永久更改預設登入 shell。您可以透過執行以下命令來驗證變更:
更改另一個用戶外殼
如果您擁有 root 權限並且能夠使用該sudo
命令,則可以變更其他使用者帳戶的預設 shell。如果您想為其他使用者提供不同的 shell 環境(例如 Fish),這會很有用。
例如,若要將另一個使用者的 shell 變更為 Zsh,請在終端機中執行下列命令:
此命令告訴系統將特定使用者的預設 shell 變更為 Zsh shell,該 shell 位於/bin/zsh
.
使用 Usermod 更改 Linux 中的預設 Shell
切換 shell 的另一種方法是使用usermod
命令。此指令用於修改使用者帳戶,也可用於變更預設 shell。
若要使用 變更預設 shell usermod
,請使用 root 權限開啟終端機並鍵入下列命令:
在這裡,您需要替換/path/to/new/shell
為所需的 shell 路徑和your_username
您的實際使用者名稱。
例如,讓我們將預設的 bash shell 更改為 zsh:
就像以前一樣,登出並重新登入 Linux 系統以使這些變更生效。
您可以使用以下命令查看使用者帳戶詳細資訊來驗證是否切換到新 shell:
手動更改 Linux 中的預設 Shell
您也可以透過編輯檔案來手動更改預設 shell /etc/passwd
。您可以透過用新 shell 取代預設 shell 路徑來完成此操作。但是,請小心使用此技術,因為如果操作不當,可能會導致問題。
若要手動變更 shell,/etc/passwd
請使用您最喜歡的文字編輯器(如 nano 或 vim)以 root 權限開啟檔案:
在文件中尋找您的用戶名。使用者條目中的最後一個欄位將顯示您目前的 shell。將其變更為您所需的 shell 路徑。
例如,讓我們將預設/bin/bash
shell 路徑更改為/bin/zsh
:
Ctrl最後,按+儲存檔案並按+S退出編輯器。再次登出並重新登入以套用變更。CtrlX
預設 Shell 的替代方案
雖然 Bash 是一個強大且強大的腳本工具,但還有其他幾種 shell 可以增強您的命令列體驗並提供更好的自訂選項:
魚
Fish 指的是友善的互動式 Shell。這個 shell 具有直覺的命令列介面,具有語法突出顯示、自動建議和製表符補全功能,使輸入命令變得輕而易舉。
Fish 還包含一個基於 Web 的設定工具。這意味著您可以調整設定並建立功能,而無需深入研究設定檔。
茲什
Zsh(或 Z shell)是高度可自訂的,並且具有許多有用的功能。它的一些最佳功能包括通配符、自動更正、自訂配置和高級製表符完成。
Zsh 還支援外掛程式和主題,讓您可以輕鬆地根據自己的喜好自訂 shell 體驗。使用 Zsh,您還可以顯示 Git 分支並使用簡單的模式執行複雜的檔案操作。
克什
ksh 或 KornShell 吸收了 C shell 和 Bourne shell 的最佳功能,使其成為具有高級腳本編寫功能的強大且易於使用的 shell。 ksh 的一些功能包括內建數學函數、命令列編輯、shell 腳本編寫和可擴展性。
總結
更改 Linux 中的預設 shell 是一個簡單的過程,可以增強您的命令列體驗。如果您是高級用戶,您絕對應該嘗試其他替代的 Linux shell。
圖片來源:Lukas,來自 Unsplash。所有螢幕截圖均由 Haroon Javed 提供。
發佈留言