Z Shell (zsh) 的特色與安裝

此篇文章最近更新時間為2010-01-26 02:07:22 目前共有5篇留言

關於作者 - JosephJ

任職於 Faria。喜好戶外運動、2008 年 5 月完成「跑步環島」。對於新技術跟程式碼有著強烈的偏執狂。

看到 vgod 大大的噗浪才知道:除了大家常用的 Bourne Again Shell (bash) 外,還有一個更好用的叫 Z Shell (zsh)。你可以先看看 zsh 的特色再決定是否要把你原來的 Shell 更換為 zsh。

zsh 的特色

vgod 推薦了這篇文章:zsh: The last shell you’ll ever need!,大致介紹了 zsh 有哪些優點:

  • 與 bash 語法幾乎相容。
  • 錯字自動矯正。
    $ aptget
    zsh: correct 'aptget' to 'apt-get' [nyae]?

  • 自動完成。
    只打了 kill,接著按兩下 tab:
    zsh-auto
    只打了 ch,接著按 tab:
    命令自動完成
    只打了 ls -,接著按 tab:
    參數自動完成
  • 歷史紀錄可以跨 Session 共享。
  • 內建 pager,不用每次都打 | less 分頁。
  • 更強大的檔名比對 (Filename Globbing)。
    % ls run<200-300>
    run234  run240
    
    % ls (foo|bar).*
    bar.o  foo.c  foo.o
    
    % ls -d *.^c
    .rhosts   bar.o     file.h    file.pro  foo.o     main.h    main.o
    
    % ls **/f*
    file.h            foo               foo.o             stuff/xxx/foobar
    file.pro          foo.c             stuff/file        stuff/yyy/frobar
    
    % ls *.c
    foo.c    foob.c    bar.c
    % ls *.c~bar.c

    更多請看 Filename Generation
  • 更容易上手的 Script Language,可以避免 bash 中像是 [ x$FOO = x$BAR ] 這樣很蠢的寫法。

zsh 的安裝

個人覺得工作效率與品質的增加就是要從小地方、小流程開始改善起。看了 zsh 的特點以後,覺得應該可以有所幫助就來安裝啦,其實超簡單的。

1. 從 Repository 安裝

  • 如果你是 RedHat / Centos:
    $ sudo yum install zsh

  • 如果你是 Debian / Ubuntu:
    $ sudo apt-get install zsh

2. 安裝 .zshrc 範本

  • 如果你是一般 Linux:
    $ curl http://stuff.mit.edu/~jdong/misc/zshrc > ~/.zshrc

  • 如果你是 Mac:
    $ curl http://stuff.mit.edu/~jdong/misc/zshrc-osx-blackonwhite > ~/.zshrc

  • 如果你是 FreeBSD:
    $cd /usr/ports/shells/zsh
    sudo make install

3. 更換 Shell

  1. 先看一下有哪些 Shell 可用,也確定 zsh 安裝了:
    $ chsh -l
    /bin/sh
    /bin/bash
    /sbin/nologin
    /bin/tcsh
    /bin/csh
    /bin/ksh
    /bin/zsh

  2. 接著更改 Shell 為 zsh:
    chsh -s /bin/zsh

That's all! 你可以開始使用 Z Shell 囉!更多資訊就請看官方網站啦。



Comments

  1. N.M. 2011-11-10 13:10:49
    謝謝J的分享
    Mac的設定檔中
    alias ls="ls --color-auto"應該改為alias ls='ls -G'才能正常執行
    另外所有設定檔中TZ="America/New_York"應該可以註解或改成TZ="Asia/Taipei"在台灣的時間顯示才會正常@@
  2. sevenjay 2011-11-02 11:37:10
    ubuntu的 chsh -l 不能用
    可以用cat /etc/shells
    感謝你的設定,試用中
  3. kakashi 2010-08-18 17:04:41
    最近轉用zsh,你的設定檔很好用~
  4. josephj 2010-01-27 11:40:47
    Monaco
  5. F.B.J 2010-01-27 10:17:53
    感謝你提供的資訊喔 ^^

    順便問一下,上面的用的軟體是「pietty」嗎?

    你是用那一套字型的呢?看起來真是漂亮 ~~
暱稱: 必填。
Email: 非必填。若填寫為不公開欄位,僅供站長參考聯繫。
內容: 必填。限 255 個字元以內。
驗證碼:
送出

Facebook Comment