Làm cách nào tôi có thể thấy dấu thời gian khi lệnh được thực thi bằng lịch sử?


11

Tôi muốn kiểm tra thời gian / ngày một lệnh trong lịch sử bash được thực thi. Điều này có thể không?

Câu trả lời:


16

Điều đó là có thể. Các help historylệnh nói:

Nếu biến $ HISTTIMEFORMAT được đặt và không null, giá trị của nó được sử dụng làm chuỗi định dạng cho strftime (3) để in dấu thời gian được liên kết với mỗi mục lịch sử được hiển thị. Không có tem thời gian được in khác

Tôi đặt biến cho người dùng của mình như thế này (trên Ubuntu):

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

Nếu bạn muốn nó trên toàn cầu thì thêm dòng vào /etc/bash.bashrc:

echo 'export HISTTIMEFORMAT="%d.%m.%y %T "' >> /etc/bash.bashrc

Xem man strftimecho tất cả các tùy chọn định dạng có thể


Thông số historytrên hộp của tôi:

  ...
  132  05.05.11 10:45:11 ls
  133  05.05.11 10:45:14 cd ..
  134  05.05.11 10:45:17 history

PS Khi bạn đặt biến lần đầu tiên thì toàn bộ lịch sử sẽ lấy dấu thời gian của thời điểm biến được đặt.


Tôi sẽ thấy điều này thực sự hữu ích nhưng tôi chưa có thành công nào. Tôi đã thêm [export HISTIMEFORMAT = "% d.% M.% Y% T"] vào ~ / .bashrc của tôi nhưng tôi vẫn chưa nhận được dữ liệu thêm thời gian khi tôi làm history. (Trên Ubuntu 10.10 với giá trị của nó.)
boehj

@boehj: Bạn có thể cần phải đăng xuất và đăng nhập lại
Siim K

OK tôi sẽ cho đi và báo cáo lại. Chúc mừng. Nhưng bây giờ là giờ bia. :)
boehj

trông tuyệt vời nhưng thật không may, tôi thấy giống như @boehj trên Centos
Ngày Jonathan

1
@Jonathan và @boehj: tất nhiên, Tthiếu một tên biến :( Tôi đổ lỗi cho ngón tay của mình ... Tôi đã cập nhật câu trả lời, vui lòng thử ngay bây giờ
Siim K
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.