0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Linux/Unix提供了很多種Shell

Linux愛好者 ? 來源:入門小站 ? 作者:入門小站 ? 2022-05-06 16:01 ? 次閱讀

先來一張美圖

fc29552a-ccef-11ec-bce3-dac502259ad0.png

1 zsh 介紹

1.1 Linux shell

Linux/Unix 提供了很多種 Shell,為毛要這么多 Shell?

難道用來炒著吃么?那我問你,你同類型的衣服怎么有那么多件?花色,質地還不一樣。寫程序比買衣服復雜多了,而且程序員往往負責把復雜的事情搞簡單,簡單的事情搞復雜。牛程序員看到不爽的 Shell,就會自己重新寫一套,慢慢形成了一些標準,常用的 Shell 有這么幾種,sh、bash、csh 等,想知道你的系統(tǒng)有幾種 shell,可以通過以下命令查看:


	

cat/etc/shells

顯示如下:

fc35b91e-ccef-11ec-bce3-dac502259ad0.png

1.2 zsh 簡介

Zsh 是一個 Linux 下強大的 shell, 由于大多數 Linux 產品安裝,以及默認使用bash shell, 但是絲毫不影響極客們對 zsh 的熱衷, 幾乎每一款 Linux 產品都包含有 zsh,通??梢杂?apt-get、urpmi 或 yum 等包管理器進行安裝

Zsh 具有以下主要功能

  • 開箱即用、可編程的命令行補全功能可以幫助用戶輸入各種參數以及選項

  • 在用戶啟動的所有 shell 中共享命令歷史

  • 通過擴展的文件通配符,可以不利用外部命令達到 find 命令一般展開文件名

  • 改進的變量與數組處理

  • 在緩沖區(qū)中編輯多行命令

  • 多種兼容模式,例如使用 / bin/sh 運行時可以偽裝成 Bourne shell

  • 可以定制呈現形式的提示符;包括在屏幕右端顯示信息,并在鍵入長命令時自動隱藏

  • 可加載的模塊,提供其他各種支持:完整的 TCP 與 Unix 域套接字控制,FTP 客戶端與擴充過的數學函數

  • 完全可定制化

1.3 zsh 與 oh-my-zsh 終極配置

之前是因為看到這篇文章:終極 Shell——Zsh 才選擇使用 zsh,被它的自動完成、補全功能吸引了。官網:www.zsh.org

選擇 oh-my-zsh, oh-my-zsh 是基于 zsh 的功能做了一個擴展,方便的插件管理、主題自定義,以及漂亮的自動完成效果。

在 Github 上找關于 zsh 的項目時發(fā)現的,試用了一下覺得很方便,不用像上面文章里面提到的那么復雜,配置一些插件的名稱即可使用相應的功能。

官網:https://github.com/robbyrussell/oh-my-zsh

2 安裝 zsh

2.1 安裝 zsh

對于一般的 Ubuntu 系統(tǒng),配置好正確的源之后,就能直接鍵入以下命令安裝:


	

sudoapt-getinstallzsh

2.2 配置 zsh

zsh 的配置是一門大學問,這里不贅述,直接給出一個配置文件,大家可以下載后放入 zsh 配置文檔直接使用。(我的一個法國朋友手配的,相當順手)

把. zshrc 拷貝到相應用戶的 home 目錄即可 (也可以把你的 bash 的配置文件 (~/.bash_prorile 或者~/.profile 等) 給拷貝到 zsh 的配置文件~/.zshrc 里,因為 zsh 兼容 bash)

2.3 取代 bash,設為默認 shell


	

sudousermod-s/bin/zshusername

或者


	

chsh-s/bin/zsh


	

chsh-s`whichzsh`

如果要切換回去 bash:


	

chsh-s/bin/bash

當然你實在不愿意把 zsh 當成默認的 shell, 而又想使用它, 那么你可以每次進入是都使用zsh進入, 而輸入exit退出

