Windows system >> Windowsの知識 >  >> Linuxシステムチュートリアル >> Linuxチュートリアル >> Linuxのhistory(history)コマンドの使用法の詳細

Linuxのhistory(history)コマンドの使用法の詳細

  

Linuxのコマンドラインを頻繁に使用する場合は、historyコマンドを使用すると効率が上がります。この記事では、例としてhistoryコマンドの15の使い方を紹介します。

1. HISTTIMEFORMATを使用したタイムスタンプの表示

コマンドラインからhistoryコマンドを実行すると、通常は実行されたコマンドのシーケンス番号とコマンド自体のみが表示されます。コマンド履歴のタイムスタンプを確認したい場合は、次のコマンドを実行します。

#export HISTTIMEFORMAT = '%F%T'#history |  More1 2008-08-05 19:02:39サービスネットワークの再起動2 2008-08-05 19:02:39 exit3 2008-08-05 19:02:39 id4 2008-08-05 19:02:39 cat /etc /Redhat-release

2. Ctrl + Rによる検索履歴

Ctrl + Rはよく使うショートカットです。このショートカットを使用すると、コマンドの履歴を検索できます。これは、コマンドを繰り返したい場合に便利です。コマンドが見つかったら、通常Enterキーを押して実行します。見つかったコマンドを調整してから実行したい場合は、左矢印キーまたは右矢印キーを押すことができます。

#[コマンドプロンプトからCtrl + Rを押すと、リバースi検索プロンプトが表示されます](reverse-i-search) `red‘: cat /etc /redhat-release [注意:コマンドが表示されたら履歴からコマンドを実行します。]#cat /etc /redhat-releaseFedoraリリース9(Sulfur)

3.直前のコマンドを素早く繰り返します。

4つのコマンドは繰り返し実行できます。1.上矢印キーを使用してEnterを押して実行します。 2. !!を押してEnterを押して実行します。 3.!-1を入力してEnterを押して実行します。 4. Ctrl + Pを押してからEnterを押して実行します。

4.コマンド履歴から指定したコマンドを実行します。

次の例で、4番目のコマンドを繰り返す場合は、!4を実行します。

#歴史|  More1サービスネットワーク再起動2 exit3 id4 cat /etc /redhat-release#!4cat /etc /redhat-releaseFedoraリリース9(Sulfur)

5.キーワードを指定して前のコマンドを実行します。

次の例では、!psと入力してEnterキーを押し、psで始まるコマンドを実行します。

#!psps aux |  Grep yproot 16947 0.0 0.1 36516 1264?Sl 13:10 0:00 ypbindroot 17503 0.0 0.0 4124 740 pts /0 S + 19:19 0:00 grep yp

6. historyコマンドで記録される行の総数を制御するには、HISTSIZEを使用します。

.bash_profileファイルに次の2行を追加してbashシェルに再度ログインすると、コマンド履歴のレコード数は450に変更されます。

#vi〜/.bash_profileHISTSIZE = 450HISTFILESIZE = 450 < Br>

7. HISTFILEを使用した履歴ファイル名の変更

デフォルトでは、コマンド履歴は〜/.bash_historyファイルに保存されています。

ファイルをダウンロードしてルートディレクトリに移動し、szコマンドを使用します。

#sz .bash_history

以下を.bash_profileファイルに追加し、使用されるbashシェルに再度ログインします。コマンド履歴を保存するためのCommandline_warrior:

#vi〜/.bash_profileHISTFILE = /root /.commandline_warrior

8. HISTCONTROLを使用して、コマンド履歴から重複したエントリを削除します。

次の例では、pwdコマンドが3回連続して実行されます。履歴を実行すると、3つの重複エントリが表示されます。これらの重複したエントリを削除するには、HISTCONTROLを無視を無視するように設定します。

#pwd#pwd#pwd#history |  Tail -444 pwd45 pwd46 pwd [上記のようにpwdを3回実行した後の履歴には、3つのpwdコマンドがあります。  テール-4#export HISTCONTROL = ignoredups#pwd#pwd#pwd#history |  テール-356 export HISTCONTROL = ignoredups57 pwd [上記のようにpwdを3回実行した後でも、履歴にはpwdコマンドが1つしかないことに注意してください。  Tail -4

9. HISTCONTROLを使用して、コマンド履歴全体の重複エントリをクリアします。

前の例のignoredupsは、連続した重複エントリのみを拒否できます。コマンド履歴全体の重複エントリを消去するには、HISTCONTROLをerasedupsに設定します。

#export HISTCONTROL = erasedups#pwd#service httpd stop#history |  テール-338 pwd39サービスhttpd stop40の歴史  テール-3#ls -ltr#service httpd stop#history |  テール-635エクスポートHISTCONTROL = erasedups36 pwd37履歴|  Tail -338 ls -ltr39 service httpd stop [以前のサービスhttpdはpwdが消去された後に停止することに注意してください]  Tail -6

10. HISTCONTROLを使用して履歴に特定のコマンドを記憶させないようにします。

HISTCONTROLをスペースを無視するように設定し、記憶したくないコマンドの前にスペースを入れます。

#export HISTCONTROL = ignorespace#ls -ltr#pwd#service httpd stop [履歴からこのコマンドを無視するために、サービスの先頭にはスペースがあることに注意してください]  尾-3 67 ls-ltr 68 pwd 69の歴史  Tail -3

11. -cオプションを使用してすべてのコマンド履歴を消去します。

すべてのコマンド履歴を消去したい場合は、次のコマンドを実行します。

#history -c

12.コマンドの置き換え

次の例では、!!:$は現在のコマンドの前のコマンドのパラメータを取得します。

#ls anaconda-ks.cfganaconda- Ks.cfg#vi !!:$ vi anaconda-ks.cfg

次の例では、!^前のコマンドの最初のパラメータを取得します。

#cp anaconda-ks.cfg Anaconda-ks.cfg.bakanaconda-ks.cfg#vi -5!^ vi anaconda-ks.cfg

13.以下の例の特定のコマンドに指定されたパラメーターを置き換えます。 !cp:2コマンド履歴からcpで始まるコマンドを検索し、2番目の引数を取得します。

#cp〜/longname.txt /really /a /very /long /path /long- Filename.txt#ls -l!cp:2ls -l /real /a /very /long /path /long-filename.txt

次の例では、!cp:$はcpコマンドの最後の項目を取得します。パラメータ:

#ls -l!cp:$ ls -l /really/a/very/long/path/long-filename.txt

14.履歴を無効にするにはHISTSIZEを使用します。

履歴を無効にしたい場合は、HISTすることができますSIZEは0に設定されます。

#export HISTSIZE = 0#history#[historyは何も表示しませんでした]

15. historyの特定のコマンドを無視するにはHISTIGNOREを使用してください。次の例では、pwd、ls、ls -ltrなどのコマンドは無視されます。 #履歴|  末尾-379エクスポート履歴=' pwd:ls:ls -ltr:< 80サービスhttpd stop81 history [履歴はpwd、lsおよびls -ltrを記録していないことに注意してください]

Copyright © Windowsの知識 All Rights Reserved