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 |