Bash履歴からコマンドが実行された時刻を確認する方法はありますか?注文は確認できますが、時間を取得する方法はありますか?
結論:Bash履歴の実行時間
押す Ctrl+Alt+T ターミナルを開くには、次のコマンドを実行します。
HISTTIMEFORMAT="%d/%m/%y %T "
または、現在のユーザーの変更を永続的にするには:
echo 'HISTTIMEFORMAT="%d/%m/%y %T "' >> ~/.bashrc
source ~/.bashrc
それから
history
詳細については、 man bash または LinuxのBashコマンドラインのA-Zインデックス を参照してください。
beforeHISTTIMEFORMAT
が設定された前に実行されたコマンドの場合、current時間はタイムスタンプとして保存されます。 HISTTIMEFORMAT
が設定された後に実行されるコマンドには、適切なタイムスタンプが保存されます。
ターミナルを開くCtrl+Alt+T 実行し、
HISTTIMEFORMAT="%d/%m/%y %T "
その後、
history
gedit ~/.bashrc
以下の行を.bashrcファイルに追加して保存する必要があります。
export HISTTIMEFORMAT="%d/%m/%y %T "
以下のコマンドを実行して.bashrcファイルをソースします。
source ~/.bashrc
その後、history
コマンドを実行します。
source: http://www.cyberciti.biz/faq/unix-linux-bash-history-display-date-time/
はい、できます:$HISTTIMEFORMAT
を設定すると、.bash-history
は適切にタイムスタンプされます。これは、既存の.bash-history
コンテンツには役立ちませんが、将来的には役立ちます。
次のログイン時に変更が表示されます。
echo 'HISTTIMEFORMAT="%d/%m/%y %T "' >> ~/.bashrc
私は非常に遅く答えていますが、すべてのユーザーのためにこれを行うには、.sh
に/etc/profile.d
ファイルを作成し、次の行を追加できます。
echo 'HISTTIMEFORMAT="%Y-%m-%d %T "' >> /etc/profile.d/existing-foo-file.sh
root
またはスーパーユーザーとしてログインしていない場合は、tee
コマンドを使用してこれを行う必要があります。
echo 'HISTTIMEFORMAT="%Y-%m-%d %T "' | Sudo tee /etc/profile.d/mytimestamp.sh
既存のファイルに追加する場合は、-a
フラグをtee
コマンドに渡します。
echo 'HISTTIMEFORMAT="%Y-%m-%d %T "' | Sudo tee -a /etc/profile.d/mytimestamp.sh
すべてのユーザーに対して履歴タイムスタンプを有効にするには、/etc/profile.dにスクリプトを作成します:
echo 'HISTTIMEFORMAT="%Y%m%d %T "' >> /etc/profile.d/timestamp.sh