予防法

予防法

私はMac OSXで作業しているのでbashを使っているようですが…?

時には歴史に記憶されたくない内容を入力することもあります。どのように削除しますか?

答え1

予防法

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

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

これを行うには、ignorespaceまたはignorebothいずれかが必要ですHISTCONTROL。たとえば、次のようにします。

HISTCONTROL=ignorespace

この設定を持続させるには.bashrc

剖検後の整理

このコマンドをすでに実行しており、履歴から削除するには、まず次のようにします。

history

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

history -d 1234

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

history -w

答え2

  1. すべての履歴を消去するには、次を使用します。

    history -c
    
  2. 単一行を削除するには、次のようにします。

    history -d linenumber
    

答え3

MacのZsh

Zshを使用している場合、history -d linenumberコマンドライン履歴から特定の行番号を削除することはできません。ただし、履歴ファイルを編集することはできます。端末を閉じて再度開き、次のように履歴を編集します。

nano ~/.zsh_history

バラよりこれ詳細については。

答え4

いつでもアイテムを編集して削除できます。1~/.bash_historyつ以上のアイテムを削除したい場合に便利です。

関連情報