linuxは、windowsよりターミナルからのコマンド投入が多いです。
長いコマンド名やパラメータを何回も打つのは大変な作業となります。
コマンド投入について、効率よく使う設定と手順を示します。
UNIXからやっていたことなので参考にしてみてください。

history

コマンド名の短縮化

historyのコマンド名は、7文字と長いです。
毎回投入するのは大変なので、1文字に短縮しましょう。
手順を以下に示します。
①homeディレクトリーに「.bash_aliases」を作成
以下の行を追加します。
alias h='history'
②aliasの有効化
ターミナルから以下のコマンドを投入します。
>source ~/.bashrc
③historyコマンドの確認
ターミナルから「h」を投入すれば、historyが起動できます。
投入後の実行結果を以下に示します。

p

コマンド履歴の再実行

まず、先程のhistoryコマンドの結果を見てください。
左側にコマンド番号が表示されているのがわかります。
ターミナル上に見える「569」番は、以下となります。
569  cd /media/
例えば、569のコマンドを再実行するには、「!569」を投入します。
以下に実行結果を示します。

recmd

コマンド履歴の検索

コマンド履歴の検索は、記憶の状況により使い分けます。

以下の4パターンで説明していきます。
①コマンド名と投入時期の記憶がない
②投入時期の記憶があり、かなり前の場合
③コマンド名の記憶はある(手順A)
④コマンド名の記憶はある(手順B)

①コマンド名と投入時期の記憶がない
こんな場合は、pipeとlessを組み合わせて、履歴の先頭から探しましょう。
以下のコマンドを投入します。
>h | less
実行結果を以下に示します。

h-pipe-less

あとは、スペースを叩けばページ単位にスクロールします。
②投入時期の記憶があり、かなり前の場合
先程の①と同じ手順です。
③投入時期の記憶があり、現在に近い場合
はじめは、①と同じ手順です。
また、同じコマンドを投入します。
>h | less
実行結果を以下に示します。

h-pipe-less

ここで、現在に近いコマンドを探すので最新の履歴を表示します。
「Shift + g」を投入すれば、コマンド履歴の最後尾に移動できます。
実行結果を以下に示します。

h-pipe-less-G

この状態で「b」を投入すれば、ページ単位にバックスクロールします。
コマンドを探しましょう。
③コマンド名の記憶はある(手順A)
では、コマンド名を履歴から検索しましょう。
はじめは、①と同じ手順です。
また、同じコマンドを投入します。
>h | less
実行結果を以下に示します。

h-pipe-less

ここで、「/ + 探すコマンド名」を投入します。
例として、探すコマンド名は「update-grub」とします。
投入イメージを以下に示します。

slash-cmd

次に「Enter」を押せば、検索が実行されます。
実行結果を以下に示します。

slash-search

以降、「/ + Enter」のみの投入で順次検索できます。
④コマンド名の記憶はある(手順B)
ここでは、grep、pipe、lessを組み合わせて、コマンド履歴から該当コマンドを抜き出します。
例として、探すコマンド名は「update-grub」とします。
投入イメージを以下に示します。
>h | grep update-grub | less
実行結果を以下に示します。

h-pipe-grep-cmd-pipe-less

再実行したいコマンドがあれば、コマンド履歴に表示される番号を覚えておきます。
「q」を投入すれば、検索実行状態を解除できます。
次に先程説明した通りに「!コマンド番号」を投入すれば、再実行できます。

historyに慣れよう

  • linuxのターミナルで投入したコマンドは、履歴が残ります。
  • コマンド履歴から再実行することができます。
  • コマンド履歴を検索することもできます。
  • historyになれると作業効率UP間違い無し