GNU/Linux >> Linux の 問題 >  >> Linux

これらのヒントを使用して、Bashの履歴をより便利にします

Bashを実行しているLinuxターミナルには、最近行ったことを追跡するために使用できる組み込みの履歴があります。 Bashセッションの履歴を表示するには、組み込みコマンドhistoryを使用します :

$ echo "foo"
foo
$ echo "bar"
bar
$ history
  1  echo "foo"
  2  echo "bar"
  3  history

history コマンドは、ほとんどのコマンドのようにファイルシステム上の実行可能ファイルではなく、Bashの機能です。これは、typeを使用して確認できます コマンド:

$ type history
history is a shell builtin
履歴管理

シェル履歴の行の上限は、HISTSIZEによって定義されます。 変数。この変数は.bashrcで設定できます ファイル。次の例では、履歴を3,000行に設定します。その後、リストの一番下に配置された最新のコマンド用のスペースを確保するために、最も古い行が削除されます。

export HISTSIZE=3000

他にも履歴関連の変数があります。 HISTCONTROL 変数は、保存される履歴を制御します。これを.bashrcに配置することで、Bashに空のスペースで始まるコマンドを強制的に除外させることができます。 ファイル:

export HISTCONTROL=$HISTCONTROL:ignorespace

これで、スペースで始まるコマンドを入力した場合、そのコマンドは履歴に記録されません:

$ echo "hello"
$     mysql -u bogus -h badpassword123 mydatabase
$ echo "world"
$ history
  1  echo "hello"
  2  echo "world"
  3  history

重複するエントリを回避することもできます:

export HISTCONTROL=$HISTCONTROL:ignoredups

ここで、2つのコマンドを次々に入力すると、履歴に表示されるのは1つだけです。

$ ls
$ ls
$ ls
$ history
  1  ls
  2  history

これらの両方の無視が好きな場合は、ignorebothを使用できます。 :

export HISTCONTROL=$HISTCONTROL:ignoreboth
履歴からコマンドを削除する

間違いを犯してシェルに機密性の高いものを入力したり、履歴をクリーンアップして、何かを正しく機能させるために行った手順をより正確に表現したい場合があります。 Bashの履歴からコマンドを削除する場合は、-dを使用します 削除するアイテムの行番号を指定したオプション:

$ echo "foo"
foo
$ echo "bar"
bar
$ history | tail
  535  echo "foo"
  536  echo "bar"
  537  history | tail
$ history -d 536
$ history | tail
  535  echo "foo"
  536  history | tail
  537  history -d 536
  538  history | tail

historyの追加を停止するには エントリには、spaceを配置できます ignorespaceがある限り、コマンドの前に HISTCONTROLで 環境変数:

$  history | tail
  535  echo "foo"
  536  echo "bar"
$  history -d 536
$  history | tail
  535  echo "foo"

-cを使用して、セッション履歴全体をクリアできます。 オプション:

$ history -c
$  history
$
歴史のレッスン

Bashの詳細

  • バッシュチートシート
  • Bashを使用したプログラミングの概要
  • Bashスクリプトに関するシステム管理者ガイド
  • 最新のBash記事

履歴を操作することは、特に目的を念頭に置いて履歴をキュレートする場合は、通常、思ったよりも危険性が低くなります。たとえば、複雑な問題を文書化する場合は、セッション履歴を使用してコマンドを記録するのが最適な場合がよくあります。これは、コマンドを履歴に挿入することで実行し、プロセスをテストするためです。多くの場合、何もせずに文書化すると、小さな手順を見落としたり、細かい部分を間違って書いたりすることになります。

必要に応じて履歴セッションを使用し、履歴に対する力を賢く行使してください。ハッピーヒストリーハッキング!


Linux
  1. LinuxでのBash履歴の解析

  2. LinuxでのBash履歴での単語修飾子の使用

  3. LinuxソフトウェアをRPMでパッケージ化するためのその他のヒント

  1. Bash履歴コマンドの使用方法

  2. Bash -cと位置パラメータ?

  3. 15 の便利な Bash シェル組み込みコマンド (例付き)

  1. コマンドラインでの毎日のBashのヒント

  2. 愚かなBashのトリック:履歴、引数の再利用、ファイルとディレクトリ、関数など

  3. この巧妙なトリックでduの出力をより便利にします