inux上のUNIXおよびコマンド履歴を提供し、コマンド履歴は実行前に照会することができ
、しかし、レコードはプロジェクトが時間が含まれていない
だけでコマンドを見ることができるが、しかし、の実装何時間かわからない
、次の方法は、履歴記録時間です。
ステップ1:システムサポートしているかどうかを確認してください
注意:この方法では、bashの-3.0以降でのみ有効です。
bashのバージョンを表示するには、RPM -qのbashを実行します
[root@localhost ~]# rpm -q bash
bash-4.2.46-20.el7_2.x86_64
私のシステムの可視bashのバージョンでは、問題はありません
ステップ2:ルートユーザを追加し、次のの/ etc / bashrcにファイルを編集します
HISTFILESIZE = 2000
HISTSIZE = 2000
HISTTIMEFORMAT = "%Y%M%D-%のH%のMの%のS:"
若しくは
HISTTIMEFORMAT = "%Yの%mの%D%T"
vim /etc/bashrc
HISTFILESIZE=5000
HISTSIZE=5000
HISTTIMEFORMAT="%Y%m%d-%H%M%S: "
力への実行
コマンド:
輸出HISTTIMEFORMAT
[root@localhost ~]# export HISTTIMEFORMAT
注:上記の方法はまた、次のステートメントを使用して行うことができます。
エコー "HISTFILESIZE = 5000" >>は/ etc / bashrcに&&エコー "HISTSIZE = 5000" >>は/ etc / bashrcに&&エコー 'HISTTIMEFORMAT = "%Y%mの%dの%T"' >>の/ etc / bashrcに&&エクスポートHISTTIMEFORMAT
[root@localhost ~]# echo "HISTFILESIZE=5000" >> /etc/bashrc && echo "HISTSIZE=5000" >> /etc/bashrc && echo 'HISTTIMEFORMAT="%Y%m%d %T "'>> /etc/bashrc && export HISTTIMEFORMAT
第三段階:再度ログインし、現在のシステムを終了し
保存して終了し、現在のシェルを閉じて、そして中に再ログインする
レコードが存在し、この時点で、〜/の.bash_historyファイルに、コマンド実行時間
このファイルは、catコマンドで表示されるが、今回は日付が表示されていないでしょう
が、UNIX時間に応じて表示するように:
[root@localhost ~]# cat ~/.bash_history
#1553077784
mkdir go
#1553077786
history
#1553080708
rpm -q bash
#1553080989
pwd
#1553081004
vim /etc/my.cnf
#1553081027
cat /etc/redhat-release
#1553081042
exit
この時間は1970年1月1日からのUNIX時間、一時的な起動と呼ばれ、現在は合計秒数後に
1969年以来、UNIXシステムを生まれているので、1970年1月1日が時間から生まれた最初のUNIXシステムのように定義される
のlinux類似のシステム、UNIXシステムのためと、このように完全に時間を記録します
たとえば、次のことができ、参照する方法、人間の時間、コマンド実行履歴を表示するには、時系列順に:
[root@localhost ~]# history |more
1 20190320 19:23:41 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
2 20190320 19:23:58 yum makecache
3 20190320 19:25:42 systemctl stop firewalld.service
4 20190320 19:28:01 setenforce 0
5 20190320 19:30:56 yum install -y yum-utils
6 20190320 19:31:05 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
--More--
これは、あなたがどのようなコマンド何をしたか、時間を確認することができます。
注意:
この方法はうまく新しいサーバーを設置する必要がある場合には、このパラメータを設定します。
あなたは既にこのパラメータ、時間表示ではありません前のコマンド履歴を追加する前に長い時間のために、サーバーを実行している場合。
パラメータのアタッチメント
HISTFILESIZE = 5000
HISTSIZE = 5000
== HISTFILESIZE ==コマンドの.bash_historyに格納されたレコードの合計数を定義し、ファイルの.bash_history HISTFILESIZE線の唯一最大のように理解することができます
== HISTSIZE ==履歴コマンド出力のレコード数、最後のHISTSIZEファイルの.bash_historyの即ち出力ラインを定義
注意:
千のLinuxのコマンド履歴、デフォルトの番号
はデフォルトhistoryコマンド1000を予約しました
我々は、これら2つの項目の設定は5000です変更したからといって、見て、この時間が有効である、注意を払って、あなたは、現在のシステムやbashを終了を有効にするには再度ログインする必要があります。
[root@localhost ~]# echo $HISTFILESIZE
5000
[root@localhost ~]# echo $HISTSIZE
5000
唯一の安全のために、我々は200を維持する必要がある場合は、どのようにそれを行うには?= 200 200 HISTSIZEは、この変更はお友達になりましたが、再起動後、サーバー、および復元:私たちは、仮予約の最大数を変更することができます。
あなたは200のままにしたい場合は、以下のように、我々は、/ etc / profileを、彼の環境変数を変更する必要があります。
[root@localhost ~]# vim /etc/profile
HISTSIZE=5000
source /etc/profile
上記の方法に加えて、あなたは直接、SEDを変更するために使用することができます。次のようにコマンドは次のとおりです。
[root@localhost ~]# sed -i 's/^HISTSIZE=1000/HISTSIZE=5000/' /etc/profile
[root@localhost ~]# source /etc/profile
サーバーを再起動してもそうした後、歴史のコマンドを保持する歴史のピースの数は、次の修正HISTSIZE変数まで、まだ5000です。
注意してください!!!
アリ部門内のクラウドサーバーは、/ etc / bashrcにファイルは、/ etc / profileファイルを変更するには、この時点で使用方法を有効にならない可能性があります変更します。
[root@localhost ~]# vim /etc/profile
export HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S "
export HISTSIZE=5000
[root@localhost ~]#source /etc/profile
パラメータ:
輸出HISTTIMEFORMAT = "%Y-%M-%D%H:%M:%S"
輸出HISTSIZE = 5000