zshって最強らしい

12
zsh っっっっっっっ 2009/11/12 kazuya kanai

Upload: ngi-group

Post on 24-May-2015

1.903 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Zshって最強らしい

zshって最強らしい

2009/11/12   kazuya kanai

Page 2: Zshって最強らしい

zsh なんなの “z” のとは「究極の」という意味があるようだ。

Bash や tcsh や ksh の良いとこ取りをしたシェルらしい。

何が最強なのか? 補完機能 ヒストリ機能 コマンドラインスタック 拡張エイリアス グロビング

  etc ・・・

Page 3: Zshって最強らしい

とりあえず zsh を使う etc/passwd を編集でログインシェルに設定

もしかしたら nis の場合環境によっては zsh がないとかいわれるかもしれない。

.bashrc に以下のように書いてもいいかもしれない。

if [ -x `which zsh` ]; then exec zshfi

Page 4: Zshって最強らしい

補完機能 まず .zshrc に以下の一文を加える。

autoload -U compinit compinit

これでいろいろな補完機能が使えるようになる。なんかコマンドを打ってみよう

1 回目の TAB では補完候補表示

2 回目以降の TAB ではその候補を1つづつ提示する。

Page 5: Zshって最強らしい

補完機能 こんなのはどうなる?

tar [tab] ls –[tab] wget [tab] ssh [tab]

必要なオプション、対象となるファイル などを補完してくれるよ。日本語のファイルとか指定するとき便利かも。

Esc + h とか併用すると便利かも。 Q で元に戻るよ。

Page 6: Zshって最強らしい

ヒストリ機能 たとえば作業中データベース接続をしようとした時、あ

れ接続ユーザ、パスワードなんだっけ…

Ctrl + r mysql -u adsta_dev –p***** adsta_kanai

以前打ったコマンドのインクリメンタルサーチができるよ。

Screen とかでいっぱい立ち上げていても履歴は共有されるよ

Page 7: Zshって最強らしい

コマンドラインスタック ある処理をしようとした時、その前に処理を割り込ませ

また戻ってくることができる。

たとえば、開発用サーバを立ち上げて確認するかとなったとき、あっ! あれ直しとかなきゃとかなったら。

mysql -u adsta_dev –p***** adsta_kanai[Esc + q ]Vim ****.pm[q]

Page 8: Zshって最強らしい

拡張エイリアス 通常のエイリアスはコマンドラインの第 1 要素だけを対

象にしますが、グローバルエイリアスをつかうとコマンドのどの部分でもエイリアスにできるよ。

たとえば、よく使うエイリアスに ll とかあるけど、グローバルエイリアスだとこんな風に登録できるので・・・

alias -g H='| head'alias -g T='| tail'alias -g G='| grep‘

ls *.pm G media_id とかできるよ。

Page 9: Zshって最強らしい

グロビング パターンマッチ、ワイルドカードとかその辺

grep insert ./*.pm   grep insert ./*/*.pm

 ⇒ grep insert **/*.pm 一発でできるよ。

Find とかやんなくてもいいよ ⇒ ls -d **/Regist.*

Page 10: Zshって最強らしい

グロビング パターンマッチ、ワイルドカードとかその辺 その2

chmod 755 *(/)  

 ⇒すべてのディレクトリのパーミッションを755にするよ ワイルドカードとかに続いてファイルの属性を指定できるよ

/ : ディレクトリ @ : シンボリックリンク . : 通常のファイル ^ : 否定 r :読み込み権のあるファイル w :書き込み権のあるファイル U :自分が所有するファイル etc….

Page 11: Zshって最強らしい

グロビング そのほか 条件をグルーピングできるよ

ls **/Ad*.(pm|pl) ls -d **/<0-10>*  

  mkdir -p test/{1..10} ls -d **/<0-10>*

Page 12: Zshって最強らしい

まとめ 他にもいろいろ出来るので設定ファイルをあれやこれや

して自分にあった使いやすいものにするといいよ。

参考: http://journal.mycom.co.jp/column/zsh/001/index.html

  zsh 最強シェル入門 中島能和 : 翔泳社