DevLOVE ターミナル勉強会 zsh + screen
-
Upload
yozo-sato -
Category
Self Improvement
-
view
9.946 -
download
4
description
Transcript of DevLOVE ターミナル勉強会 zsh + screen
![Page 1: DevLOVE ターミナル勉強会 zsh + screen](https://reader031.fdocument.pub/reader031/viewer/2022020714/545cef5cb0af9fa92c8b4c07/html5/thumbnails/1.jpg)
DevLOVE ターミナル勉強会 zsh + screen
12 Sep. 2011 さとうようぞう
Twitter: @yoozoosato
![Page 2: DevLOVE ターミナル勉強会 zsh + screen](https://reader031.fdocument.pub/reader031/viewer/2022020714/545cef5cb0af9fa92c8b4c07/html5/thumbnails/2.jpg)
謝辞
会場をご提供いただきました、日本オラクル様。 どうもありがとうございます。 お集まり頂きましたみなさま、ありがとうございます。 企画・運営に関わっていただいたDevLOVEの皆様。 いつも感謝しています。
![Page 3: DevLOVE ターミナル勉強会 zsh + screen](https://reader031.fdocument.pub/reader031/viewer/2022020714/545cef5cb0af9fa92c8b4c07/html5/thumbnails/3.jpg)
#hashtag • 今日の勉強会のハッシュタグ
#devlove0912 #devlove
![Page 4: DevLOVE ターミナル勉強会 zsh + screen](https://reader031.fdocument.pub/reader031/viewer/2022020714/545cef5cb0af9fa92c8b4c07/html5/thumbnails/4.jpg)
自己紹介
![Page 5: DevLOVE ターミナル勉強会 zsh + screen](https://reader031.fdocument.pub/reader031/viewer/2022020714/545cef5cb0af9fa92c8b4c07/html5/thumbnails/5.jpg)
devlove% echo $NAME
0 zsh !2011/09/12
![Page 6: DevLOVE ターミナル勉強会 zsh + screen](https://reader031.fdocument.pub/reader031/viewer/2022020714/545cef5cb0af9fa92c8b4c07/html5/thumbnails/6.jpg)
devlove% echo $NAME
0 zsh !2011/09/12
devlove% SATO Yozo
![Page 7: DevLOVE ターミナル勉強会 zsh + screen](https://reader031.fdocument.pub/reader031/viewer/2022020714/545cef5cb0af9fa92c8b4c07/html5/thumbnails/7.jpg)
devlove% echo $NAME
0 zsh !2011/09/12
devlove% SATO Yozo devlove% echo $TWITTER_ID
![Page 8: DevLOVE ターミナル勉強会 zsh + screen](https://reader031.fdocument.pub/reader031/viewer/2022020714/545cef5cb0af9fa92c8b4c07/html5/thumbnails/8.jpg)
devlove% echo $NAME
0 zsh !2011/09/12
devlove% SATO Yozo devlove% echo $TWITTER_ID devlove% @yoozoosato
![Page 9: DevLOVE ターミナル勉強会 zsh + screen](https://reader031.fdocument.pub/reader031/viewer/2022020714/545cef5cb0af9fa92c8b4c07/html5/thumbnails/9.jpg)
devlove% echo $NAME
0 zsh !2011/09/12
devlove% SATO Yozo devlove% echo $TWITTER_ID devlove% @yoozoosato devlove% echo $MAIL
![Page 10: DevLOVE ターミナル勉強会 zsh + screen](https://reader031.fdocument.pub/reader031/viewer/2022020714/545cef5cb0af9fa92c8b4c07/html5/thumbnails/10.jpg)
devlove% echo $NAME
0 zsh !2011/09/12
devlove% SATO Yozo devlove% echo $TWITTER_ID devlove% @yoozoosato devlove% echo $MAIL devlove% [email protected]
![Page 11: DevLOVE ターミナル勉強会 zsh + screen](https://reader031.fdocument.pub/reader031/viewer/2022020714/545cef5cb0af9fa92c8b4c07/html5/thumbnails/11.jpg)
devlove% echo $JOB
0 zsh !2011/09/12
![Page 12: DevLOVE ターミナル勉強会 zsh + screen](https://reader031.fdocument.pub/reader031/viewer/2022020714/545cef5cb0af9fa92c8b4c07/html5/thumbnails/12.jpg)
devlove% echo $JOB
0 zsh !2011/09/12
devlove% 某ISP
![Page 13: DevLOVE ターミナル勉強会 zsh + screen](https://reader031.fdocument.pub/reader031/viewer/2022020714/545cef5cb0af9fa92c8b4c07/html5/thumbnails/13.jpg)
devlove% disclaimer
0 zsh !2011/09/12
![Page 14: DevLOVE ターミナル勉強会 zsh + screen](https://reader031.fdocument.pub/reader031/viewer/2022020714/545cef5cb0af9fa92c8b4c07/html5/thumbnails/14.jpg)
devlove% disclaimer
0 zsh !2011/09/12
このプレゼンテーションは皆様に zsh と screen を「明日から」使ってもらうことを目的としています。単なる zsh と screen の紹介ですので hack するような話はあまりありません。!また、さとうようぞうが所属ないし関係する組織の公式な意見・見解を反映したものではありません。
![Page 15: DevLOVE ターミナル勉強会 zsh + screen](https://reader031.fdocument.pub/reader031/viewer/2022020714/545cef5cb0af9fa92c8b4c07/html5/thumbnails/15.jpg)
1. 何故ターミナル(CUI)なのか 2. GNU screen との出会い 3. zsh との出会い 4. 使ってみよう 5. ターミナル勉強会 今後
Agenda
![Page 16: DevLOVE ターミナル勉強会 zsh + screen](https://reader031.fdocument.pub/reader031/viewer/2022020714/545cef5cb0af9fa92c8b4c07/html5/thumbnails/16.jpg)
1. 何故ターミナル(CUI)なのか 2. GNU screen との出会い 3. zsh との出会い 4. 使ってみよう 5. ターミナル勉強会 今後
Agenda
![Page 17: DevLOVE ターミナル勉強会 zsh + screen](https://reader031.fdocument.pub/reader031/viewer/2022020714/545cef5cb0af9fa92c8b4c07/html5/thumbnails/17.jpg)
「CUIは古典的で不便だが、GUIは直感的で操作性が良い」とステレオタイプで語られる事が多い
http://ja.wikipedia.org/wiki/キャラクタユーザインタフェース
![Page 18: DevLOVE ターミナル勉強会 zsh + screen](https://reader031.fdocument.pub/reader031/viewer/2022020714/545cef5cb0af9fa92c8b4c07/html5/thumbnails/18.jpg)
GUIと比較してのメリット • 繰り返し作業に強い – ファイルコピー、移動などをミスらずに実行できる
• 作業履歴が残る .zhistory / .bash_history – 「記録」が残る、という意味で
• 他の人に作業内容を伝えやすい – 残した記録を活用できる
![Page 19: DevLOVE ターミナル勉強会 zsh + screen](https://reader031.fdocument.pub/reader031/viewer/2022020714/545cef5cb0af9fa92c8b4c07/html5/thumbnails/19.jpg)
CUI ならではのメリット • リモートに接続する時、転送量が少ないので軽い – 昔はPHSカード(56kbps)とかで通信してた
• 操作の全てをキーボードで実行可能 • 一画面に表示できる情報量が多い – アイコンとかないから – screen 分割とか Emacs で複数ウインドウ等
![Page 20: DevLOVE ターミナル勉強会 zsh + screen](https://reader031.fdocument.pub/reader031/viewer/2022020714/545cef5cb0af9fa92c8b4c07/html5/thumbnails/20.jpg)
デメリット • GUI と比較するととっつきにくい – command を知らないと操作できない – 黒字に白い文字だけの画面は古臭いw
• Office 系のソフトなど、仕事で必須のアプリが使えなかったりする – CUI だけで生きていくのは無理と思う – 良い所どりして活用していくのがポイント?
![Page 21: DevLOVE ターミナル勉強会 zsh + screen](https://reader031.fdocument.pub/reader031/viewer/2022020714/545cef5cb0af9fa92c8b4c07/html5/thumbnails/21.jpg)
Agenda 1. 何故ターミナル(CUI)なのか 2. GNU screen との出会い 3. zsh との出会い 4. 使ってみよう 5. ターミナル勉強会 今後
![Page 22: DevLOVE ターミナル勉強会 zsh + screen](https://reader031.fdocument.pub/reader031/viewer/2022020714/545cef5cb0af9fa92c8b4c07/html5/thumbnails/22.jpg)
GNU screen とは?
![Page 23: DevLOVE ターミナル勉強会 zsh + screen](https://reader031.fdocument.pub/reader031/viewer/2022020714/545cef5cb0af9fa92c8b4c07/html5/thumbnails/23.jpg)
いつ、どこで • 2003年頃 • 携帯コンテンツを作る会社で働いていた時 • 当時は PHS回線でリモートの Linux サーバーに接続したりとかしてた – 作業途中で接続が切れる – DBに接続してても切れる – バッチを走らせてても切れるw
• 隣に座っていた師匠に「 screen 使えばいいよ」と教えてもらった
![Page 24: DevLOVE ターミナル勉強会 zsh + screen](https://reader031.fdocument.pub/reader031/viewer/2022020714/545cef5cb0af9fa92c8b4c07/html5/thumbnails/24.jpg)
覚えたこと • 接続が切れても screen –rd で戻れる • 同時に複数の仮想端末を操作できる • ウインドウ間で文字列をコピペ可能 • 皆さん、ターミナル使うとこんな感じになっていませんか?
![Page 25: DevLOVE ターミナル勉強会 zsh + screen](https://reader031.fdocument.pub/reader031/viewer/2022020714/545cef5cb0af9fa92c8b4c07/html5/thumbnails/25.jpg)
![Page 26: DevLOVE ターミナル勉強会 zsh + screen](https://reader031.fdocument.pub/reader031/viewer/2022020714/545cef5cb0af9fa92c8b4c07/html5/thumbnails/26.jpg)
![Page 27: DevLOVE ターミナル勉強会 zsh + screen](https://reader031.fdocument.pub/reader031/viewer/2022020714/545cef5cb0af9fa92c8b4c07/html5/thumbnails/27.jpg)
或は
![Page 28: DevLOVE ターミナル勉強会 zsh + screen](https://reader031.fdocument.pub/reader031/viewer/2022020714/545cef5cb0af9fa92c8b4c07/html5/thumbnails/28.jpg)
![Page 29: DevLOVE ターミナル勉強会 zsh + screen](https://reader031.fdocument.pub/reader031/viewer/2022020714/545cef5cb0af9fa92c8b4c07/html5/thumbnails/29.jpg)
![Page 30: DevLOVE ターミナル勉強会 zsh + screen](https://reader031.fdocument.pub/reader031/viewer/2022020714/545cef5cb0af9fa92c8b4c07/html5/thumbnails/30.jpg)
勿 体無 い
![Page 31: DevLOVE ターミナル勉強会 zsh + screen](https://reader031.fdocument.pub/reader031/viewer/2022020714/545cef5cb0af9fa92c8b4c07/html5/thumbnails/31.jpg)
screen ならこんな感じ
![Page 32: DevLOVE ターミナル勉強会 zsh + screen](https://reader031.fdocument.pub/reader031/viewer/2022020714/545cef5cb0af9fa92c8b4c07/html5/thumbnails/32.jpg)
実演
![Page 33: DevLOVE ターミナル勉強会 zsh + screen](https://reader031.fdocument.pub/reader031/viewer/2022020714/545cef5cb0af9fa92c8b4c07/html5/thumbnails/33.jpg)
切れても大丈夫
![Page 34: DevLOVE ターミナル勉強会 zsh + screen](https://reader031.fdocument.pub/reader031/viewer/2022020714/545cef5cb0af9fa92c8b4c07/html5/thumbnails/34.jpg)
Agenda 1. 何故ターミナル(CUI)なのか 2. GNU screen との出会い 3. zsh との出会い 4. 使ってみよう 5. ターミナル勉強会 今後
![Page 35: DevLOVE ターミナル勉強会 zsh + screen](https://reader031.fdocument.pub/reader031/viewer/2022020714/545cef5cb0af9fa92c8b4c07/html5/thumbnails/35.jpg)
いつ、どこで • 2ch のUNIX板にあった「連番のエロ画像を
DLするスレ」 – http://pc8.2ch.net/test/read.cgi/unix/979106537/!
– dat落ちしてるので、Pt.4をどうぞ
• これを読んで感銘を受けたw – http://www.gentei.org/~yuuji/rec/pc/intro-zsh.html!
![Page 36: DevLOVE ターミナル勉強会 zsh + screen](https://reader031.fdocument.pub/reader031/viewer/2022020714/545cef5cb0af9fa92c8b4c07/html5/thumbnails/36.jpg)
覚えたこと (1) • 連番エロ画像の一括取得は zsh で解決
wget \http://example.com/ero{01..99}.jpg!
• bash だと例えば・・・ for i in `seq -w 01 99`;! do wget \! http://example.com/ero$i.jpg;!done
![Page 37: DevLOVE ターミナル勉強会 zsh + screen](https://reader031.fdocument.pub/reader031/viewer/2022020714/545cef5cb0af9fa92c8b4c07/html5/thumbnails/37.jpg)
エロは技術の原動力
![Page 38: DevLOVE ターミナル勉強会 zsh + screen](https://reader031.fdocument.pub/reader031/viewer/2022020714/545cef5cb0af9fa92c8b4c07/html5/thumbnails/38.jpg)
実演 • けしからんサイトの画像40枚を wget
![Page 39: DevLOVE ターミナル勉強会 zsh + screen](https://reader031.fdocument.pub/reader031/viewer/2022020714/545cef5cb0af9fa92c8b4c07/html5/thumbnails/39.jpg)
覚えたこと (2) • 右側プロンプトが超絶便利 – pwdとか打たなくなった
• コマンドラインスタックが便利で萌え死ねる – Esc - q で入力途中のコマンドがスタック – 他のコマンドを打って、それが終わると元通り!
– スタックの詳細は次のセッションで!
![Page 40: DevLOVE ターミナル勉強会 zsh + screen](https://reader031.fdocument.pub/reader031/viewer/2022020714/545cef5cb0af9fa92c8b4c07/html5/thumbnails/40.jpg)
Agenda 1. 何故ターミナル(CUI)なのか 2. GNU screen との出会い 3. zsh との出会い 4. 使ってみよう 5. ターミナル勉強会 今後
![Page 41: DevLOVE ターミナル勉強会 zsh + screen](https://reader031.fdocument.pub/reader031/viewer/2022020714/545cef5cb0af9fa92c8b4c07/html5/thumbnails/41.jpg)
開発編:バージョン管理 • 例えば git の場合 – ブランチ名が表示される – 変更を加えたかどうかが分かる – (いずれも zsh の機能です)
![Page 42: DevLOVE ターミナル勉強会 zsh + screen](https://reader031.fdocument.pub/reader031/viewer/2022020714/545cef5cb0af9fa92c8b4c07/html5/thumbnails/42.jpg)
screen をカスタマイズ • 色んな情報をターミナルに常時表示 – Load Average などのハードウェア情報 – Unit Test の結果(グリーン・レッド) • http://somethingnew2.com/blog/archives/2010/01/tddbcruby.php!
– etc.. • backtick – 任意のコマンドの出力を screen に表示できる
![Page 43: DevLOVE ターミナル勉強会 zsh + screen](https://reader031.fdocument.pub/reader031/viewer/2022020714/545cef5cb0af9fa92c8b4c07/html5/thumbnails/43.jpg)
http://www.kanshin.com/keyword/476309
![Page 44: DevLOVE ターミナル勉強会 zsh + screen](https://reader031.fdocument.pub/reader031/viewer/2022020714/545cef5cb0af9fa92c8b4c07/html5/thumbnails/44.jpg)
実演
![Page 45: DevLOVE ターミナル勉強会 zsh + screen](https://reader031.fdocument.pub/reader031/viewer/2022020714/545cef5cb0af9fa92c8b4c07/html5/thumbnails/45.jpg)
Agenda 1. 何故ターミナル(CUI)なのか 2. GNU screen との出会い 3. zsh との出会い 4. 使ってみよう 5. ターミナル勉強会 今後
![Page 46: DevLOVE ターミナル勉強会 zsh + screen](https://reader031.fdocument.pub/reader031/viewer/2022020714/545cef5cb0af9fa92c8b4c07/html5/thumbnails/46.jpg)
第2回もやります。多分。 • LLでWEB系をやっていると、ターミナルは避けて通れない
• LL系WEB開発 三種の神器 1. Editor • vim / emacs / JEdit / 秀丸 etc.
2. Browser 1. Chrome / Firefox / Safari / w3m etc.
3. Terminal • Terminal.app / iTerm / TeraTerm / DOS窓
![Page 47: DevLOVE ターミナル勉強会 zsh + screen](https://reader031.fdocument.pub/reader031/viewer/2022020714/545cef5cb0af9fa92c8b4c07/html5/thumbnails/47.jpg)
例えば・・・ • SSHについて – ~/.ssh/config をいじって多段SSH & トンネル
• tcsh の良い所も聞いてみたい • 「grep 楽しいです、 grep」 • たまには awk とか sed も思い出してあげて下さい
![Page 48: DevLOVE ターミナル勉強会 zsh + screen](https://reader031.fdocument.pub/reader031/viewer/2022020714/545cef5cb0af9fa92c8b4c07/html5/thumbnails/48.jpg)
ネタは随時募集しています
• twitter で @yoozoosato 宛につぶやいてみる • twitter でハッシュタグ #devlove を付けて「こんなのやりたい/聞きたい」とリクエスト
![Page 49: DevLOVE ターミナル勉強会 zsh + screen](https://reader031.fdocument.pub/reader031/viewer/2022020714/545cef5cb0af9fa92c8b4c07/html5/thumbnails/49.jpg)
Thank you!