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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

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?

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


	

cat/etc/shells

顯示如下:

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

1.2 zsh 簡(jiǎn)介

Zsh 是一個(gè) Linux 下強(qiáng)大的 shell, 由于大多數(shù) Linux 產(chǎn)品安裝,以及默認(rèn)使用bash shell, 但是絲毫不影響極客們對(duì) zsh 的熱衷, 幾乎每一款 Linux 產(chǎn)品都包含有 zsh,通常可以用 apt-get、urpmi 或 yum 等包管理器進(jìn)行安裝

Zsh 具有以下主要功能

  • 開箱即用、可編程的命令行補(bǔ)全功能可以幫助用戶輸入各種參數(shù)以及選項(xiàng)

  • 在用戶啟動(dòng)的所有 shell 中共享命令歷史

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

  • 改進(jìn)的變量與數(shù)組處理

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

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

  • 可以定制呈現(xiàn)形式的提示符;包括在屏幕右端顯示信息,并在鍵入長(zhǎng)命令時(shí)自動(dòng)隱藏

  • 可加載的模塊,提供其他各種支持:完整的 TCP 與 Unix 域套接字控制,F(xiàn)TP 客戶端與擴(kuò)充過的數(shù)學(xué)函數(shù)

  • 完全可定制化

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

之前是因?yàn)榭吹竭@篇文章:終極 Shell——Zsh 才選擇使用 zsh,被它的自動(dòng)完成、補(bǔ)全功能吸引了。官網(wǎng):www.zsh.org

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

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

官網(wǎng):https://github.com/robbyrussell/oh-my-zsh

2 安裝 zsh

2.1 安裝 zsh

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


	

sudoapt-getinstallzsh

2.2 配置 zsh

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

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

2.3 取代 bash,設(shè)為默認(rèn) shell


	

sudousermod-s/bin/zshusername

或者


	

chsh-s/bin/zsh


	

chsh-s`whichzsh`

如果要切換回去 bash:


	

chsh-s/bin/bash

當(dāng)然你實(shí)在不愿意把 zsh 當(dāng)成默認(rèn)的 shell, 而又想使用它, 那么你可以每次進(jìn)入是都使用zsh進(jìn)入, 而輸入exit退出

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

2.4 安裝 oh-my-zsh

直接用 zsh 會(huì)很蛋疼,因?yàn)?zsh 功能很強(qiáng)大但是太復(fù)雜,所以需要 oh-my-zsh 來將它簡(jiǎn)單化

直接用 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ì)就是下載并執(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)

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


	

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

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

詳細(xì)的主題信息, 可以參見 zsh 主題介紹

配置插件

修改~/.zshrcplugins


	

plugins=(gitbundlerosxrakeruby)

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

更新 oh-my-zsh

默認(rèn)情況下, 您將被提示檢查每幾周的升級(jí). 如果你想我 ZSH 自動(dòng)升級(jí)本身沒有提示你, 修改 `~/.zshrc


	

disable_update_prompt=true

禁用自動(dòng)升級(jí), 修改~/.zshrc


	

disable_auto_update=true

當(dāng)然你也可以選擇手動(dòng)更新

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


	

upgrade_oh_my_zsh

卸載 oh-my-zsh

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


	

uninstall_oh_my_zshzsh

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11182

    瀏覽量

    208540
  • Shell
    +關(guān)注

    關(guān)注

    1

    文章

    361

    瀏覽量

    23239

原文標(biāo)題:Linux 超級(jí)漂亮的 Shell

文章出處:【微信號(hào):LinuxHub,微信公眾號(hào):Linux愛好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

    終極 Shell——ZSH

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

    LinuxUnix有哪些不同之處?

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

    Linux Shell系列教程之Shell簡(jiǎn)介和類型

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

    linux shell命令/unix shell命令教程

    linux shell命令/unix shell命令教程:為了防止未授權(quán)用戶訪問你的文件,可以在文件和目錄上設(shè)置權(quán)限位。還可以設(shè)定文件在創(chuàng)建時(shí)所具有的缺省權(quán)限:這些只是整個(gè)系統(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ā)燒友網(wǎng)站提供UNIX[1].shell范例精解(第4版)_code.txt》資料免費(fèi)下載
    發(fā)表于 04-23 20:57 ?0次下載

    unixlinux的區(qū)別

    Linux是一套免費(fèi)使用和自由傳播的類Unix操作系統(tǒng),是一個(gè)基于POSIX和UNIX的多用戶、多任務(wù)、支持多線程和多CPU的操作系統(tǒng)。UNIX操作系統(tǒng)(尤尼斯),是一個(gè)強(qiáng)大的多用戶、
    發(fā)表于 11-14 10:08 ?6610次閱讀
    <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 ?4549次閱讀
    <b class='flag-5'>unix</b>的<b class='flag-5'>shell</b>命令是什么

    shell編程基礎(chǔ)知識(shí)入門

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

    10 個(gè)增加 UNIX/Linux Shell 腳本趣味的工具

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

    linuxunix有什么區(qū)別

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

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

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

    超級(jí)漂亮的Shell介紹

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

    UnixLinux的差異

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

    linux命令和shell編程有什么聯(lián)系

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