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
SUZUKI Masashi
August 04, 2022
Technology
520
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-06-18 ecspressoのtfstate参照が便利すぎた話
masasuzu
0
43
2026-04-14 Jagu'e'r Cloud Native分科会 Terraform Stateにおけるシークレットの平文保存という課題とその解決
masasuzu
1
59
2026-03-27 #terminalnight 変数展開とコマンド展開でターミナル作業をスマートにする方法
masasuzu
0
430
2026-03-23 Ops-JAWS Meetup39 Session Managerを使った セキュアなサーバーアクセス
masasuzu
2
150
2026-03-11 JAWS-UG 茨城 #12 改めてALBを便利に使う
masasuzu
3
480
2026-03-03 Jagu'e'r Tech Writer Meetup #19 登壇のネタ作りについて
masasuzu
0
260
2026-02-24 月末 Tech Lunch Online #10 Cloud Runのデプロイの課題から考えるアプリとインフラの境界線
masasuzu
0
190
2025-11-21 社内エンジニア勉強会 改めて理解するVPC Endpoint
masasuzu
0
450
2025-11-08 Security JAWS TerraformによるIAM Policy記述ガイド
masasuzu
2
1.4k
Other Decks in Technology
See All in Technology
『AIに負けない』より『AIと遊ぶ』」〜ワクワクが最強のテスト・QA学習戦略_公開用
odan611
1
250
トークン最適化のためのユーザーストーリー分析 / User Story Analysis for Token Optimization
oomatomo
0
150
Fabricをフル活用する AI Agent Hub -製造業特化AIエージェントの設計
iotcomjpadmin
0
180
AIDLC_ヤフーショッピングの取り組み
lycorptech_jp
PRO
0
230
スタートアップにおけるアジャイルの実践について #shibuyagile
murabayashi
2
860
Microsoft のサポートとフィードバック総まとめ
murachiakira
PRO
0
130
Text-to-SQLをAgentCoreで実現し、生成されるSQLの精度を定量的に評価する
yakumo
2
260
40代で“やっとエンジニアになれた”――閉じた学びを開き、空の青さを知る / 20260628 Naoki Takahashi
shift_evolve
PRO
4
1.5k
デジタル・デザイン構想 by Sayaka Ishizuka
y150saya
0
150
本当の”仕事”を手放せる未来が見えた
mu7889yoon
0
210
Kotlin 開発のツラミを爆破した話! / Explode the difficulty of Kotlin dev!
eller86
0
130
AI Agentをシステムに組み込む前にゆるく向き合ってみる
hayama17
0
180
Featured
See All Featured
Exploring anti-patterns in Rails
aemeredith
3
430
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
350
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.6k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
150
Bash Introduction
62gerente
615
220k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Optimizing for Happiness
mojombo
378
71k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
BBQ
matthewcrist
89
10k
Designing for Timeless Needs
cassininazir
1
260
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
230
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とか使うといいかもです - では、快適なコマンドラインライフをこれからもお過ごしください