HISTTIMEFORMAT không hiển thị ngày giờ chính xác cho lịch sử


13

Sau khi xuất, HISTTIMEFORMAT='%F %T'tôi đã cố gắng truy vấnhistory

Nhưng kết quả cho thấy tất cả các lệnh được thực hiện trong cùng một ngày.

Làm thế nào tôi có thể kiểm tra ngày và thời gian thực hiện lệnh thực tế?


Điều đó giống như hỏi tại sao bạn không có tập tuần trước của lý thuyết Vụ nổ lớn về VCR mà bạn đã mua sáng nay ...
tink

3
@tink Tôi không đồng ý rằng điều đó là hiển nhiên ...
Bernhard

Câu trả lời:


18

Nếu bạn đặt HISTTIMEFORMATbash in, các mục nhập mới của bạn sẽ được lưu trong tệp lịch sử với dấu thời gian, các lệnh cũ hơn không có dấu thời gian (những lệnh trước khi bạn đặt HISTTIMEFORMATsẽ hiển thị một và cùng dấu thời gian (tôi giả sử là dấu thời gian từ mục đầu tiên được tìm thấy với dấu thời gian thực).

Vấn đề này sẽ tự giải quyết sau khi lịch sử đầy đủ của bạn đã được cập nhật trong một vài ngày.

Bạn có thể nhìn vào ~/.bash_historyđể xem dòng đầu tiên có dấu thời gian là gì. Đó là những dòng bắt đầu bằng một #số 10 chữ số (hiện tại).


1

Tôi nghĩ rằng đây là một tính năng. Khi bạn vừa thay đổi cài đặt này, bạn có thể thấy ~/.bash_historyrằng lệnh cũ không có dấu thời gian được lưu trữ. Vì vậy, đối với các lệnh này, nó sẽ chỉ giả sử thời gian hiện tại.

Cố gắng đưa exportlệnh vào ~/.bashrcvà thực hiện một vài lệnh. Bạn sẽ thấy, trong ~/.bash_historymột dấu thời gian bổ sung sẽ được lưu, sau đó có thể được hiển thị bởi history. Vì vậy, đối với các lệnh mới, nó sẽ hoạt động như mong đợi.

Do đó: Không tương thích ngược với các lệnh được thực thi trong một cửa sổ đầu cuối khác trong quá khứ.

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.