Câu hỏi Làm thế nào để xem tem thời gian trong lịch sử bash?


Có cách nào tôi có thể nhìn thấy tại thời điểm các lệnh được thực hiện từ lịch sử bash? Chúng ta có thể thấy thứ tự nhưng liệu có cách nào để tôi có thể nhận được thời gian không?

Bottom-Line: Thời gian thực hiện trong lịch sử Bash


180
2017-12-15 11:58


gốc


Tôi ngạc nhiên khi thấy tài liệu này kém đến mức nào cả trên Linux và BSD trong trang manpages. - Sridhar-Sarnobat
Kiểm tra blog này - sanctum.geek.nz/arabesque/better-bash-history . - dog0


Các câu trả lời:


nhấn Ctrl+Alt+T để mở Terminal, sau đó chạy lệnh dưới đây:

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

Hoặc, để thực hiện thay đổi vĩnh viễn cho người dùng hiện tại:

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

Sau đó

history

Để biết thêm thông tin, xem người đàn ông bash hoặc là Chỉ mục A-Z của dòng lệnh Bash cho Linux.

Đối với các lệnh được chạy trước  HISTTIMEFORMAT đã được thiết lập, hiện hành thời gian sẽ được lưu dưới dạng dấu thời gian. Lệnh chạy sau HISTTIMEFORMAT đã được đặt sẽ có dấu thời gian thích hợp được lưu.


231
2017-12-15 12:03



Tại sao tuyên bố nó với export trong .bash_profile? Nó là một biến chỉ đọc bởi bash, không phải bằng các lệnh được khởi chạy từ nó, vì vậy nó không được xuất khẩu. - Alvaro Gutierrez Perez
Lưu ý rằng điều này sẽ chỉ ghi lại dấu thời gian cho Mới mục lịch sử, sau HISTTIMEFORMAT được đặt cho các phiên, tức là bạn không thể sử dụng tính năng này một cách truy hồi. Một số câu trả lời ở đây cho ấn tượng lệnh lịch sử ngay lập tức hiển thị các mục nhập thời gian - Louis Maddox
@Louis - Thực ra điều này đã giúp tôi hồi sinh cho tôi?!?! - stephenmm
@Jamil: đối với những người theo tiêu chuẩn ISO, đó là "% y-% m-% d" cho phần ngày;) - Gauthier
@Gauthier - thực sự, chỉ cần sử dụng% F cho ngày ISO ;-) man7.org/linux/man-pages/man3/strftime.3.html - brianmearns


Mở thiết bị đầu cuốiCtrl+Alt+T và chạy,

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

sau đó,

history

Để thực hiện thay đổi vĩnh viễn, hãy làm theo các bước dưới đây,

gedit ~/.bashrc

bạn cần phải thêm dòng dưới đây vào tệp .bashrc và sau đó lưu nó,

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

chạy lệnh dưới đây để tệp .bashrc nguồn,

source ~/.bashrc

Sau khi chạy history chỉ huy.

enter image description here

nguồn:http://www.cyberciti.biz/faq/unix-linux-bash-history-display-date-time/


59
2017-12-15 12:02



Cảm ơn bạn đã trả lời, \ nó sẽ là thay đổi vĩnh viễn? - Ten-Coin
Hey, tôi đang làm điều này trong OS X và Windows (thông qua MINGW), và tôi đang thêm nó vào .bash_profile, sự khác biệt giữa profile và rc là gì? - LasagnaAndroid


Có, bạn có thể: nếu bạn đặt $HISTTIMEFORMAT, các .bash-history sẽ được đặt đúng thời gian. Điều đó không giúp với hiện tại .bash-history nội dung, nhưng sẽ giúp đỡ trong tương lai.


15
2017-12-15 12:02



bạn có thể mở rộng nó để rõ ràng hơn không? - Ten-Coin
Chỉnh sửa cho bài trước: Cài đặt HISTTIMEFORMAT cho phép hiển thị các dấu thời gian ... thậm chí hiện tại. Yêu thích của tôi là: HISTTIMEFORMAT = '% F% T' vì nó quan trọng không phải từ quốc gia bạn cư trú ... mọi người đều biết ngay lúc đó. :)
Tôi đặt $ HISTTIMEFORMAT và tôi đã có thời gian cho hôm nay ngay cả trước các lệnh của bộ này. - Yasin Okumuş


Để bật dấu thời gian lịch sử cho tất cả người dùng, hãy tạo tập lệnh trong /etc/profile.d:

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

0
2018-01-09 21:18



Điều này có thể sẽ không hoạt động đối với người dùng đăng nhập thông qua GUI, vì thiết bị đầu cuối mặc định sẽ không chạy shell đăng nhập. /etc/bash.bashrcsẽ là một nơi tốt hơn. - muru