GNU/Linux >> Belajar Linux >  >> Linux

Bash History:Cara melihat stempel waktu (tanggal / waktu) ketika setiap perintah dieksekusi

Di sebelah setiap perintah Anda. tambahkan stempel waktu (tanggal dan waktu) cerita Bash? Ini dapat dilakukan dengan HISTTIMEFORMAT Variabel bash.

Bash menyimpan riwayat perintah yang Anda ketik, yang dapat Anda akses dengan mengetuk history . Secara default, Anda akan melihat nomor yang diikuti dengan perintah yang Anda gunakan baru-baru ini:

$ history
1889  cd Cloaker/
1890  ./Cloaker.run
1891  sudo apt upgrade
1892  sudo apt autoremove
1893  history

Dengan bantuan HISTTIMEFORMAT Anda dapat menggunakan variabel bash untuk menampilkan tanggal dan waktu setiap perintah dijalankan. Ini dapat berguna dalam berbagai kesempatan, seperti mengingat perintah apa yang Anda lakukan dalam jangka waktu tertentu, membatalkan berbagai operasi, dan sebagainya.

Perlu dicatat bahwa ketika variabel ini disetel, stempel waktu ditulis ke file riwayat sehingga disimpan di seluruh sesi shell. Jadi saat pertama kali Anda mengaktifkannya, Anda tidak akan melihat tanggal dan waktu yang benar untuk perintah yang Anda gunakan sebelumnya.

Peningkatan riwayat bash lain yang mungkin Anda sukai:HSTR memudahkan pencarian bash Anda atau riwayat perintah zsh

Setel riwayat bash untuk menampilkan stempel waktu untuk riwayat perintah Anda (hanya untuk sesi terminal saat ini) dengan perintah ini:

HISTTIMEFORMAT="%F %T "

Perintah ini hanya berlaku untuk sesi ini, sehingga Anda dapat melihat tampilannya dan secara opsional mengonfigurasi format tanggal dan waktu (lihat di bawah).

Masukkan sekarang history dan Anda akan melihat stempel waktu untuk perintah riwayat bash Anda:

$ history
2027  2019-07-12 13:02:31 sudo apt update
2028  2019-07-12 13:02:33 history
2029  2019-07-12 13:03:35 HISTTIMEFORMAT="%F %T "
2029  2019-07-12 13:03:38 man date
2030  2019-07-12 13:03:55 history


Kami mengekspor HISTTIMEFORMAT dengan stempel waktu berikut:

  • %F :tanggal penuh (tahun-bulan-tanggal)
  • %T :Waktu (jam:menit:detik)


Ada spasi setelahnya %T dan sebelum " sehingga ada ruang dalam riwayat bash Anda antara menjalankan perintah dan perintah itu sendiri. Tanpa dia, keduanya tidak akan terpisah.

Anda dapat menyesuaikan tanggal dan waktu. Gunakan HISTTIMEFORMAT="%Y/%m/%d %T " untuk menampilkan tanggal sebagai tahun (4 digit) -bulan-hari dan waktu sebagai jam (00..24):menit:detik. Tampilkan tanggal sebagai bulan/hari/tahun (2-digit) dengan %m/%d/%y . Apakah Anda ingin menampilkan waktu sebagai 00..12 diikuti oleh AM / PM, bukan 00..24? Gunakan %I:%M:%S %p sebagai format waktu. Lihat perintah Date bagaimana memformat tanggal dan waktu lebih lanjut.

Sekarang saatnya mengekspor HISTTIMEFORMAT dari ~/.bashrc . Anda File untuk mengaturnya sebagai default untuk semua sesi terminal baru untuk pengguna Anda . Anda bisa. untuk membuka ~/.bashrc File dengan editor teks dan rekatkan export HISTTIMEFORMAT="%F %T " (atau format tanggal dan waktu lainnya) di bawah, lalu simpan file atau jalankan perintah ini untuk mengonversinya menjadi file . untuk menulis ~/.bashrc :

echo 'export HISTTIMEFORMAT="%F %T "' >> ~/.bashrc

Jalankan perintah ini hanya sekali karena menambahkan export HISTTIMEFORMAT="%F %T " ke ~/.bashrc setiap kali Anda menjalankannya.

Setelah itu, yang harus Anda lakukan adalah melakukan ~/.bashrc File sehingga sesi terminal saat ini menggunakan pengaturan baru (atau Anda dapat membuka terminal baru dan secara otomatis akan mengambil yang baru HISTTIMEFORMAT pengaturan):

source ~/.bashrc

Ingat, pertama kali Anda mengaktifkan cap waktu pada riwayat bash Anda, Anda tidak akan melihat tanggal / waktu untuk perintah yang Anda gunakan sebelumnya. Hanya perintah yang berjalan setelah Anda mengaktifkan stempel waktu untuk riwayat bash Anda yang akan menampilkan tanggal dan waktu di awal baris.

Saya rasa Anda juga akan menyukai:z.lua – Cara Lebih Cepat Mengganti Direktori (perintah cd yang mempelajarinya saat Anda menggunakannya)


Linux
  1. Trik Baris Perintah:Cara Mengidentifikasi Tanggal dan Waktu Eksekusi Perintah Unix

  2. CentOS / RHEL :Cara melihat perintah yang dijalankan dalam output perintah riwayat yum

  3. CentOS / RHEL :Cara mendapatkan tanggal dan waktu perintah yang dieksekusi di output perintah history

  1. Bagaimana cara mendapatkan tanggal/waktu pembuatan file di Bash/Debian?

  2. Bagaimana cara melihat riwayat perintah pengguna lain di Linux?

  3. Bagaimana cara menyimpan + menutup file saat mengedit di bash?

  1. Cara Menghapus Riwayat Baris Perintah BASH di Linux

  2. Cara Menghapus Riwayat Bash di Linux

  3. Bagaimana cara menambahkan stempel waktu ke log skrip bash?