web-dev-qa-db-ja.com

bash履歴でタイムスタンプを表示する方法は?

Bash履歴からコマンドが実行された時刻を確認する方法はありますか?注文は確認できますが、時間を取得する方法はありますか?

結論:Bash履歴の実行時間

250
rɑːdʒɑ

押す 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が設定された後に実行されるコマンドには、適切なタイムスタンプが保存されます。

310
Mitch

ターミナルを開くCtrl+Alt+T 実行し、

HISTTIMEFORMAT="%d/%m/%y %T "

その後、

history

変更を永続的にするには、次の手順に従います。

gedit ~/.bashrc

以下の行を.bashrcファイルに追加して保存する必要があります。

export HISTTIMEFORMAT="%d/%m/%y %T "

以下のコマンドを実行して.bashrcファイルをソースします。

source ~/.bashrc

その後、historyコマンドを実行します。

enter image description here

sourcehttp://www.cyberciti.biz/faq/unix-linux-bash-history-display-date-time/

71
Avinash Raj

はい、できます:$HISTTIMEFORMATを設定すると、.bash-historyは適切にタイムスタンプされます。これは、既存の.bash-historyコンテンツには役立ちませんが、将来的には役立ちます。

18

次のログイン時に変更が表示されます。

echo 'HISTTIMEFORMAT="%d/%m/%y %T "' >> ~/.bashrc
1
DimiDak

私は非常に遅く答えていますが、すべてのユーザーのためにこれを行うには、.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

enter image description here

0

すべてのユーザーに対して履歴タイムスタンプを有効にするには、/etc/profile.dにスクリプトを作成します:

echo 'HISTTIMEFORMAT="%Y%m%d %T "' >> /etc/profile.d/timestamp.sh
0
iii