Giới thiệu
Lịch sử lệnh cho phép bạn tìm và phát hành lại các lệnh đã nhập trước đó. Mở rộng lịch sử đưa các từ từ danh sách lịch sử vào luồng đầu vào, giúp dễ dàng lặp lại các lệnh, chèn các đối số cho lệnh trước đó vào dòng đầu vào hiện tại hoặc sửa lỗi trong các lệnh trước đó một cách nhanh chóng. Bạn có thể chuyển thông tin nhạy cảm như mật khẩu và thông tin này được lưu trữ trong tệp lịch sử.
Đôi khi chúng ta thao tác terminal command trên hệ thống Linux và chúng ta muốn lúc thoát ra khỏi terminal thì sẽ không còn lưu bất kì thông tin History command nào đã được thao tác trên máy tính. Lưu ý HISTFILE chỉ lưu lại thông tin command (đang được lưu trên RAM) sau khi chúng ta thoát khỏi terminal bằng lệnh “exit” hoặc “logout”.
Tìm thông tin về lịch sử của bạn
Để lấy tên của tệp lịch sử, hãy nhập:
echo "$HISTFILE"
Vì vậy, lịch sử của tôi được lưu trữ trong tệp /home/vivek/.bash_history. Nó có thể lưu trữ tới 1000 lệnh theo mặc định. Để xem cài đặt hiện tại của bạn, hãy chạy lệnh echo sau
echo "$HISTSIZE"
Để xem lịch sử hiện tại, hãy chạy:
history
Lệnh xóa lịch sử bash Linux
Để xóa lịch sử, gõ lệnh sau:
history -c
Hoặc xoá bằng lệnh
rm ~/.bash_history
Hoặc cách khác bạn có thể unset HISTFILE
unset HISTFILE
Kill console hiện tại: Bạn có thể tự tắt terminal của ssh client mình một cách cưỡng bức
kill -9 $$
Ngăn tệp lịch sử bash không lưu
Bạn có thể thêm lệnh vào ~/.bash_logout của mình để lịch sử sẽ bị xóa khi bạn đăng xuất:
echo 'history -c' >> ~/.bash_logout
Thêm các lệnh sau vào tệp ~/.bashrc để ngăn không lưu history
echo 'unset HISTFILE' >> ~/.bashrc
echo 'export LESSHISTFILE="-"' >> ~/.bashrc
Hoặc bạn có thể set history size bằng 0 để không lưu
HISTSIZE=0 && exit
Xoá history file và unset nó
rm -f $HISTFILE && unset HISTFILE && exit
Lưu ý: Nếu bạn muốn những lệnh trên được thực thi vĩnh viễn mỗi khi ta exit terminal thì hãy thêm chúng vào file ~/.bash_logout .