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
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
SUZUKI Masashi
August 04, 2022
Technology
510
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
25
2026-04-14 Jagu'e'r Cloud Native分科会 Terraform Stateにおけるシークレットの平文保存という課題とその解決
masasuzu
1
54
2026-03-27 #terminalnight 変数展開とコマンド展開でターミナル作業をスマートにする方法
masasuzu
0
410
2026-03-23 Ops-JAWS Meetup39 Session Managerを使った セキュアなサーバーアクセス
masasuzu
2
150
2026-03-11 JAWS-UG 茨城 #12 改めてALBを便利に使う
masasuzu
3
470
2026-03-03 Jagu'e'r Tech Writer Meetup #19 登壇のネタ作りについて
masasuzu
0
220
2026-02-24 月末 Tech Lunch Online #10 Cloud Runのデプロイの課題から考えるアプリとインフラの境界線
masasuzu
0
180
2025-11-21 社内エンジニア勉強会 改めて理解するVPC Endpoint
masasuzu
0
420
2025-11-08 Security JAWS TerraformによるIAM Policy記述ガイド
masasuzu
2
1.4k
Other Decks in Technology
See All in Technology
20260619 私の日常業務での生成 AI 活用
masaruogura
1
200
AAIFに入ってみた ~内から見えるコミュニティ動向~
sato4
0
190
【NRUG vol.18】KubernetesにおけるNew Relicデータ取得量削減の考え方
nrug_member
0
110
手塩にかけりゃいいってもんじゃない
ming_ayami
0
570
あなたの知らないPDFのアクセシビリティ
lycorptech_jp
PRO
0
180
気づかぬうちにセキュリティ負債を生むAPIキー運用
sgwrmctk
0
120
就職⽀援サービスにおけるキャリアアドバイザーのシフトスケジューリング
recruitengineers
PRO
1
140
フィジカル版Github Onshapeの紹介
shiba_8ro
0
120
日本 Fintech 未来予測レポート 2027〜2028年(手動編集版)
8maki
0
2.3k
自律型AIエージェントは何を破壊するのか
kojira
0
160
プロダクト開発から業務改善コンサルまで。事業全体へ「染み出す」ことで広がるエンジニアの可能性
ham0215
0
120
Oracle AI Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
6
2k
Featured
See All Featured
How to build a perfect <img>
jonoalderson
1
5.6k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
420
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
780
The Illustrated Children's Guide to Kubernetes
chrisshort
51
52k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
200
Facilitating Awesome Meetings
lara
57
7k
Discover your Explorer Soul
emna__ayadi
2
1.1k
Designing for Timeless Needs
cassininazir
1
250
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
970
Navigating Weather and Climate Data
rabernat
0
220
The SEO Collaboration Effect
kristinabergwall1
1
480
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とか使うといいかもです - では、快適なコマンドラインライフをこれからもお過ごしください