Linux Shell 切換

在 Linux 系統中,切換至 Bash Shell

在 Linux 系統中,切換至 Bash Shell 的方法如下:
臨時切換到 Bash

直接在終端輸入以下命令,啟動一個新的 Bash 會話:
bash

退出時輸入 exit 或按 Ctrl+D 返回原 Shell。
永久切換默認 Shell

使用 chsh 命令修改默認 Shell(需管理員權限或當前用戶密碼):
chsh -s /bin/bash

修改后需 重新登錄終端 或重啟系統生效。
驗證當前 Shell

查看當前 Shell:

echo $SHELL

若輸出 /bin/bash 則表示已切換成功。
檢查 Bash 版本:

bash --version

其他注意事項

權限問題:若 chsh 提示權限不足,可嘗試:

sudo chsh -s /bin/bash 用戶名

可用 Shell 列表:查看系統支持的 Shell:

cat /etc/shells

確保 /bin/bash 在列表中。
恢復原 Shell

若需恢復為原 Shell(如 Zsh),運行:
chsh -s /bin/zsh

如有其他問題(如命令無效或 Shell 未安裝),請提供具體錯誤信息以便進一步排查。


查看所有已安裝的 Shell:

在 Linux 系統中,可以通過以下方法查看所有已安裝的 Shell:
查看 /etc/shells 文件

該文件列出了系統支持的所有合法 Shell:
cat /etc/shells

示例輸出:

/bin/sh
/bin/bash
/sbin/nologin
/bin/dash
/bin/zsh
/bin/tcsh
/bin/csh

使用 chsh -l(部分系統支持)

chsh -l

功能與 cat /etc/shells 相同,但并非所有 Linux 發行版都支持此命令。
查看當前使用的 Shell

當前會話的 Shell:

echo $0  # 輸出如 /bin/bash 或 bash

用戶默認登錄 Shell:

echo $SHELL  # 顯示 /etc/passwd 中配置的默認 Shell

其他相關命令

通過 /etc/passwd 查看用戶與 Shell 的關聯:

grep "^$USER" /etc/passwd | cut -d: -f7

使用 ps 命令查看當前 Shell 進程:

ps -p  -o comm=

注意事項
/bin/sh 通常是 bash 或 dash 的符號鏈接,具體取決于系統。

若 /etc/shells 不存在,可能是系統未正確配置,需手動檢查 /bin/ 或 /usr/bin/ 下的 Shell 可執行文件。

如需切換 Shell,可使用 chsh -s /path/to/shell(需重新登錄生效)。


添加合法 shell

在 Linux 系統中,添加合法的 Shell 需要以下步驟:
查看當前可用的 Shell

首先,檢查 /etc/shells 文件,查看系統已支持的 Shell:
cat /etc/shells

示例輸出:

/bin/sh
/bin/bash
/sbin/nologin
/bin/dash
/bin/zsh
/bin/tcsh
/bin/csh

安裝新的 Shell

如果目標 Shell 不在 /etc/shells 中,需先安裝。常見 Shell 的安裝方法如下:

安裝 Zsh
Debian/Ubuntu:

sudo apt update && sudo apt install zsh

RHEL/CentOS/Fedora:

sudo dnf install zsh  # 或 sudo yum install zsh

安裝 Fish
Debian/Ubuntu:

sudo apt install fish

RHEL/CentOS:

sudo dnf install fish

其他 Shell(如 Ksh、Tcsh)
sudo apt install ksh tcsh # Debian/Ubuntu
sudo dnf install ksh tcsh # RHEL/CentOS

將 Shell 添加到 /etc/shells

安裝后,需手動將 Shell 的路徑添加到 /etc/shells 文件,使其成為合法登錄 Shell:
echo “/bin/zsh” | sudo tee -a /etc/shells # 以 Zsh 為例

或直接編輯文件:
sudo nano /etc/shells

添加路徑(如 /bin/zsh)后保存。
驗證并切換 Shell

驗證是否添加成功:

cat /etc/shells | grep zsh

切換用戶默認 Shell:

chsh -s /bin/zsh  # 切換當前用戶

sudo chsh -s /bin/zsh username # 切換其他用戶

需重新登錄生效。

注意事項
權限要求:修改 /etc/shells 需 root 權限。