fc454636-ccef-11ec-bce3-dac502259ad0.png

2.4 安裝 oh-my-zsh

直接用 zsh 會很蛋疼,因為 zsh 功能很強大但是太復雜,所以需要 oh-my-zsh 來將它簡單化

直接用 git 從 github 上面下載包


	

gitclonegit://github.com/robbyrussell/oh-my-zsh.git~/.oh-my-zsh

備份已有的 zshrc, 替換 zshrc


	

cp~/.zshrc~/.zshrc.orig cp~/.oh-my-zsh/templates/zshrc.zsh-template~/.zshrc

直接使用腳本安裝


	

cdoh-my-zsh/tools ./install.sh

你可以直接直接使用如下命令安裝

curl


	

sh-c"$(curl-fsSLhttps://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

wget


	

sh-c"$(wgethttps://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh-O-)"

其本質就是下載并執(zhí)行了 github 上的 install.sh 腳本, 該腳本位于oh-my-zsh/tools/install.sh

配置主題

oh-my-zsh 集成了大量的主題, 位于oh-my-zsh/theme

配置主題, 可以通過修改~/.zshrc中的環(huán)境變量ZSH_THEME來完成


	

ZSH_THEME="agnoster"#(thisisoneofthefancyones)

如果你覺得主題太多你可以選擇使用隨機模式, 來由系統(tǒng)隨機選擇


	

ZSH_THEME="random"#(...pleaseletitbepie...pleasebesomepie..)

fc52d08a-ccef-11ec-bce3-dac502259ad0.png

詳細的主題信息, 可以參見 zsh 主題介紹

配置插件

修改~/.zshrcplugins


	

plugins=(gitbundlerosxrakeruby)

詳細的插件信息, 可以參見 zsh 插件 Plugins 介紹

更新 oh-my-zsh

