Zshって最強らしい

2,327 views
2,246 views

Published on

Published in: Technology
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,327
On SlideShare
0
From Embeds
0
Number of Embeds
12
Actions
Shares
0
Downloads
6
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

Zshって最強らしい

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

×