路徑正確性:確保添加的 Shell 路徑真實存在(可通過 which zsh 檢查)。

安全性:避免添加非標準或未經驗證的 Shell,可能引發安全風險。

如需進一步調整(如限制用戶登錄),可參考 /sbin/nologin 的用法。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/84722.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/84722.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/84722.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

在Windows上,將 Ubuntu WSL 安裝并遷移到 D 盤完整教程(含 Appx 安裝與遷移導入)

💻 將 Ubuntu WSL 安裝并遷移到 D 盤完整教程(含 Appx 安裝與遷移導入) 本文記錄如何在 Windows 系統中手動啟用 WSL、下載 Ubuntu 安裝包、安裝并遷移 Ubuntu 到 D 盤,避免默認寫入 C 盤,提高系統性能與可維護性。 ?…

doucker 掛載卷

在 Docker 中,掛載卷(Volumes)是一種非常重要的功能,它允許你將宿主機的文件系統與容器的文件系統進行共享。掛載卷不僅可以用于持久化數據,還可以用于在宿主機和容器之間傳遞文件。 掛載卷的類型 Docker 支持多種類型…

BLIP3-o:一系列完全開源的統一多模態模型——架構、訓練與數據集

摘要 在近期關于多模態模型的研究中,將圖像理解與生成統一起來受到了越來越多的關注。盡管圖像理解的設計選擇已經得到了廣泛研究,但對于具有圖像生成功能的統一框架而言,其最優模型架構和訓練方案仍有待進一步探索。鑒于自回歸和擴散模型在…

數據分析案例-基于紅米和華為手機的用戶評論分析

🤵?♂? 個人主頁:艾派森的個人主頁 ?🏻作者簡介:Python學習者 🐋 希望大家多多支持,我們一起進步!😄 如果文章對你有幫助的話, 歡迎評論 💬點贊&#x1f4…

基礎框架 兼容視頻格式

基礎框架 兼容視頻格式 修改 \src\components\Upload\src\BasicUpload.vue 數據庫新增 vue <template><div class"w-full"><div class"upload"><div class"upload-card"><!--圖片列表--><divclass"uploa…

qiankun 子應用怎樣通過 props拿到子應用【注冊之后掛載之前】主應用中發生變更的數據

場景描述&#xff1a;子應用需要在接口調用和頁面渲染時&#xff0c;需要用到主應用登錄之后拿到的用戶數據 邏輯前提&#xff1a; 1、主應用在 main.js中通過 registerMicroApps注冊了子應用 2、主應用登錄之后將用戶數據傳遞給子應用 >> 原先的做法&#xff08;有問題&…

Hooks 進階:自定義 Hook 的設計與實踐

引言 React Hooks 已成為現代 React 開發的核心范式&#xff0c;而自定義 Hook 則為我們提供了強大的代碼復用機制。 自定義 Hook 的基礎原理 自定義 Hook 本質上是一種函數復用機制&#xff0c;它允許我們將組件邏輯提取到可重用的函數中。與傳統的高階組件(HOC)和 render …

鋰電電動扭剪扳手市場報告:現狀、趨勢與競爭格局深度解析

一、鋰電電動扭剪扳手市場概述 鋰電電動扭剪扳手作為建筑施工、鋼結構安裝等領域的關鍵工具&#xff0c;憑借其便攜性、高效性及環保特性&#xff0c;正逐步替代傳統手動及氣動工具。該設備通過鋰電池供電&#xff0c;結合智能扭矩控制技術&#xff0c;可精準完成高強度螺栓的…

[面試精選] 0076. 最小覆蓋子串

文章目錄 1. 題目鏈接2. 題目描述3. 題目示例4. 解題思路5. 題解代碼6. 復雜度分析 1. 題目鏈接 76. 最小覆蓋子串 - 力扣&#xff08;LeetCode&#xff09; 2. 題目描述 給你一個字符串 s 、一個字符串 t 。返回 s 中涵蓋 t 所有字符的最小子串。如果 s 中不存在涵蓋 t 所有字…

rabbitmq的高級特性

一.發送者的可靠性 1.生產者重試機制 修改publisher模塊的application.yaml文件 spring:rabbitmq:connection-timeout: 1s # 設置MQ的連接超時時間template:retry:enabled: true # 開啟超時重試機制initial-interval: 1000ms # 失敗后的初始等待時間multiplier: 1 # 失敗后下…

