回答:
これは自動的に行われます。Bashはコマンドをに保存します~/.bash_history。履歴を見たい場合は、次のいずれかを使用してこのファイルの出力を印刷します。
cat ~/.bash_history
less ~/.bash_history
...any other pager or output command...
または、bashの組み込みコマンドを使用できます。
history
履歴を消去するには、ファイルを削除して一時履歴を消去します。
rm ~/.bash_history && history -c
履歴サイズのデフォルトは500コマンドです。ただし、~/.bashrcファイルに行を追加してHISTSIZE変数を設定することにより、これを増やすことができます。
HISTSIZE=<number of entries, -1 for unlimited>
これはすぐには有効になりませんが、新しく開始されたセッションにのみ有効です。これを適用するには、.bashrcファイルを再ソースします。
. ~/.bashrc
またはHISTSIZE=...現在のセッションで実行します。
history端末で入力して、以前に実行したすべてのコマンドを表示できます。
出力をいくつかの行に切り捨てることができます(5は行数です)。
history 5
文字列を含むコマンドのみを表示したい場合(つまりmv)、これを行うことができます:
history | grep mv
コマンドの!後にエントリ番号を入力すると、コマンドを呼び出すことができます。
次のような歴史があるとしましょう。
1 ls -la
2 mkdir foo
3 mv bar.txt foo
mkdir foo、と入力できます!2。!-1またはを使用できます!!!-2ルート権限が必要なために失敗するコマンドを実行する場合(つまり、touch /etc/foo)、sudo !!最後のコマンドをルートとして実行するために使用できます。
!manすると、次で始まる最後のコマンドが実行されますman!?man?すると、最後に含まれるコマンドが実行されますman(必ずしもbegin行ではありません)コマンドにタイプミスがある場合は、この方法で修正できます。私が入力cat .bash_hiするだけで.bash_hi、.bash_history私が入力するだけで置き換えるとしましょう^hi^history^。
ソース: https : //www.digitalocean.com/community/tutorials/how-to-use-bash-history-commands-and-expansions-on-a-linux-vps
historyUbuntu 16で私のために働いています。ありがとう、そして受け入れられるべきです!
最近のコマンドも必要なことがよくあります。私の開発ノートや、これらのようなstackexchangeサイトに投稿するには...これは非常に有用であることが証明されており、無関係な行番号を削除します。
history | cut -c 8- | tail
または、エイリアスとして気に入った場合は、行番号を削除し、すぐにインデントします(コード引用マークダウンの必要に応じて)
alias lastones="history | tail | sed -e 's/^ [0-9]\{1,5\} / /gi'"
fc:askubuntu.com/a/839642/158442
https://github.com/dvorka/hstrを試してみてください。これにより、Bash履歴の簡単な閲覧、ナビゲーション、および「提案ボックススタイル」フィルタリングが可能になります。
これは、簡単にすることができバインドにCtrl-r及び/またはCtrl-s