.bash_history
ファイルの内容を表示したいのですが、コマンドラインを使用してそこにアクセスする方法がわかりません。
/home/username/.bash_history
か?
.bash_history
端末が閉じられている場合にのみ追加されます。
.bash_history
ファイルの内容を表示したいのですが、コマンドラインを使用してそこにアクセスする方法がわかりません。
/home/username/.bash_history
か?
.bash_history
端末が閉じられている場合にのみ追加されます。
回答:
実際のファイル自体にアクセスしたい場合は、お好みのテキストエディターを使用してください(私は使用してemacs
いますがpluma
、gedit
またはvim
その他何でも使用できます)。
emacs ~/.bash_history
これが履歴ファイルのデフォルトの場所です。そこに何も見つからない場合は、履歴ファイルの名前を変更した可能性があります。これは$HISTFILE
変数に保存されるため、現在の値を確認するために出力します。
echo $HISTFILE
ファイルの代わりに、単に履歴を見たいだけなら、history
@ minerz029の提案通りに実行できます。コマンドオプションなしでは、ちょうどあなたの内容を印刷し、まだ行番号と、そのファイルに書き込まれていない現在のシェルで実行したコマンドが続いています。history
$HISTFILE
あなたが実際にした場合必要なの出力.bash_history
ファイルを置き換えるhistory
と
cat ~/.bash_history
、以下のコマンドをすべてインチ
実際に前に数字なしのコマンドが必要な場合は、次の代わりにこのコマンドを使用しますhistory
。
history | cut -d' ' -f 4-
それ以外の場合、違いはありません(別のシェルを使用している場合を除く)。
使用できます
history | tail -n 15
履歴の最後の15行のみを取得し、最後に実行されたものを最後に(下部に)印刷します。
または、
history | grep "apt-get" | tail -n 15
apt-get
最後に実行されたものが最後に印刷された(下部)に含まれる最後の15個のコマンドを取得します。apt-get
検索する任意のコマンド(またはコマンド引数)に置き換えることができます(正規表現でもかまいません)。
使用できます
history | tac | less
一番上にある最新のものから実行されるすべてのコマンドをスクロールします。を押しqて終了します。
同様に、使用
history | grep "apt-get" | tac | less
「」(引数を含む)が含まれるすべてのコマンドapt-get
を、一番上にある最新のものから順にスクロールします。を押しqて終了します。
minerz029の優れた答えに加えて。
繰り返しになりますが、「history」コマンドは、履歴とその隣の数字を出力します。
履歴の出力をgrep、lessなどにパイプできます。
履歴の出力には、出力の横の左側にも数字が表示されます。例えば
469 free
470 ps -fA
471 ps -fA | grep xend
472 free
473 sudo vi /etc/xen/xend-config.sxp
474 cat /etc/default/grub
この番号を使用すると、コマンドを再実行できます。
たとえば、473を再実行するには、端末に入力します
admin@xen1~$ !473
次に、Enterキーを押して、履歴出力の473の横にあるコマンドを繰り返します。
また、キーを入力してコマンド履歴を逆方向にインタラクティブに検索し、コマンドctrl + r
の内容の一部を入力し始めると、検索して入力します。見つかったら、Enter [tab]
キーを押して繰り返すか、キーを押してコマンドラインにコピーし、最初にコマンドを編集します。
もちろん、最後の2つのオプションはbashシェルで機能します。これらの機能が他のシェルで機能するかどうかはわかりません。ただし、bashはUbuntuのデフォルトシェルであるため、そこにあるはずです。
「提案ボックス」のような履歴https://github.com/dvorka/hstrを試してください-Bash履歴を読み取り、すばやくナビゲーションできるようにします。
history | less