Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
SRETT#4黒い画面をもっと効率的に(使って自動化の時間を捻出)
Search
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-26 Platform Engineering Kaigi 2026 インフラとアプリの境界線と委譲の設計 / Drawing the Infra and App Line
masasuzu
1
690
2026-09-18 gotanda.sre Terraformで複数環境作ったり、複数Stateに分割したりそれとTerragrunt / Terraform multi envs and multi states
masasuzu
4
820
2026-09-04 SRE Tech Talk #15 怠惰なTerraform / Lazy Terraform
masasuzu
2
350
2026-08-15 JAWS-UG 茨城 #16 Secrets ManagerにおけるSecret値の管理(Terraformの場合) / Secrets Manager Secrets
masasuzu
2
890
2026-07-28 3-shakeテックランチ Cloud Run のデプロイパラメータを考える / Cloud Run Deploy Parameter
masasuzu
0
130
2026-07-24 tfpolicyを試してみたのですが、、、、
masasuzu
1
190
2026-06-18 ecspressoのtfstate参照が便利すぎた話
masasuzu
1
560
2026-04-14 Jagu'e'r Cloud Native分科会 Terraform Stateにおけるシークレットの平文保存という課題とその解決
masasuzu
1
110
2026-03-27 #terminalnight 変数展開とコマンド展開でターミナル作業をスマートにする方法
masasuzu
1
540
Other Decks in Technology
See All in Technology
AIカンパニーへの転換を支えた、エンジニアの仕事の再定義
kworkdev
PRO
2
700
その Valkey 使いこなしていますか?
onk
PRO
5
750
子育てエンジニアの可処分時間が減っても成長を諦めない戦い方
sudoakiy
6
4.5k
パッチ更新でterraform initが落ちた日
grimoh
1
130
ハードウェアコンペでもAI駆動開発が進んでいる話
iotengineer22
1
710
夫婦で子育てするための育児標準化
codmoninc
PRO
0
210
自作バイナリを動かす「入口」8選
puhitaku
2
1.3k
AIは「聞けば答える」から「任せると自分で進める」へ - JACTIMペナン地域部会・ペナン三水会講演
knishioka
0
110
AI時代のAPI開発を加速する品質ガードレール / API Quality Guardrails in the AI Era
yokawasa
0
190
組み立てて楽しむ AWS Blocks 入門
kmiya84377
0
240
味覇で作るパスタが美味い - 20261001_yabaubuki.dev
livesense
PRO
0
130
日本語に強いオープンな大規模言語モデル「LLM-jp」
odashi
4
880
Featured
See All Featured
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.6k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
280
Making the Leap to Tech Lead
cromwellryan
135
10k
Paper Plane
katiecoart
PRO
5
54k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.8k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.4k
A Tale of Four Properties
chriscoyier
163
24k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
300
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
470
The Cost Of JavaScript in 2023
addyosmani
55
10k
The Invisible Side of Design
smashingmag
301
52k
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とか使うといいかもです - では、快適なコマンドラインライフをこれからもお過ごしください