北京大學肖臻老師《區塊鏈技術與應用》公開課:02-BTC-密碼學原理

文章目錄 1.比特幣中用到的密碼學的功能2. hash3. 簽名 1.比特幣中用到的密碼學的功能 比特幣中用到密碼學中兩個功能&#xff1a; hash、 簽名。 2. hash hash函數的三個特性&#xff1a;抗碰撞性&#xff08;Collision Resistance&#xff09;、隱蔽性&#xff08;Hiding&…

Spring Cloud Gateway高并發限流——基于Redis實現方案解析

本文是一個基于 Spring Cloud Gateway 的分布式限流方案&#xff0c;使用Redis Lua實現高并發場景下的精準流量控制。該方案支持動態配置、多維度限流&#xff08;API路徑/IP/用戶&#xff09;&#xff0c;并包含完整的代碼實現和性能優化建議。 一、架構設計 #mermaid-svg-vg…

SpringAI--RAG知識庫

SpringAI–RAG知識庫 RAG概念 什么是RAG&#xff1f; RAG(Retrieval-Augmented Genreation&#xff0c;檢索增強生成)是一種結合信息檢索技術和AI內容生成的混合架構&#xff0c;可以解決大模型的知識時效性限制和幻覺問題。 RAG在大語言模型生成回答之前&#xff0c;會先從…

【PhysUnits】14 二進制數的標準化表示(standardization.rs)

一、源碼 這段代碼主要用于處理二進制數的標準化表示。它定義了兩個特質(trait) IfB0 和 IfB1&#xff0c;以及它們的實現&#xff0c;用于處理二進制數的前導零及前導一的簡化。 use super::basic::{B0, B1, Z0, N1, Integer, NonZero, NonNegOne};/// 處理 B0<H> 類型…

將 ubutun 的網絡模式 從NAT 改到 橋接模式后,無法上網,linux 沒有IP地址 的解決方案

首先要將 ubutun 的網絡模式設置為橋接模式 這里再從 NAT 模式改動成 橋接模式的時候&#xff0c;還出現了一個問題。改成橋接模式后&#xff0c;linux沒有ip地址了。原因是 不知道什么時候 將 虛擬網絡編輯器 中的值改動了 要選擇這個 自動 選項

多模態大語言模型arxiv論文略讀(九十)

Hybrid RAG-empowered Multi-modal LLM for Secure Data Management in Internet of Medical Things: A Diffusion-based Contract Approach ?? 論文標題&#xff1a;Hybrid RAG-empowered Multi-modal LLM for Secure Data Management in Internet of Medical Things: A Di…

電腦主板VGA長亮白燈

電腦主板VGA長亮白燈 起因解決方法注意事項&#xff1a; 起因 搬家沒有拆機整機在車上晃蕩導致顯卡松動接觸不良&#xff08;一般VGA長亮白燈都和顯卡有關&#xff0c;主要排查顯卡&#xff09; 解決方法 將顯卡拆下重新安裝即可 注意事項&#xff1a; 不可直接拔下顯卡&a…

【監控】pushgateway中間服務組件

Pushgateway 是 Prometheus 生態中的一個中間服務組件&#xff0c;以獨立工具形式存在&#xff0c;主要用于解決 Prometheus 無法直接獲取監控指標的場景&#xff0c;彌補其定時拉取&#xff08;pull&#xff09;模式的不足。 其用途如下&#xff1a; 突破網絡限制&#xff1…

打造AI智能旅行規劃器:基于LLM和Crew AI的Agent實踐

引言 今天來學習大佬開發的一個AI驅動的旅行規劃應用程序&#xff0c;它能夠自動處理旅行規劃的復雜性——尋jni找航班、預訂酒店以及優化行程。傳統上&#xff0c;這個過程需要手動搜索多個平臺&#xff0c;常常導致決策效率低下。 通過利用**代理型人工智能&#xff08;Age…

21. 自動化測試框架開發之Excel配置文件的測試用例改造

21. 自動化測試框架開發之Excel配置文件的測試用例改造 一、測試框架核心架構 1.1 組件依賴關系 # 核心庫依賴 import unittest # 單元測試框架 import paramunittest # 參數化測試擴展 from chap3.po import * # 頁面對象模型 from file_reader import E…