Truy xuất lịch sử dòng lệnh Linux theo ngày


20

Tôi muốn xem những gì tôi đã gõ trên dòng lệnh bash của tôi vào một ngày nào đó một tuần trước. Có cách nào để lấy lại lịch sử dòng lệnh? Một cái gì đó như dưới đây, có lẽ?

> history --include-date | grep 2012-02-27`

không nếu nó chưa được kích hoạt: cyberciti.biz/faq/unix-linux-bash-history-display-date-time
RobotHumans

nếu bạn đang sử dụng zsh:history -E
Vahid

Câu trả lời:


32

Theo mặc định, Historyghi lại thời gian khi bạn chạy một lệnh, nhưng không hiển thị nó. Lý do cho điều này là khi bạn chạy Historylệnh, nó tìm kiếm một biến môi trường được gọi HISTTIMEFORMAT, nó cho nó biết cách định dạng thời gian. Nếu giá trị được đặt nullhoặc không được đặt, thì theo mặc định, nó không hiển thị bất kỳ lúc nào.

Một ví dụ với thời gian-

[qweet@superbox ~]$ export HISTTIMEFORMAT='%F %t '
[qweet@superbox ~]$ history
    1  2012-03-06        su -
    2  2012-03-06        jbach@mobiletribe.net
    3  2012-03-06        mysql
    4  2012-03-06        ll
    5  2012-03-06        cd /opt/
    6  2012-03-06        ll
    7  2012-03-06        exit
    8  2012-03-06        ll
    9  2012-03-06        ls -lsa
   10  2012-03-06        cd ../
   11  2012-03-06        ll
   12  2012-03-06        ll
....

Nhưng đó không phải là tất cả. Vì các giá trị HISTTIMEFORMATlấy strftime(mà bạn có thể tìm thấy ở đây btw), bạn có thể làm tất cả các loại phép thuật. Nhưng đối với những gì bạn muốn làm, các công việc sau đây.

[qweet@superbox ~]$ export HISTTIMEFORMAT='%F %T %t'
[qweet@superbox ~]$ history | grep -e "2012-03-06 14:48"
 1006  2012-03-06 14:48:05      export HISTTIMEFORMAT='%F %T %t'
 1007  2012-03-06 14:48:07      history
 ...

Ngoài ra, nếu bạn muốn HISTTIMEFORMAT của bạn tồn tại, hãy xem xét việc thêm nó vào bashrcnhư vậy;

echo 'HISTTIMEFORMAT="variables here"' >> ~/.bashrc

Bạn sẽ thấy những thay đổi khi bạn mở một tab mới trong thiết bị đầu cuối, hoặc đăng xuất và đăng nhập.

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.