Câu trả lời:
Điều này được tự động thực hiện. Bash lưu trữ các lệnh của bạn trong ~/.bash_history
. Nếu bạn muốn xem lịch sử, hãy in đầu ra của tệp này bằng một trong
cat ~/.bash_history
less ~/.bash_history
...any other pager or output command...
Hoặc bạn có thể sử dụng lệnh dựng sẵn của bash:
history
Để xóa lịch sử, xóa tệp và xóa lịch sử tạm thời:
rm ~/.bash_history && history -c
Kích thước lịch sử mặc định là 500 lệnh. Tuy nhiên, bạn có thể tăng điều này bằng cách thêm một dòng vào ~/.bashrc
tệp của mình để đặt HISTSIZE
biến:
HISTSIZE=<number of entries, -1 for unlimited>
Điều này sẽ không có hiệu lực ngay lập tức, mà chỉ cho các phiên mới bắt đầu. Để áp dụng điều này, nguồn lại .bashrc
tệp:
. ~/.bashrc
hoặc chạy HISTSIZE=...
trong phiên hiện tại của bạn.
Bạn có thể gõ history
trên một thiết bị đầu cuối để xem tất cả các lệnh được thực hiện trước đó.
Bạn có thể cắt đầu ra thành một số dòng (trong đó 5 là số dòng):
history 5
Nếu bạn chỉ muốn xem các lệnh có chứa một chuỗi (tức là mv
), bạn có thể làm điều này:
history | grep mv
Bạn có thể nhớ lại một lệnh bằng cách gõ !
theo sau là số mục.
Hãy nói rằng tôi có một lịch sử như thế này:
1 ls -la
2 mkdir foo
3 mv bar.txt foo
mkdir foo
, bạn có thể gõ !2
.!-1
hoặc!!
!-2
Nếu bạn chạy một lệnh thất bại vì nó cần quyền root (tức là touch /etc/foo
), bạn có thể sử dụng sudo !!
để chạy lệnh cuối cùng với quyền root.
!man
bạn sẽ thực thi lệnh cuối cùng bắt đầu bằngman
!?man?
nó sẽ thực thi lệnh cuối cùng chứa man
(không phải là không bắt đầu ở dòng bắt đầu)Nếu bạn có một lỗi đánh máy trong một lệnh, bạn có thể sửa nó theo cách này. Hãy nói rằng tôi gõ cat .bash_hi
, để thay thế .bash_hi
bởi .bash_history
tôi chỉ cần gõ ^hi^history^
.
history
làm việc cho tôi trên Ubuntu 16. Cảm ơn và nên là người được chấp nhận!
Chỉ loại :
history > print.txt
Một tệp mới có tên print.txt sẽ được tạo trong thư mục hiện đang hoạt động của bạn.
Tôi thường chỉ muốn những lệnh gần đây, quá. Để đăng lên các ghi chú phát triển của tôi hoặc, tốt, các trang web stackexchange như thế này ... Điều này đã được chứng minh rất hữu ích, loại bỏ các số dòng không liên quan:
history | cut -c 8- | tail
hoặc, nếu bạn thích nó như một bí danh, số dòng bị xóa và thụt lề ngay lập tức (giống như cần thiết để đánh dấu trích dẫn mã)
alias lastones="history | tail | sed -e 's/^ [0-9]\{1,5\} / /gi'"
fc
: Askubfox.com/a/839442/158442
Bạn có thể muốn thử https://github.com/dvorka/hstr cho phép duyệt đơn giản , điều hướng và lọc "kiểu hộp gợi ý" trong lịch sử Bash của bạn:
Nó có thể được dễ dàng bị ràng buộc để Ctrl-rvà / hoặcCtrl-s