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
SRETT#4黒い画面をもっと効率的に(使って自動化の時間を捻出)
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
SUZUKI Masashi
August 04, 2022
Technology
530
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
SRETT#4黒い画面をもっと効率的に(使って自動化の時間を捻出)
SUZUKI Masashi
August 04, 2022
More Decks by SUZUKI Masashi
See All by SUZUKI Masashi
2026-09-04 SRE Tech Talk #15 怠惰なTerraform / Lazy Terraform
masasuzu
0
96
2026-08-15 JAWS-UG 茨城 #16 Secrets ManagerにおけるSecret値の管理(Terraformの場合) / Secrets Manager Secrets
masasuzu
1
840
2026-07-28 3-shakeテックランチ Cloud Run のデプロイパラメータを考える / Cloud Run Deploy Parameter
masasuzu
0
100
2026-07-24 tfpolicyを試してみたのですが、、、、
masasuzu
0
140
2026-06-18 ecspressoのtfstate参照が便利すぎた話
masasuzu
1
480
2026-04-14 Jagu'e'r Cloud Native分科会 Terraform Stateにおけるシークレットの平文保存という課題とその解決
masasuzu
1
87
2026-03-27 #terminalnight 変数展開とコマンド展開でターミナル作業をスマートにする方法
masasuzu
0
500
2026-03-23 Ops-JAWS Meetup39 Session Managerを使った セキュアなサーバーアクセス
masasuzu
2
190
2026-03-11 JAWS-UG 茨城 #12 改めてALBを便利に使う
masasuzu
3
520
Other Decks in Technology
See All in Technology
[RSJ26] AnoleVLA: Lightweight Vision-Language-Action Model with Deep State Space Models for Mobile Manipulation
keio_smilab
PRO
0
120
指示待ちから変化に応じるClaude Codeへ!~環境からAgentへの帰り道を作る~
gotalab555
9
1.8k
When Does a Local Qwen Start to Break
morshoto
0
130
Master Dataグループ紹介資料
sansan33
PRO
1
4.9k
Bet AI Day 2026丨バクラク Autopilot、業務システムの再設計
layerx
PRO
1
860
Genie Code ワークショップ 基礎編 / Genie-Code-Workshop-fundamental
databricksjapan
PRO
0
300
Webとヘルスデータ
yukukotani
0
130
振り返りこそエンジニアの本領
negima
0
150
AI-DLCって実際どう? 〜聞きたいこと全部聞いてみる〜
news_it_enj
0
170
AI駆動開発をチームに根付かせる - 「1行も書かない」チームがHarnessを育てた1年 -
kenichirokimura
6
3.7k
Level Up Your CDK DX: 5 Tools I’ve Been Building
gotok365
2
180
Does an AI Watermark Survive Translation?
machinetranslation
0
520
Featured
See All Featured
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.5k
Accessibility Awareness
sabderemane
1
190
It's Worth the Effort
3n
188
29k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
430
Code Review Best Practice
trishagee
74
20k
Typedesign – Prime Four
hannesfritz
42
3.2k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
How to Think Like a Performance Engineer
csswizardry
28
2.8k
Build your cross-platform service in a week with App Engine
jlugia
234
19k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
480
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
400
Transcript
黒い画面をもっと効率的に(使って自動化の時間を捻出)
© 2021 3-shake Inc. 2 自己紹介 - 所属 - Sreake
事業部 - 5/1入社 - 経歴 - ネットワーク系ソフトウェア代理店 サポートエンジニア/開発エンジニア - PerlでWebアプリ開発してる会社 Webアプリケーションエンジニア /インフラエンジニア - 電子契約サービスの会社 SRE - 株式会社スリーシェイク <= now すずきまさし (@masasuz)
© 2021 3-shake Inc. 3 黒い画面をもっと効率的に - 昔のようにサーバに sshして作業するということはなくなりましたが、それでも開発運用作業をしてると、 それなりにコマンドラインを触ることが多いと思います。
- 今回はそんなコマンドライン操作を省力化、効率化するための Tipsを紹介したいと思います。 - 基本的にはmacのzsh前提で話していきます - % zsh --version - zsh 5.8.1 (x86_64-apple-darwin21.0) - bashで差異があるものは適宜触れます - fish使う人はほぼ知ってると思うので触れません - windows端末を持ってないのでだいぶケアできないです なんだかんだでターミナルで作業することが多い
© 2021 3-shake Inc. 4 目次 - キーバインドの話 - シェルとコマンドの話
- プロンプトの話
© 2021 3-shake Inc. 5 キーバインドの話 - 矢印キーをなるべく使わないで最小限のショートカットを覚えるだけでだいぶ作業時間短縮ができると 思います -
その空いた時間でさらに自動化を進めると良いのではないでしょうか ショートカットを使う
© 2021 3-shake Inc. 6 キーバインドの話 - emacライクキーバインド - デフォルトなのでこのキーバインドを覚えるとよいです
- set -o emacs で切り替えられる - viライクキーバインド - set -o vi で切り替えられる - bindkeyで現在のキーバインドを見れるので確認してください - bashならbind -p キーバインドの種類
© 2021 3-shake Inc. 7 キーバインドの話 - Ctrl+m or j
Enterと同じ - Ctrl+a 頭に移動 - Ctrl+e 末尾に移動(end) - Ctrl+n 履歴を後ろ(next)↓ - Ctrl+p 履歴を前(previous)↑ - Ctrl+f 前に移動(forward)→ - Ctrl+b 後ろに移動(back)← - Ctrl+h 1文字削除 このあたり覚えるとホームポジションから手を動かすことが少なくなるはず
© 2021 3-shake Inc. 8 キーバインドの話 - Ctil+l スクリーンをクリア -
Ctrl+r 履歴を検索 - Ctrl+s 履歴を検索前に - 端末の設定でstopが優先される可能性あり - Ctrl+w 1ワード削除 - Ctrl+k 現在カーソル位置から末尾まで削除 - Ctrl+[ ESCと同じ - ECS+f 1ワード前に移動 - ESC+b 1ワード後ろに移動 ここまでできると省力化
© 2021 3-shake Inc. 9 キーバインドの話 - シェルのキーバインド設定より優先されます - stty
-aで現在の設定が確認できます - Ctrl+sで画面停止されるので - stty stop undefで抑止すると良いかも 端末のキーバインド
© 2021 3-shake Inc. 10 目次 - キーバインドの話 - シェルとコマンドの話
- プロンプトの話
© 2021 3-shake Inc. 11 シェルとコマンドの話 - 変数置換 - コマンド置換
- プロセス置換 - ちょっとしたTips - fcコマンド - 事前に打ったコマンドの一部置換 - ブレース展開 覚えておくと便利な話
© 2021 3-shake Inc. 12 シェルとコマンドの話 - シェルのvarという変数は ${var} もしくは
$var という形でアクセスできますが、それだけではなく変数 単体で文字列処理ができたりします。 - 例 - ${var/before/after} 最短マッチで置換 - ${var//before/after} すべて置換 - ${var#pattern} 先頭の最短マッチ部を削除 - ${var##pattern} 先頭の最長マッチ部を削除 - ${var%pattern} 末尾の最短マッチ部を削除 - ${var%%pattern} 末尾の最長マッチ部を削除 - ${var:-default} 変数が未定義または空の場合デフォルト値を使う - ${var-default} 変数が未定義の場合デフォルト値を使う 変数置換
© 2021 3-shake Inc. 13 シェルとコマンドの話 - `command`もしくは$(command) の形式でcommand 実行した結果の標準出力を文字列として扱うこ
とができます。 - コマンドの結果をログに残したいとき、とか dateで今日の日付を出してそれをログの名前にしたいとき とか - somecommand > $(date +%Y-%m-%d).log コマンド置換
© 2021 3-shake Inc. 14 シェルとコマンドの話 - プロセス置換を使うことで一時ファイルを作らずに直接コマンドの標準出力をファイル扱いできます。 - <(command)
コマンドの標準出力をファイルとして扱う - >(command) コマンドの標準入力をファイルとして扱う - 便利な場面としては、コマンドの出力結果同士の diffを取りたいときとか。 - diff -y <(command1) <(command2) プロセス置換
© 2021 3-shake Inc. 15 シェルとコマンドの話 - fcコマンド - コマンドラインをEDITORで編集、実行できます
- 事前に打ったコマンドの一部置換 - ^before^after - ブレース展開 - {1..10} => 1 2 3 4 5 6 7 8 9 10 - cp text{,.bak} => cp text text.bak そのほか
© 2021 3-shake Inc. 16 目次 - キーバインドの話 - シェルとコマンドの話
- プロンプトの話
© 2021 3-shake Inc. 17 プロンプトの話 - 一番目にするので知っておきたい情報をひと目で分かるようにしておくとはかどります。 - ここまで紹介してきた要素を使って自分はプロンプト設定してます
- このあたりについて話します - プロンプトの変更 - 変数、コマンドの結果をプロンプトに表示する - プロンプトに表示させると便利なもの 一番目にする部分なのでカスタマイズしたいところ
© 2021 3-shake Inc. 18 プロンプトの話 - PROMPT変数に書かれたものがプロンプトに出力されます - bashはPS1
- 右プロンプトはRPROMPT変数 - 可変のパスとかは右プロンプトに仕込むとよいかも - プロンプト変数で使える記号 (zsh) - %n user - %m host - %~ current directory - %* HH:MM:SS - %D YY-mm-dd - プロンプトの変更
© 2021 3-shake Inc. 19 プロンプトの話 - 基本的にシェル起動時に PROMPT変数に値が読み込まれるので、その時点で代入された結果が表 示されます
- 現在の状態をプロンプトに出すためには、 precmdフックでPROMPTを更新するfunctionを登録してあ げる必要があります - autoload -Uz add-zsh-hook - add-zsh-hook precmd update_prompt 変数、コマンドの結果をプロンプトに表示する
© 2021 3-shake Inc. 20 プロンプトの話 - 時刻 - ユーザ、ホスト名
- 端末を複数台使わない人は不要かも - カレントディレクトリ - 直前のコマンドの成否 - 見た目上はエラー出てないのに失敗してる場合があるので気づきたい - gitの状態 - AWS_RPOFILEの中身 - kubernetsのcurrent-context - うっかり違う環境をいじるのを防ぎたい プロンプトに表示させると便利なもの
© 2021 3-shake Inc. 21 まとめ - 覚えておくと捗るというTipsを紹介しました - シェルは沼にはまるときりが無いので使える部分だけ取り入れていただけ
たらと思います - 自分自身も全然使いこなせてるというわけでもないので、便利なTipsが あったら教えて下さい - イチから設定いじるの辛い人はoh-my-zshとか使うといいかもです - では、快適なコマンドラインライフをこれからもお過ごしください