3章コマンドの再実行

たった今、「1.3 重複ファイルの検出」で見たような、複雑なパイプラインを含んだ長いコマンドを実行したばかりだと仮定しましょう。

$ md5sum *.jpg | cut -c1-32 | sort | uniq -c | sort -nr 

これをもう一度実行したいとしたら、どうしますか? このコマンドを再入力する必要はありません! 代わりに、履歴をさかのぼり、コマンドを再実行するようにシェルに要求することができます。シェルは舞台裏で、ユーザーが実行したコマンドを記録しており、少しのキーストロークだけで、それらを簡単に呼び出して再実行できるようにしています。シェルのこの機能は、コマンド履歴(command history)と呼ばれます。熟練したLinuxユーザーはコマンド履歴を大いに活用して、作業効率を高め、時間の無駄を省いています。

また、前のコマンドを実行する前に、間違って「jpg」を「jg」と入力してしまったと仮定しましょう。

$ md5sum *.jg | cut -c1-32 | sort | uniq -c | sort -nr 

間違いを修正するために、Backspaceキーを何十回も押して、すべて再入力するようなことはやめてください。代わりに、その場所でコマンドを変更します。シェルは、テキストエディターと同じように、タイプミスを修正し、さまざまな変更を行うためのコマンドライン編集(command-line editing)をサポートしています。

この章では、コマンド履歴とコマンドライン編集を活用して、入力の手間と時間を節約する方法を紹介します。例によって、包括的な説明は行いません——シェルのこれらの機能の中で最も実用的で役に立つ部分に焦点を合わせます( ...

Get Efficient Linuxコマンドライン ―開発と自分に磨きをかけるLinuxのテクノロジー now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.