Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
zshと仮想端末マネージャで快適ターミナル生活
Search
Nobutoshi Ogata
September 12, 2011
Technology
0
100
zshと仮想端末マネージャで快適ターミナル生活
Nobutoshi Ogata
September 12, 2011
Tweet
Share
More Decks by Nobutoshi Ogata
See All by Nobutoshi Ogata
サーバサイドの技術スタック・アーキテクチャ総ざらい - SmartNews Tech Night in Fukuoka Vol.1
nobu666
1
17k
SmartNews x PLAID - Cost cut and AWS Enterprise Support
nobu666
0
240
Why Slack?
nobu666
0
270
A Complete Work of SmartNews's SRE
nobu666
2
2.9k
SRE at SmartNews
nobu666
0
7.7k
SmartNews の最近の取り組みについて
nobu666
4
3.4k
Introducing in-hourse PaaS
nobu666
1
270
Monitoring of SmartNews
nobu666
0
140
The story becase happy with itamae
nobu666
0
110
Other Decks in Technology
See All in Technology
Amazon S3 Tablesと外部分析基盤連携について / Amazon S3 Tables and External Data Analytics Platform
nttcom
0
150
分解して理解する Aspire
nenonaninu
2
490
次世代KYC活動報告 / 20250219-BizDay17-KYC-nextgen
oidfj
0
380
Classmethod AI Talks(CATs) #17 司会進行スライド(2025.02.19) / classmethod-ai-talks-aka-cats_moderator-slides_vol17_2025-02-19
shinyaa31
0
160
OpenID BizDay#17 KYC WG活動報告(法人) / 20250219-BizDay17-KYC-legalidentity
oidfj
0
370
エンジニアのためのドキュメント力基礎講座〜構造化思考から始めよう〜(2025/02/15jbug広島#15発表資料)
yasuoyasuo
18
7.1k
ローカルLLMを活用したコード生成と、ローコード開発ツールへの応用
kazuhitoyokoi
0
140
利用終了したドメイン名の最強終活〜観測環境を育てて、分析・供養している件〜 / The Ultimate End-of-Life Preparation for Discontinued Domain Names
nttcom
2
320
転生CISOサバイバル・ガイド / CISO Career Transition Survival Guide
kanny
3
1.1k
「正しく」失敗できる チームの作り方 〜リアルな事例から紐解く失敗を恐れない組織とは〜 / A team that can fail correctly
i35_267
1
530
Helm , Kustomize に代わる !? 次世代 k8s パッケージマネージャー Glasskube 入門 / glasskube-entry
parupappa2929
0
270
人はなぜISUCONに夢中になるのか
kakehashi
PRO
6
1.7k
Featured
See All Featured
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5.3k
A Philosophy of Restraint
colly
203
16k
Java REST API Framework Comparison - PWX 2021
mraible
28
8.4k
Automating Front-end Workflow
addyosmani
1368
200k
What's in a price? How to price your products and services
michaelherold
244
12k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
193
16k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.5k
The Invisible Side of Design
smashingmag
299
50k
How to Ace a Technical Interview
jacobian
276
23k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
9
500
Art, The Web, and Tiny UX
lynnandtonic
298
20k
Transcript
zshͱԾ ϚωʔδϟͰ շదλʔϛφϧੜ׆ άϦʔגࣜձࣾ ։ൃຊ෦Πϯϑϥ౷ׅ෦ ඌܗ ெढ़ 119݄12݄༵
ΦϥΫϧͳ͏ 119݄12݄༵
About me ඌܗ ெढ़(͓͕ͨ ͷͿͱ͠) @nobu666 http://www.facebook.com/nobutoshi.ogata άϦʔגࣜձࣾ ։ൃຊ෦Πϯϑϥ౷ׅ෦ 2011/8/1ʙ
[email protected]
119݄12݄༵
͍··Ͱͬͯͨ͜ͱ ຊΞϧΰϦζϜגࣜձࣾ डୗ։ൃ ҩྍܥ/ༀܥͷγεςϜ χϑςΟגࣜձࣾʹɺNECϏοά ϩʔϒגࣜձࣾʹ2΄Ͳৗறͯ͠ɺ WebΞϓϦͷઃܭʙ։ൃʙӡ༻·Ͱ 119݄12݄༵
͍·ͬͯΔ͜ͱ ήʔϜ࡞ͬͯ·ͤΜ ϝʔϧͱ͔ɺͷMySQL Proxyͱ ͔ɺͦͷลͷαʔϏεج൫Λ୲͢Δ νʔϜ શจݕࡧͷϦϓϨʔε͡Ί·ͨ͠ 119݄12݄༵
ͦΜͳΘ͚Ͱ λʔϛφϧͱ ྑ͠Ͱ͢ 119݄12݄༵
͜ͷεϥΠυͷओࢫ zsh͜Θ͘ͳ͍Α!! ԾϚωʔδϟ͜Θ͘ͳ͍Α!! ͜ͷ2͕ͯ͢ͳͷͰɺ͢Ͱʹ͍ࠐ ΜͰ͍ΔਓʹΓͳ͍༰Ͱ͢ɻ ྃ͝ঝ͍ͩ͘͞ɻ 119݄12݄༵
ΞδΣϯμ zshɺscreenΛ͍࢝Ί͖͔͚ͨͬ ศར͞ͷҰΛ͝հ Ͱઃఆ͕໘ͳΜͰ͠ΐʁͳํ ·ͱΊ 119݄12݄༵
zshͱscreenΛ ͍࢝Ί͖͔͚ͨͬ 119݄12݄༵
Development Environment Conference 2006/9/9 5લ……ͩͱ…ʁ ड։͔࢝Β3Ͱຬһʹ http://b.hatena.ne.jp/t/decon zshίϐϖͰ͍ͬͯͨͷͷɺ screenͬͯͳ͔ͬͨ 119݄12݄༵
DEConҎલ ɹ_______________________ ɹɹɹɹɹʻ◦√ɹɹͦͬ͘͏ͩΊ͔ɾɾ!! ɹɹɹɹɹ ͘͘ɹɹɹ࡞ۀ͢Δαʔόʔ͕ଟ͗͢Δ ɹɹɹɹɹ ը໘͕PuTTYͩΒ͚ʹ ͳͬͯ͠·͏ɾɾ!! 119݄12݄༵
DEConҎޙ ________________________________ ~| \◦ େৎ͔ʁBOY ∥\ <◦> ∥/ ∥ /│ >> \│ ɹ screen͞Μʂʂ
119݄12݄༵
screen ԾϚωʔδϟͷҰछ screen tscreen tmux byobu 119݄12݄༵
119݄12݄༵
tmux!! ͣͬͱscreenͰ͕ͨ͠ɺࠓճͷεϥΠ υͷͨΊʹͪΐͬͱ͍࢝ΊͨΒΑ ͔ͬͨ!! ͱ͍͏Θ͚Ͱվफ͠·͢ ʼʻ جຊతʹҰॹͰ͕͢ɺσϑΥϧτͰ ͦΕͬΆ͍ઃఆʹͳ͍ͬͯ·͢ 119݄12݄༵
screen/tmuxͷ ͏Ε͍͠ͱ͜Ζ 119݄12݄༵
Α͏ͧ͏͞Μͱ͔ͿΒͳ͍ൣғͰ ͳ͕Β࡞ۀ ׂͯ͠ϩάΛݟͳ͕Β ͍ͭऴΘΔͷ͔Α͘Θ͔Βͳ͍όονͷىಈ σλονͯ͠ؼΔ ϩάΛͤΔ ڭҭͷҰͱͯ͑͠Δ ϚϧνΞλονϞʔυ 119݄12݄༵
zshͷ ͏Ε͍͠ͱ͜Ζ 119݄12݄༵
119݄12݄༵
ཤྺͷΓํ͕͏Ε͍͠ ෳߦʹΔίϚϯυཤྺͷΓํ ͔͠ΤσΟλͷΑ͏ʹ్தΛॻ͖ ͑ͨΓͰ͖·͢ nobu666@cherub $ for n in 1
2 3 for# do for# echo test; for# done test test test nobu666@cherub $(͜͜ͰC-p) nobu666@cherub $for n in 1 2 3 do echo test; done 119݄12݄༵
ࢉज़ԋࢉ͕͏Ε͍͠ nobu666@cherub $ zmodload -i zsh/mathfunc nobu666@cherub $ echo $((
sin(1) )) 0.8414709848078965 nobu666@cherub $ echo $(( log10(2) )) 0.3010299956639812 nobu666@cherub $ echo $(( sqrt(2) )) 1.4142135623730951 nobu666@cherub $ repeat 3 echo $(( rand48() )) 0.9822596229634506 0.37442021252918423 0.13525322333015666 119݄12݄༵
ελοΫ͕͏Ε͍͠ ͬͨΒ͍͠configureΦϓγϣϯॻ͍ ͯΔ్தʹɺ;͍ʹ --help ͕Έͨ͘ͳ Δ C-a C-kͯ͠configure --helpͯ͠C-y……? ESC-q
Ͱ͓̺!! 119݄12݄༵
glob͕͏Ε͍͠ important.cҎ֎ͷ*.cΛফ͍ͨ͠ rm *.c~important.c *.txtҎ֎Λফ͍ͨ͠ rm *~*.txt find . -name
‘*.c’|xargs grep hoge grep hoge **/*.c 119݄12݄༵
άϩʔόϧΤΠϦΞε͕͏Ε͍͠ hogehoge | piyopiyo tail -f /var/log/php.log G Fatal ls
-la L ޙΖʹύΠϓͰͭͳ͛ͯɺׂͱΑ͘͏ͷ શ෦ొ head,tail,grep,sort,uniq,lv,wc,sed,awk... 119݄12݄༵
ϚϧνϦμΠϨΫτ͕͏Ε͍͠ echo “test” > f1 >f2 echo “TEST” >file? <
f1 <f2 < f1 > f3 119݄12݄༵
ϓϩηεஔ͕͏Ε͍͠ ͱࢥͬͨΒbashͰͰ͖ΔΒ͘͠… (´ɾωɾʆ) paste <(hoge) <(moge) diff -u <(hoge|piyo) <(hoge|moge)
αʔόʹtmpϑΝΠϧ࡞Γͨ͘ͳ͍ͱ͖ ͱ͔ʹͲ͏ͧ 119݄12݄༵
Ͱઃఆ͕ ΊΜͲͦ͘͞͏ 119݄12݄༵
ͦΜͳ͋ͳͨͷͨΊʹ zshͷ߹ oh-my-zsh https://github.com/robbyrussell/oh-my-zsh gitͰ͖࣋ͬͯͯthemeΛબΜͩΒɺͦΕͬΆ͍ ઃఆ͕͞Εͯ·͢ https://github.com/robbyrussell/oh-my-zsh/wiki/ themes 119݄12݄༵
ͦΜͳ͋ͳͨͷͨΊʹ(2) screenͷ߹ screen wrapper byobu tmux ͲͬͪσϑΥϧτͰɺͳΜ͔ͦΕͬ Ά͍ઃఆ͕ೖͬͯ·͢ 119݄12݄༵
DEMO 119݄12݄༵
·ͱΊ ݹͷಓ۩ͱ͖ͬͭʹ͍͘ ͕ɺ֮͑Δͱڧྗ zshͦͦ͜͜ރΕ͖ͯͨ Έ߹Θͤ ΦϨΦϨڥ 119݄12݄༵
άϦʔͰ ٕज़ऀΛେืू ͍ͯ͠·͢ʼʻ 119݄12݄༵
͝ਗ਼ௌ ͋Γ͕ͱ͏ ͍͟͝·ͨ͠ 119݄12݄༵