默認情況下, 您將被提示檢查每幾周的升級. 如果你想我 ZSH 自動升級本身沒有提示你, 修改 `~/.zshrc


	

disable_update_prompt=true

禁用自動升級, 修改~/.zshrc


	

disable_auto_update=true

當然你也可以選擇手動更新

如果你想在任何時間點升級(也許有人剛剛發(fā)布了一個新的插件,你不想等待一個星期?) 你只需要運行:


	

upgrade_oh_my_zsh

卸載 oh-my-zsh

如果你想卸載oh-my-zsh, 只需要執(zhí)行uninstall_oh_my_zsh zsh, 從命令行運行. 這將刪除本身和恢復你以前的 bash 或者 zsh 配置.


	

uninstall_oh_my_zshzsh

審核編輯 :李倩

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11123

    瀏覽量

    207912
  • Shell
    +關注

    關注

    1

    文章

    359

    瀏覽量

    23192

原文標題:Linux 超級漂亮的 Shell

文章出處:【微信號:LinuxHub,微信公眾號:Linux愛好者】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    二極管整流電路全集(非常經典,很多種)

    二極管整流電路全集(非常經典,很多種)
    發(fā)表于 11-03 11:10

    終極 Shell——ZSH

    的交互,接收用戶或其他應用程序的命令,然后把這些命令轉化成內核能理解的語言,傳給內核,內核是真正干活的,干完之后再把結果返回用戶或應用程序。Linux/Unix提供
    發(fā)表于 08-06 16:43

    LinuxUnix有哪些不同之處?

    LinuxUnix都是功能強大的操作系統(tǒng),都是應用廣泛的服務器操作系統(tǒng),有很多相似之處,甚至有一部分人錯誤地認為UnixLinux操作系
    發(fā)表于 03-02 18:51

    Linux Shell系列教程之Shell簡介和類型

    了解和熟練掌握shell的特性極其使用方法,是用好Unix/Linux系統(tǒng)的關鍵。可以說,shell使用的熟練程度反映用戶對
    發(fā)表于 08-28 13:56

    linux shell命令/unix shell命令教程

    linux shell命令/unix shell命令教程:為了防止未授權用戶訪問你的文件,可以在文件和目錄上設置權限位。還可以設定文件在創(chuàng)建時所具有的缺省權限:這些只是整個系統(tǒng)安全問題
    發(fā)表于 12-06 13:08 ?61次下載
    <b class='flag-5'>linux</b> <b class='flag-5'>shell</b>命令/<b class='flag-5'>unix</b> <b class='flag-5'>shell</b>命令教程

    UNIX[1].shell范例精解(第4版)_code

    電子發(fā)燒友網站提供UNIX[1].shell范例精解(第4版)_code.txt》資料免費下載
    發(fā)表于 04-23 20:57 ?0次下載

    unixlinux的區(qū)別

    Linux是一套免費使用和自由傳播的類Unix操作系統(tǒng),是一個基于POSIX和UNIX的多用戶、多任務、支持多線程和多CPU的操作系統(tǒng)。UNIX操作系統(tǒng)(尤尼斯),是一個強大的多用戶、
    發(fā)表于 11-14 10:08 ?6574次閱讀
    <b class='flag-5'>unix</b>和<b class='flag-5'>linux</b>的區(qū)別

    unixshell命令是什么

    Unix shell,通常被稱作“命令行”,為Unix和類Unix操作系統(tǒng)提供傳統(tǒng)的用戶界面。
    發(fā)表于 11-14 14:43 ?4511次閱讀
    <b class='flag-5'>unix</b>的<b class='flag-5'>shell</b>命令是什么

    shell編程基礎知識入門

    Unix及所有的類Unix系統(tǒng)中,如Linux、FreeBSD等操作系統(tǒng),都存在Shell Script。依照Unix
    發(fā)表于 12-12 14:55 ?1740次閱讀

    10 個增加 UNIX/Linux Shell 腳本趣味的工具

    制作 GUI 應用不是一項困難的任務,但需要時間和耐心。幸運的是,UNIXLinux 都帶有大量編寫漂亮 GUI 腳本的工具。以下工具是基于 FreeBSD 和 Linux 操作系統(tǒng)做的測試,而且也適用于其他類
    的頭像 發(fā)表于 04-11 16:21 ?4795次閱讀

    linuxunix有什么區(qū)別

    UNIXLinux之間的關系是一個很有意思的話題。在目前主流的服務器端操作系統(tǒng)中,UNIX誕生于20世紀60年代末,Windows誕生于20世紀80年代中期,Linux誕生于20世紀
    發(fā)表于 06-08 09:12 ?1.3w次閱讀

    二極管根據功能和作用有很多種不同分類資料下載

    電子發(fā)燒友網為你提供二極管根據功能和作用有很多種不同分類資料下載的電子資料下載,更有其他相關的電路圖、源代碼、課件教程、中文資料、英文資料、參考設計、用戶指南、解決方案等資料,希望可以幫助到廣大的電子工程師們。
    發(fā)表于 04-14 08:42 ?86次下載
    二極管根據功能和作用有<b class='flag-5'>很多種</b>不同分類資料下載

    超級漂亮的Shell介紹

    Linux/Unix 提供很多種 Shell,為毛要這么多
    的頭像 發(fā)表于 05-12 10:55 ?464次閱讀
    超級漂亮的<b class='flag-5'>Shell</b>介紹

    UnixLinux的差異

    摘要:程序員都知道,Linux 不是 Unix,不過二者之間確實存在關系,即 Linux 系統(tǒng)是從 Unix 派生出來的,而 Linux
    發(fā)表于 09-04 12:42 ?508次閱讀

    linux命令和shell編程有什么聯系

    Linux命令和Shell編程之間存在密切的聯系。 首先,ShellLinux命令行下的解釋器,它提供
    的頭像 發(fā)表于 11-08 10:53 ?771次閱讀