web-dev-qa-db-ja.com

履歴から1行を削除する方法は?

私はMac OSXで作業しているので、bashを使用していると思います...?

時々、記憶に残したくないものを入力します。どうすれば削除できますか?

228
B Seven

予防策

履歴に保存せずにコマンドを実行する場合は、追加のスペースをコマンドに追加します

Prompt$ echo saved
Prompt$  echo not saved \
> #     ^ extra space

これが機能するには、ignorespaceignorebothまたはHISTCONTROLが必要です。たとえば、実行

HISTCONTROL=ignorespace

この設定を永続化するには、.bashrc

死後の浄化

コマンドをすでに実行していて、履歴から削除したい場合は、最初に

history

履歴にあるコマンドのリストを表示します。削除する番号(1234など)の横にある番号を見つけて実行します。

history -d 1234

さらに、削除する行がすでに$ HISTFILEに書き込まれている場合(通常、デフォルトでセッションを終了すると発生します)、$ HISTFILEに書き戻す必要があります。そうしないと、新しい行を開いたときにその行が再び表示されます。セッション:

history -w
390
jw013
  1. すべての履歴をクリアするには、次を使用します

    history -c
    
  2. 1行を削除するには、

    history -d linenumber
    
54
soumyaranjan

私はこれを~/.bashrc、コマンド$ forget履歴から前のコマンドを削除

function forget() {                                                              
   history -d $(expr $(history | tail -n 1 | grep -oP '^ \d+') - 1);              
}
9
Ryan Haining

~/.bash_historyのエントリはいつでも編集および削除できます。1つまたは複数のエントリを削除する場合に便利です。

5
Weslor

Bashセッション全体を忘れたい場合は、現在のbashプロセスをkillできます。変数$$現在のシェルのpidを保持すると、次のことができます。

kill -9 $$
5
Bruno Bronosky

簡単な手順:

  1. echo $HISTFILEを使用して、端末の履歴ファイルの場所を確認します
  2. テキストエディタでファイルを開きます
  3. そこで見つけたデリケートな行を削除します
  4. ファイルを保存します
  5. ターミナルを閉じて再度開きます
  6. [〜#〜]完了[〜#〜]:あなたの履歴はきれいです!ターミナルでhistoryコマンドを実行することでそれを検証できます
0
marcelosalloum

Ubuntuでは(確かに、他のLinuxディストリビューションでもMacOSでも同じように機能するでしょう)bash履歴ファイルは、任意のテキストエディターで簡単に編集できます。

$ nano ~/.bash_history

保存場所がわからない場合は、次のようにして見つけることができます。

$ echo $HISTFILE

または、もう少し一般的な方法で行うこともできます。

$ nano $HISTFILE
0
automatix

履歴をクリアした後、変更を書き込む必要があります。そして、履歴に履歴ワイプコマンドを含めたくない場合は、次のようにコマンドを実行する必要があります。

history -c && history -w && logout

幸運を。

0
user882786

履歴ファイルから1行を削除するには、-dオプションを使用します。たとえば、上記のシナリオのようにクリアテキストのパスワードを入力したコマンドをクリアする場合は、履歴ファイルで行番号を見つけてこのコマンドを実行します。

$ history -d 2038

Bash履歴からすべてのエントリを削除またはクリアするには、-cオプションを指定して以下のhistoryコマンドを使用します。

$ history -c

または、以下のコマンドを使用して、ファイル内で最後に実行されたすべてのコマンドの履歴を完全に削除できます。

$ cat /dev/null > ~/.bash_history

また、Bash 5では、範囲を削除することもできます

history -d 511-520

0
champion-runner

1- bash端子タイプ

history#これは、履歴.bash_historyファイル内のすべてのコマンドを行番号とともにリストします

例:

  ...
  987  cd
  988  ssh [email protected]
  990  exit
  991  cd

2-削除するCMD行番号を選択します

history -d 988

注:たとえば最後の3つのCMDを削除する場合は、下から3番目の行番号ex:988を選択し、CMD history -d 988を3回続けて繰り返します。

0
KhogaEslam