「history」コマンドの固定数を設定して、最初からすべてを表示するのではなく、100 などの特定の数の履歴項目のみを表示することは可能ですか?
答え1
history n
履歴の行のみを出力しますn
。例:
$ history 4
2000 type history
2001 help
2002 help history
2003 history 4
$
そのため、次のエイリアスを作成できます.bashrc
:
alias h="history 100"
からhelp history
:
history: history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg [arg...]
Display or manipulate the history list.
Display the history list with line numbers, prefixing each modified
entry with a `*'. An argument of N lists only the last N entries.
これは、大規模な履歴セット、おそらく無制限の1。 とHISTCONTROL=ignoreboth:erasedups
そして逆インクリメンタル検索実際にコマンドを実行するのは特別な機会ですhistory
。
答え2
設定HISTFILESIZE
によりHISTSIZE
履歴コマンドのサイズを制限できます。
たとえばHISTFILESIZE=100
、 およびHISTSIZE=100
。これにより、履歴ファイルに保存される行数が 100 行に制限され、HISTFILE
現在のセッション コマンドがメモリに 100 行保存されます。
シェルが起動すると、履歴は変数で指定されたファイルHISTFILE
(デフォルトは ~/.bash_history) から初期化されます。 の値で指定されたファイルはHISTFILE
、必要に応じて、変数の値で指定された行数以下になるように切り捨てられますHISTFILESIZE
。
ファイルにHISTFILESIZE=100
と を追加できます。 100 を必要な数字に変更します。HISTSIZE=100
~/.bashrc
説明
HISTFILESIZE=10
そしてHISTSIZE=10
- セッションを開始します。
- HISTFILE (bash コマンド履歴を保存するファイル) は、HISTFILESIZE=10 行を含むように切り捨てられます。
- 50行書きます。
- 50 個のコマンドの最後には、41 から 50 までのコマンドのみが履歴リストに残ります。履歴リストのサイズは HISTSIZE=10 によって決まります。
- セッションを終了します。
- が有効になっていないと仮定すると
histappend
、コマンド 41 から 50 が HISTFILE に保存され、これには最初に保持されていた 10 個のコマンドと新たに書き込まれた 10 個のコマンドが含まれます。 - HISTFILE は、HISTFILESIZE=10 行を含むように切り捨てられます。
- が有効になっていないと仮定すると
- 履歴には、終了したセッションで最後に入力した 10 個のコマンドが保存されています。
- 新しいセッションを開始すると、HISTFILE が HISTFILESIZE=10 の状態で 1 からやり直します。
HISTFILESIZE=10
そしてHISTSIZE=5
- セッションを開始します。
- HISTFILE (bash コマンド履歴を保存するファイル) は、最大で HISTFILESIZE=10 行になるように切り捨てられます。
- 50行書きます。
- 50 個のコマンドの最後には、46 から 50 までのコマンドのみが履歴リストに残ります。履歴リストのサイズは HISTSIZE=5 によって決まります。
- セッションを終了します。
- が有効になっていないと仮定すると
histappend
、コマンド 46 から 50 が HISTFILE に保存され、これには最初に保持されていた 10 個のコマンドと、新たに書き込まれた 5 個のコマンドが含まれます。 - HISTFILE は、HISTFILESIZE=10 行を含むように切り捨てられます。
- が有効になっていないと仮定すると
- 履歴には 10 個のコマンドがあります。5 個は以前のセッションからのもので、最後の 5 個は終了したセッションで入力したものです。
- 新しいセッションを開始すると、HISTFILE が HISTFILESIZE=10 の状態で 1 からやり直します。
HISTFILESIZE=5
そしてHISTSIZE=10
- セッションを開始します。
- HISTFILE (bash コマンド履歴を保存するファイル) は、最大で HISTFILESIZE=5 行になるように切り捨てられます。
- 50行書きます。
- 50 個のコマンドの最後には、41 から 50 までのコマンドのみが履歴リストに残ります。履歴リストのサイズは HISTSIZE=10 によって決まります。
- セッションを終了します。
- が有効になっていないと仮定すると
histappend
、コマンド 41 から 50 が HISTFILE に保存され、これには最初に保持されていた 5 つのコマンドと、新たに書き込まれた 10 個のコマンドが含まれます。 - HISTFILE は、HISTFILESIZE=5 行を含むように切り捨てられます。
- が有効になっていないと仮定すると
- 履歴には、終了したセッションで最後に入力した 5 つのコマンドが保存されています。
- 新しいセッションを開始すると、HISTFILE が HISTFILESIZE=5 の状態で手順 1 からやり直します。