如何在 Linux 中安裝、配置和使用 Fish Shell?
每個 Linux 管理員都可能聽到過 shell 這個詞。你知道什麼是 shell 嗎? 你知道 shell 在 Linux 中的作用是什麼嗎? Linux 中有多少個 shell 可用?
shell 是一個程式,它是提供使用者和核心之間互動的介面。
核心是 Linux 作業系統的核心,它管理使用者和作業系統之間的所有內容。Shell 可供所有使用者在啟動終端時使用。終端啟動後,使用者可以執行任何可用的命令。當 shell 完成命令的執行時,你將在終端視窗上獲取輸出。
Bash(全稱是 Bourne Again Shell)是執行在今天的大多數 Linux 發行版上的預設的 shell,它非常受歡迎,並具有很多功能。但今天我們將討論 Fish Shell 。
什麼是 Fish Shell?
Fish 是友好的互動式 shell ,是一個功能齊全,智慧且對使用者友好的 Linux 命令列 shell ,它帶有一些在大多數 shell 中都不具備的方便功能。
這些功能包括自動補全建議、Sane Scripting、手冊頁補全、基於 Web 的配置器和 Glorious VGA Color 。你對它感到好奇並想測試它嗎?如果是這樣,請按照以下安裝步驟繼續安裝。
如何在 Linux 中安裝 Fish Shell ?
它的安裝非常簡單,除了少數幾個發行版外,它在大多數發行版中都沒有。但是,可以使用以下 fish 倉庫 輕鬆安裝。
對於基於 Arch Linux 的系統, 使用 Pacman 命令 來安裝 fish shell。
$ sudo pacman -S fish
對於 Ubuntu 16.04/18.04 系統來說,請使用 APT-GET 命令 或者 APT 命令 安裝 fish shell。
$ sudo apt-add-repository ppa:fish-shell/release-3
$ sudo apt-get update
$ sudo apt-get install fish
對於 Fedora 系統來說,請使用 DNF 命令 安裝 fish shell。
對於 Fedora 29 系統來說:
$ sudo dnf config-manager --add-repo https://download.opensuse.org/repositories/shells:/fish:/release:/3/Fedora_29/shells:fish:release:3.repo
$ sudo dnf install fish
對於 Fedora 28 系統來說:
$ sudo dnf config-manager --add-repo https://download.opensuse.org/repositories/shells:/fish:/release:/3/Fedora_28/shells:fish:release:3.repo
$ sudo dnf install fish
對於 Debian 系統來說,請使用 APT-GET 命令 或者 APT 命令 安裝 fish shell。
對於 Debian 9 系統來說:
$ sudo wget -nv https://download.opensuse.org/repositories/shells:fish:release:3/Debian_9.0/Release.key -O Release.key
$ sudo apt-key add - < Release.key
$ sudo echo 'deb http://download.opensuse.org/repositories/shells:/fish:/release:/3/Debian_9.0/ /' > /etc/apt/sources.list.d/shells:fish:release:3.list
$ sudo apt-get update
$ sudo apt-get install fish
對於 Debian 8 系統來說:
$ sudo wget -nv https://download.opensuse.org/repositories/shells:fish:release:3/Debian_8.0/Release.key -O Release.key
$ sudo apt-key add - < Release.key
$ sudo echo 'deb http://download.opensuse.org/repositories/shells:/fish:/release:/3/Debian_8.0/ /' > /etc/apt/sources.list.d/shells:fish:release:3.list
$ sudo apt-get update
$ sudo apt-get install fish
對於 RHEL/CentOS 系統來說,請使用 YUM 命令 安裝 fish shell。
對於 RHEL 7 系統來說:
$ sudo yum-config-manager --add-repo https://download.opensuse.org/repositories/shells:/fish:/release:/3/RHEL_7/shells:fish:release:3.repo
$ sudo yum install fish
對於 RHEL 6 系統來說:
$ sudo yum-config-manager --add-repo https://download.opensuse.org/repositories/shells:/fish:/release:/3/RedHat_RHEL-6/shells:fish:release:3.repo
$ sudo yum install fish
對於 CentOS 7 系統來說:
$ sudo yum-config-manager --add-repo https://download.opensuse.org/repositories/shells:fish:release:2/CentOS_7/shells:fish:release:2.repo
$ sudo yum install fish
對於 CentOS 6 系統來說:
$ sudo yum-config-manager --add-repo https://download.opensuse.org/repositories/shells:fish:release:2/CentOS_6/shells:fish:release:2.repo
$ sudo yum install fish
對於 openSUSE Leap 系統來說,請使用 Zypper 命令 安裝 fish shell。
$ sudo zypper addrepo https://download.opensuse.org/repositories/shells:/fish:/release:/3/openSUSE_Leap_42.3/shells:fish:release:3.repo
$ suod zypper refresh
$ sudo zypper install fish
如何使用 Fish Shell ?
一旦你成功安裝了 fish shell 。只需在你的終端上輸入 fish
,它將自動從預設的 bash shell 切換到 fish shell 。
$ fish
自動補全建議
當你在 fish shell 中鍵入任何命令時,它會在輸入幾個字母后以淺灰色自動建議一個命令。
一旦你得到一個建議然後按下向右游標鍵(LCTT 譯註:原文是左,錯的)就能完成它而不是輸入完整的命令。
你可以在鍵入幾個字母后立即按下向上游標鍵檢索該命令以前的歷史記錄。它類似於 bash shell 的 CTRL+r
選項。
Tab 補全
如果你想檢視給定命令是否還有其他可能性,那麼在鍵入幾個字母后,只需按一下 Tab
鍵即可。
再次按 Tab
鍵可檢視完整列表。
語法高亮
fish 會進行語法高亮顯示,你可以在終端中鍵入任何命令時看到。無效的命令被著色為 RED color
。
同樣的,有效的命令以不同的顏色顯示。此外,當你鍵入有效的檔案路徑時,fish 會在其下面加下劃線,如果路徑無效,則不會顯示下劃線。
基於 Web 的配置器
fish shell 中有一個很酷的功能,它允許我們透過網路瀏覽器設定顏色、提示符、功能、變數、歷史和鍵繫結。
在終端上執行以下命令以啟動 Web 配置介面。只需按下 Ctrl+c
即可退出。
$ fish_config
Web config started at 'file:///home/daygeek/.cache/fish/web_config-86ZF5P.html'. Hit enter to stop.
qt5ct: using qt5ct plugin
^C
Shutting down.
手冊頁補全
其他 shell 支援可程式設計的補全,但只有 fish 可以透過解析已安裝的手冊頁自動生成它們。
要使用該功能,請執行以下命令:
$ fish_update_completions
Parsing man pages and writing completions to /home/daygeek/.local/share/fish/generated_completions/
3466 / 3466 : zramctl.8.gz
如何將 Fish 設定為預設 shell
如果你想測試 fish shell 一段時間,你可以將 fish shell 設定為預設 shell,而不用每次都切換它。
要這樣做,首先使用以下命令獲取 Fish Shell 的位置。
$ whereis fish
fish: /usr/bin/fish /etc/fish /usr/share/fish /usr/share/man/man1/fish.1.gz
透過執行以下命令將預設 shell 更改為 fish shell 。
$ chsh -s /usr/bin/fish
提示:只需驗證 Fish Shell 是否已新增到 /etc/shells
目錄中。如果不是,則執行以下命令以附加它。
$ echo /usr/bin/fish | sudo tee -a /etc/shells
完成測試後,如果要返回 bash shell ,請使用以下命令。
暫時返回:
$ bash
永久返回:
$ chsh -s /bin/bash
via: https://www.2daygeek.com/linux-fish-shell-friendly-interactive-shell/
作者:Magesh Maruthamuthu 選題:lujun9972 譯者:zero-MK 校對:wxy
相關文章
- 在Linux中,如何在Linux中安裝和配置KVM?Linux
- 如何在 Linux 中安裝和使用 duf 命令Linux
- Fish Shell 的使用特性和優勢
- 教你如何在liunx中安裝和部署nacos配置中心
- 如何在CentOS 7中安裝和配置OrientDB社群版CentOS
- 如何在 Linux Shell 程式設計中定義和使用函式Linux程式設計函式
- 如何在Linux中安裝Ncurses庫Linux
- iTerm 2 上簡單安裝 Fish 並配置主題
- Linux 使用Yum安裝Go和配置環境LinuxGo
- 如何在 Linux 上安裝、配置 NTP 伺服器和客戶端?Linux伺服器客戶端
- 11. Oracle for Linux安裝和配置——11.2. Linux安裝和配置——11.2.2.Linux安裝(2)OracleLinux
- 11. Oracle for Linux安裝和配置——11.2. Linux安裝和配置——11.2.2.Linux安裝(1)OracleLinux
- 11. Oracle for Linux安裝和配置——11.2. Linux安裝和配置——11.2.5. Linux配置OracleLinux
- Fish shell 入門教程
- fish:Linux中比bash或zsh更好用的ShellLinux
- 如何在 Arch Linux 中安裝深度桌面(DDE)Linux
- 如何在Linux 中安裝 Python 3.10LinuxPython
- Jetty的安裝、配置和使用Jetty
- 如何在 Linux 上安裝 Elasticsearch 和 KibanaLinuxElasticsearch
- ubuntu中ANT的安裝和配置Ubuntu
- Linux 7安裝和配置phpmyadminLinuxPHP
- Linux - Vsftp之安裝和配置LinuxFTP
- 安裝和使用memcached(linux)Linux
- 如何在Linux中安裝Microsoft Edge瀏覽器LinuxROS瀏覽器
- 如何在 Linux 中安裝微軟的 .NET Core SDKLinux微軟
- 11. Oracle for Linux安裝和配置——11.2. Linux安裝和配置——11.2.3. Linux登入OracleLinux
- 11. Oracle for Linux安裝和配置——11.2. Linux安裝和配置——11.2.4. Linux命令(1)OracleLinux
- 11. Oracle for Linux安裝和配置——11.2. Linux安裝和配置——11.2.4. Linux命令(2)OracleLinux
- 11. Oracle for Linux安裝和配置——11.2. Linux安裝和配置——11.2.4. Linux命令(3)OracleLinux
- Linux中jdk的安裝和環境變數的配置LinuxJDK變數
- Linux系統中nslookup和dig安裝使用Linux
- Oracle Stream的安裝、配置和使用Oracle
- 智慧且使用者友好的命令列 shell–Fish命令列
- 11. Oracle for Linux安裝和配置——11.2. Linux安裝和配置——11.2.1. 簡介OracleLinux
- 如何在 Ubuntu 和其他 Linux 上安裝 NetbeansUbuntuLinuxBean
- 如何在 Linux 系統中判斷安裝、使用了多少記憶體Linux記憶體
- 如何在 Ubuntu 上安裝和使用 R 語言Ubuntu
- Linux中vim和shellLinux