Historyの行数とタイムフォーマット設定(LINUXで最初にやること1)

Linuxで、与えられたアカウントで最初にやること。Historyの設定変更。

自分のアカウントにだけ反映させる場合

~/.bash_profile

HISTFILESIZE=10000
HISTTIMEFORMAT='%F %T '
HISTCONTROL=ignoreboth
HISTIGNORE="ll:history*:pwd*"
umask 002

を記述する。

それぞれの行を解説しよう。

HISTFILESIZE=10000
デフォルトのhistory履歴が1000行なので、10,000行残すようにしている。

広告

HISTTIMEFORMAT=’%F %T ‘
history履歴に日付時刻表示を付与する。これがないと記録や調査の面でかなり困る。

HISTCONTROL=ignoreboth
スペースで始まる入力、重複した入力を無視する。それぞれ別で指定したりする場合は次の通り。

  • ignorespace 空白文字で始まる入力を無視
  • ignoredups 以前の履歴と一致する入力を無視
  • ignoreboth ignorespace と ignoredups の両方を無視
  • erasedups 現在の行と一致する履歴を保存前にすべて削除

正直、eracedupsはなんのために存在するのかわからない。過去に同じコマンド打ってたからって、履歴から消えたら困る。

HISTIGNORE=”ll:history*:pwd*”
特定のコマンドを無視するオプション。llは多用するし、そのときにファイル一覧を見たことを知っても仕方ないので。とか。
cdも多用するけど、これを無視してしまうとhisotry見たときにどこでコマンドを実行したのか追えなくなってしまう。

umask 002
グループに書き込み権限を付けるために。これがあるとデフォルトで作るファイルが664、ディレクトリが775になる。複数人で共用するサーバの場合に。

サーバのデフォルトにする場合

幸いにも、あなたがサーバ管理者の場合、自分で立ち上げる場合は、サーバデフォルトのHistoryを上記設定にしておこう。

/etc/profile

の46行目あたり、
HISTSIZE=1000
がある行を、同じく以下に差し替えよう。

HISTFILESIZE=10000
HISTTIMEFORMAT='%F %T '
HISTCONTROL=ignoreboth
HISTIGNORE="ll:history*:pwd*"
umask 002

About: dacelo


Leave a Reply

Your email address will not be published. Required fields are marked *