Windows system >> Windowsの知識 >  >> Linuxシステムチュートリアル >> Linuxチュートリアル >> Linuxオペレーティングシステムの履歴コマンドのフルコントロール

Linuxオペレーティングシステムの履歴コマンドのフルコントロール

  

$ history ... 62 rm 092210.sql 63 mysqldump 64 mysqldump -u root -p dev_gamenomad_com> 092210.sql 65その他092210.sql 66 rm 092210.sql ... 9991 Mkdir chapter05 9992 cd chapter05 9993 dir 9994 npm install websocket-server 9995ノードhello.js 9996 exit 9997 history

各コマンドに関連付けられたシーケンス番号は、感嘆符の直後に注文を入力することを可能にし、重要な目的を果たします。次のように、関連するコマンドを再実行します。

$!10000 sudo /etc/init.d/apache2 start * Webサーバーapache2の起動

しかし、これだけではありません。 Linuxのhistoryコマンドはもっと多くのことができるので、この記事で後述します。

履歴の拡張をマスターする

上矢印キーを押すと、以前に実行したコマンドが表示され、Enterキーを押すとコマンドが再度実行されます。しかし、あなたはより速い履歴拡張を含むかもしれない別のオプションを使うこともできます:

$ !!

同じ2つか3つのコマンドの異なる順列を繰り返すなら、負の変位インデックスを識別することによって、前のコマンドの発生時に現れるコマンドを実行することを選択します。たとえば、前のコマンドの前のコマンドを実行する(2つのコマンドを返す)には、次のシーケンスを使用します。

$!-2

前のコマンドを実行するもう1つの方法は感嘆符とその後に続くコマンドのシリアル番号の始まり。文字オブジェクトと一致する最初のコマンドが実行されます。たとえば、最後の3つのコマンドが次のようになっているとします。

$ history ... 9876 build-book /home /wjgilmore /easy_php 9877 mkdir chapter05 9878 cd chapter05 9879 touch chapter05.md

次のコマンドを実行して、スクリプトスクリプトを再度実行します。

$!b

新しいディレクトリを作成し、2段階の手順でナビゲーションして確認し、履歴の拡張子を短くします。この場合、私は/home /wjgilmore /booksにeasy_bashという新しいディレクトリーを作成しました。ディレクトリを確認するには、!$を使用して最後の'文字を取得します。

$ mkdir /home /wjgilmore /books /easy_bash $ cd!$

コマンド履歴の検索

コマンド履歴をめくることができます(またはgrepコマンドを使用することもできます)が、Ctrl + R Open Selectで検索した後にコマンドの一部を呼び出すこともできます。 >

(reverse-i-search) `':

コマンドの断片を入力すると、最も一貫性のあるものを反映してコマンドラインがリアルタイムで更新されます。 apaと入力すると、次のようなコマンドが表示されます。

(reverse-i-search) `apa ':sudo /etc/init.d/apache2 start

Command、Enterを押して実行するか、上矢印を押して変更し、再実行します。

履歴の動作を調整する

コマンド履歴の動作を制御するために、さまざまな設定変更を行うことができます。たとえば、Bashシェルによって設定されるデフォルトの履歴サイズは500レコードであり、この制限はコマンドラインの小さな対話でもすぐに達成されます。 Bash設定ファイル(ホームディレクトリにある.bashrc)にあるHISTSIZE変数を設定することで制限を増やすことができます。

HISTSIZE = 10000

.bashrcにはHISTCONTROLという名前の履歴関連の変数もあります。この変数は、履歴ファイル(ホームディレクトリの.bash_historyにあります)に何を保存するかを指定するのに役立ちます。たとえば、tailを実行して数分後に、最新のログファイルの添付ファイルを確認しながらtailコマンドを繰り返すことができます。 HISTCONTROL変数が重複行を無視するようにするためにignoredupsを設定して、履歴ファイルを繰り返してクラスタ化するのは現実的ではありません。

HISTCONTROL = ignoredups

疑わしいユーティリティのもう1つのHISTCONTROL設定は、スペースを無視することです。このHISTCONTROL設定の結果、スペースで始まるすべての実行コマンドが履歴ファイルから削除されます。これは各コマンドを追跡しないためには逆効果に思えるかもしれませんが、ignoredupsに加えてこの関数を実装したい場合は、両方を設定することができます。
話すべき1つの機能はコマンド置換です。仮想ホストプロファイルテンプレートに基づいて仮想ホストのグループをすばやく設定するとします。以下に示すように、これらのコマンドシーケンスは非常に長くなることがあります。
Available /forum.example.com $ cp vhost.template /etc/apache2/sites-available/staging.example.com

通常、このコマンドリストの実行方法は、最初に入力して実行し、次に上にスクロールします末尾のフラグメント(dev.example.com)を削除してから、次のフラグメント(forum.example.com)を入力して、再実行してください。または、コマンド置換を使用して、次のように別の関連文字列を1行の文字列にすばやく置き換えることができます。

$ !!:s /dev /forum

コマンドラインは、ポイントアンドクリックのインターフェイスでユーザーに多くの利点をもたらし、タスクの実行とオペレーティングシステムのナビゲーションを迅速かつエレガントに実行できるようにします。 Linuxの履歴コマンドを最大限に活用しても、これらの機能を追加して生産性を向上させることができます。

Linuxのhistoryコマンドの内容は完全に管理されていますので、Linuxのコマンド履歴を学習することで役立つことを願っています。あなたがそれを学んだかどうか知りませんか?
zh-CN"],null,[1],zh-TW"]]]

Copyright © Windowsの知識 All Rights Reserved