Zshって最強らしい

  • 1,792 views
Uploaded on

 

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,792
On Slideshare
0
From Embeds
0
Number of Embeds
3

Actions

Shares
Downloads
5
Comments
0
Likes
4

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. zshって最強らしい
    2009/11/12 kazuya kanai
  • 2. zsh なんなの
    “z”のとは「究極の」という意味があるようだ。
    Bashやtcshやkshの良いとこ取りをしたシェルらしい。
    何が最強なのか?
    補完機能
    ヒストリ機能
    コマンドラインスタック
    拡張エイリアス
    グロビング
     etc・・・
  • 3. とりあえずzshを使う
    etc/passwd を編集でログインシェルに設定
    もしかしたらnisの場合環境によってはzshがないとかいわれるかもしれない。
    .bashrcに以下のように書いてもいいかもしれない。
    if [ -x `which zsh` ]; then
    exec zsh
    fi
  • 4. 補完機能
    まず.zshrc に以下の一文を加える。
    autoload -U compinit compinit
    これでいろいろな補完機能が使えるようになる。
    なんかコマンドを打ってみよう
    1回目の TAB では補完候補表示
    2回目以降の TAB ではその候補を1つづつ提示する。
  • 5. 補完機能
    こんなのはどうなる?
    tar [tab]
    ls –[tab]
    wget [tab]
    ssh [tab]
    必要なオプション、対象となるファイル などを補完してくれるよ。日本語のファイルとか指定するとき便利かも。
    Esc + h とか併用すると便利かも。Qで元に戻るよ。
  • 6. ヒストリ機能
    たとえば作業中データベース接続をしようとした時、あれ接続ユーザ、パスワードなんだっけ…
    Ctrl + r
    mysql -u adsta_dev –p***** adsta_kanai
    以前打ったコマンドのインクリメンタルサーチができるよ。
    Screenとかでいっぱい立ち上げていても履歴は共有されるよ
  • 7. コマンドラインスタック
    ある処理をしようとした時、その前に処理を割り込ませまた戻ってくることができる。
    たとえば、開発用サーバを立ち上げて確認するかとなったとき、あっ! あれ直しとかなきゃとかなったら。
    mysql -u adsta_dev –p***** adsta_kanai
    [Esc + q ]
    Vim ****.pm
    [q]
  • 8. 拡張エイリアス
    通常のエイリアスはコマンドラインの第1要素だけを対象にしますが、グローバルエイリアスをつかうとコマンドのどの部分でもエイリアスにできるよ。
    たとえば、よく使うエイリアスにllとかあるけど、グローバルエイリアスだとこんな風に登録できるので・・・
    alias -g H='| head'
    alias -g T='| tail'
    alias -g G='| grep‘
    ls *.pm G media_id とかできるよ。
  • 9. グロビング
    パターンマッチ、ワイルドカードとかその辺
    grep insert ./*.pm
     grep insert ./*/*.pm
     ⇒ grep insert **/*.pm 一発でできるよ。
    Find とかやんなくてもいいよ
     
    ⇒ ls -d **/Regist.*
  • 10. グロビング
    パターンマッチ、ワイルドカードとかその辺 その2
    chmod 755 *(/) 
     ⇒すべてのディレクトリのパーミッションを755にするよ
     ワイルドカードとかに続いてファイルの属性を指定できるよ
    / :ディレクトリ
    @ :シンボリックリンク
    . :通常のファイル
    ^:否定
    r:読み込み権のあるファイル
    w:書き込み権のあるファイル
    U:自分が所有するファイル etc….
  • 11. グロビング
    そのほか条件をグルーピングできるよ
    ls **/Ad*.(pm|pl)
    ls -d **/<0-10>*  
     mkdir -p test/{1..10}
    ls -d **/<0-10>*
  • 12. まとめ
    他にもいろいろ出来るので設定ファイルをあれやこれやして自分にあった使いやすいものにするといいよ。
    参考:http://journal.mycom.co.jp/column/zsh/001/index.html
     zsh 最強シェル入門 中島能和:翔泳社