0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Bashのコマンドライン操作を、便利なショートカットだけ整理する

0
Posted at

はじめに

この記事では、Bash のコマンドライン操作を、便利なショートカットだけに絞って整理します。

Linux コマンドは覚えてきたのに、入力そのものは毎回カーソルキーや Backspace に頼っている、ということはよくあります。
ただ、Bash の操作はコマンドそのものと同じくらい効きます。

特に次のような場面です。

  • 長いコマンドを少しだけ直したい
  • 前に打ったコマンドを探したい
  • 先頭や末尾にすぐ移動したい
  • 単語単位で消したい

このあたりをマウスや矢印キーだけでやると、地味に遅くなります。

ここで紹介する操作の多くは Bash だけでなく、Readline を使うシェルでも使えます。

この記事では、Bash のショートカットを網羅するのではなく、実務でよく使うものだけを扱います。
対象読者は、Linux や Bash を触り始めた初学者から、実務に入りたてでターミナル操作がまだ遅いと感じている人です。

先に結論

まずは次の操作だけ覚えるとかなり楽になります。

  • Ctrl+A: 行頭へ移動
  • Ctrl+E: 行末へ移動
  • Ctrl+U: カーソル前を全部消す
  • Ctrl+K: カーソル後を全部消す
  • Ctrl+W: 手前の1単語を消す
  • Ctrl+C: 実行中のコマンドや入力中の行を中断する
  • Ctrl+L: 画面をきれいにする
  • Ctrl+R: 履歴検索
  • Tab: 補完

このあたりは派手ではありません。
ただ、毎日使うので、覚えるとかなり差が出ます。

まず覚えるなら Ctrl+ACtrl+E

一番最初に覚えるならこの2つです。

  • Ctrl+A: 行頭へ移動
  • Ctrl+E: 行末へ移動

例えば長いコマンドを打っていて、最初の方だけ直したいとします。

docker compose exec app bash

このとき、行頭へ戻るために左矢印を何回も押すより、Ctrl+A のほうが圧倒的に楽です。

逆に末尾へ戻るなら Ctrl+E です。

これはかなり基本ですが、最初に効く操作でもあります。

Ctrl+UCtrl+K で前後をまとめて消せる

削除系でまず便利なのは次の2つです。

  • Ctrl+U: カーソルより前を全部消す
  • Ctrl+K: カーソルより後を全部消す

例えば次のようなコマンドがあったとします。

kubectl logs -f my-app-pod-1234567890

カーソルが途中にあるとき、手前だけまとめて消したいなら Ctrl+U、後ろだけ消したいなら Ctrl+K が便利です。

Backspace を連打するよりかなり速いです。

特に Ctrl+U は、「この行をやっぱり全部打ち直したい」というときにも便利です。

Ctrl+W は1単語だけ消したいときにかなり使う

全部消すほどではないが、直前の単語だけ消したいことがあります。

そのときは Ctrl+W です。

例えば次のようなコマンドです。

grep -R "ERROR" /var/log/nginx

最後のパスだけ消して別の場所にしたいなら、Ctrl+W で単語単位に消せます。

厳密な単語の区切りは環境によって少し変わります。
ただ、直前のまとまりを消す操作として覚えるとかなり便利です。

これは地味ですが、かなり実用的です。

Ctrl+C は止めたいときにまず使う

これは初心者ほど早めに覚えた方がよい操作です。

Ctrl+C

実行中のコマンドを止めたいときや、入力中の行をやめたいときに使います。

例えば次のような場面です。

  • ping を止めたい
  • 長く動いているコマンドを中断したい
  • 打ちかけのコマンドを全部やめたい

何か変になったときに、まず Ctrl+C で止める、という感覚はかなり大事です。

Ctrl+L は clear より軽く使える

画面がごちゃごちゃしてきたら Ctrl+L が便利です。

これは clear コマンドを打つより軽いです。

  • 画面だけきれいにしたい
  • でも今の入力行はそのまま残したい

というときに向いています。

ログを見たりコマンドを何本も打ったあと、少し見やすくしたいときにかなり使います。

Ctrl+R は履歴検索で一番便利

