Trong bài viết này, Onet sẽ giúp các bạn tìm hiểu làm thế nào bạn có thể sử dụng lệnh history
vào quản trị hệ thống một cách hiệu quả.
Trong Bash, lệnh history
sử dụng để hiển thị lịch sử câu lệnh đã thực thi tại user hiện hành. Cho phép nhanh chóng xem những gì đã được thực hiện trước đây trên hệ thống.
Làm việc với câu lệnh history
.
# history
Kiểm tra câu lệnh bằng cách xem lịch sử bằng file
Vị trí tệp lịch sử ~/.bash_history
Theo mặc định, lịch sử bash được ghi vào ~/.bash_history
, điều này được đặt trong biến $HISTFILE
, để kiểm tra:
# Vị trị tệp lịch sử của User root
[root@server1 ~]# echo $HISTFILE
/root/.bash_history# Vị trị tệp lịch sử của User duonghuy
[root@server1 ~]# su – duonghuy
[duonghuy@server1 ~]$ echo $HISTFILE
/home/duonghuy/.bash_history
Mặc định file sẽ nằm tại /user/.bash_history
và Bạn cũng có thể tùy chỉnh như sau.
export HISTFILE=~/.custom_file
~/.custom_file
là địa chỉ và tên file mới muốn tùy chỉnh cho file bash_history mới
Tìm kiếm câu lệnh đã sử dụng trong quá khứ
# history | grep [command]
Ví dụ : Muốn tìm kiếm câu lệnh hostnameclt
trong quá khứ đã sử dụng:
Lặp lại câu lệnh gần nhất
Lệnh gần nhất có thể thực thi đơn giản bằng cách nhập !!
Ngoài ra, Bạn có thể nhấn mũi tên đi lên để hiển thị lệnh cuối cùng sau đó nhấn Enter để thực hiện nó.
Lặp lại lệnh cụ thể
Command:
![n]
Ghi vào tệp tin lịch sử
Thông thường tệp lệnh sử được ghi vào khi đã đăng xuất, do đó nếu bạn có phiên SSH đã hết thời gian, bạn sẽ không có lịch sử của mình từ phiên đó khi bạn đăng nhập lại. Bạn có thể buộc lịch sử hiện tại ghi vào tệp tin lịch sử người dùng ~/. bash_history
với từ chọn -w
# history -w
Xóa tệp tin lịch sử.
# history -c
Dòng lệnh sẽ xóa toàn bộ lịch sử bộ nhớ, những thay đổi sẽ được ghi khi người dùng đăng xuất tuy nhiên bạn có thể lưu các thay đổi vào tệp .bash_history khi chạy lệnh history -w .
Xoá toàn bộ tệp lịch sử có thể là quá mức cần thiết, thay vào đó bạn có thể xóa một số dòng cụ thể,
# history -d [n_cmd]
Thay đổi format của output history
$ HISTTIMEFORMAT="%d/%m/%y %T "
Option:
%d
– Ngày%m
– Tháng%y
– Năm%T
– Thời gian/
: có thể thay đổi bằng ký tự khác, hoặc dấu cách tùy thuộc vào hiện thị của người sử dụng.
Bỏ qua các lệnh cụ thể
Bạn có thể chỉ dịnh một hoặc nhiều lệnh không bao giờ được ghi vào tệp lịch sử với biến $HISTIGNORE.
# export HISTIGNORE="cd"
Với câu lệnh trên lệnh history sẽ không lưu lại lịch sự với câu lệnh cd
.
Tăng giảm kích thước lưu trữ history
Mặc định thì lưu trữ được 1000 câu lệnh để tăng khả năng lưu trữ ta làm như sau:
[duonghuy@server1 ~]$ echo $HISTSIZE
1000
[duonghuy@server1 ~]$ HISTSIZE=10000
[duonghuy@server1 ~]$ echo $HISTSIZE
10000
Để tăng khả năng lưu trữ tới 10000 câu lệnh.
Kết luận
Trên đây là một số thao tác với câu lệnh history trên Linux. Onet chúc các bạn thực hiện thành công.
Tham khảo: https://www.rootusers.com/17-bash-history-command-examples-in-linux/