Bash のキーボード操作で、一番「世界が変わる」感があるのは Ctrl+R かもしれません。

これは履歴検索です。

例えば前に打った kubectl logs をもう一度使いたいとき、Ctrl+R を押して kubectllogs の一部を打つと、履歴から候補が出ます。

毎回上矢印を何回も押すよりずっと速いです。

特に次のようなコマンドで便利です。

  • 長い docker compose コマンド
  • kubectl コマンド
  • grepfind のように少し長くなりがちなもの
  • たまにしか使わないが、毎回調べるほどではないもの

まずは「前に打ったコマンドを探すには Ctrl+R」と覚えるだけで十分です。

Tab 補完は思っているより重要

Tab 補完は地味ですが、かなり重要です。

例えば次のような場面です。

  • 長いファイル名を補完したい
  • ディレクトリ名を最後まで打ちたくない
  • コマンド名の候補を出したい

例えば次のように途中まで打って Tab を押します。

cd /var/lo

これで /var/log に補完されることがあります。

補完は単なる入力短縮ではありません。
打ち間違いを減らす効果も大きいです。

特にパス入力ではかなり効きます。

上矢印より Ctrl+R のほうが強い場面が多い

履歴を使うとき、最初は上矢印を使いがちです。

もちろんそれでもよいのですが、履歴が長くなると探すのが大変です。

例えば次のような違いがあります。

  • 直前の1〜2件をもう一度使うなら上矢印
  • 少し前の長いコマンドを探すなら Ctrl+R

この使い分けを知っているだけで、履歴操作がかなり楽になります。

history と履歴再実行も知っておくと便利

キーボード操作だけではありませんが、履歴まわりで次の形も便利です。

history

これでコマンド履歴の一覧を見られます。

履歴番号を使って再実行するなら次のような形です。

!123

直前のコマンドをもう一度実行するなら次です。

!!

これは便利ですが、何が再実行されるかを理解しないまま使うと危ないです。
特に rm や本番環境向けのコマンドを履歴再実行する場合は、実行前に必ず内容を確認した方が安全です。

そのため、最初は Ctrl+R を優先して、!!!123 は補助くらいでよいと思います。

まずは「移動」「削除」「検索」だけで十分

ショートカットは増やし始めるときりがありません。

ただ、最初に本当に効くのは次の3系統です。

  1. 移動
  2. 削除
  3. 履歴検索

つまり次です。

  • Ctrl+A
  • Ctrl+E
  • Ctrl+U
  • Ctrl+K
  • Ctrl+W
  • Ctrl+C
  • Ctrl+R

このあたりを覚えるだけで、かなり操作感が変わります。

Bash のキーボード操作は、コマンド知識とは別の基礎

ここは強調しておきたいです。

Linux コマンドをたくさん知っていても、入力操作が遅いと毎回少しずつ時間を失います。

逆に、Bash のキーボード操作を少し覚えるだけで、次のようなことが楽になります。

  • コマンドの打ち直しが減る
  • 長い入力の修正が速くなる
  • 履歴の再利用がしやすくなる
  • マウスや矢印キーへの依存が減る

つまり、これは便利テクニックというより、コマンドラインを使うための基礎に近いです。

よく使うものだけ覚えるならこのあたりで十分

まずは次のものだけでもかなり足ります。

Ctrl+A
Ctrl+E
Ctrl+U
Ctrl+K
Ctrl+W
Ctrl+C
Ctrl+L
Ctrl+R
Tab

これ以上を最初から増やす必要はありません。
むしろ、少ない数を毎日使えるようにする方が効果が大きいです。

まとめ

Bash のキーボード操作は、コマンドをたくさん覚える前でもかなり効きます。

  1. Ctrl+ACtrl+E で行頭、行末へすぐ移動する
  2. Ctrl+U Ctrl+K Ctrl+W でまとめて消す
  3. Ctrl+R で履歴検索する
  4. Tab で補完する
  5. Ctrl+L で画面を整える

こういう操作は、派手ではありません。
ただ、毎日使うからこそ、覚えるとかなり楽になります。

Linux や Bash に慣れるには、コマンドそのものだけでなく、入力を速く直す操作もあわせて覚えるとかなり楽になります。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?