Cách sử dụng lệnh history trong Linux

Khi ngày càng dành nhiều thời gian hơn trong các phiên Terminal, bạn sẽ liên tục tìm thấy các lệnh mới giúp công việc hàng ngày được thực hiện hiệu quả hơn. Lệnh history GNU là một trong số đó.

Lệnh history nắm giữ danh sách tất cả các lệnh khác đã được chạy từ phiên Terminal đó, sau đó cho phép bạn xem hoặc sử dụng lại các lệnh đó thay vì nhập lại chúng. Nếu là một người dùng Terminal có kinh nghiệm, bạn sẽ biết rõ về sức mạnh của lệnh history. Cùng tìm hiểu chi tiết hơn qua bài viết sau đây nhé!

Xem danh sách những lệnh đã dùng

Để xem cách lệnh history hoạt động, hãy mở một Terminal và nhập:

$ history

Phản hồi mà bạn nhận được sẽ tương tự như sau:

1 clear
2 ls -al
3 sudo dnf update -y
4 history
Lệnh history nắm giữ danh sách tất cả các lệnh khác đã được chạy từ phiên Terminal
Lệnh history nắm giữ danh sách tất cả các lệnh khác đã được chạy từ phiên Terminal

Lệnh history hiển thị danh sách các lệnh đã nhập kể từ khi bạn bắt đầu phiên. Ưu điểm là giờ đây, bạn có thể thực thi lại bất kỳ tùy chọn nào bằng cách sử dụng lệnh:

$ !3

Lệnh !3 tại dấu nhắc yêu cầu shell chạy lại lệnh trên dòng 3 của danh sách lịch sử. Bạn cũng có thể truy cập lệnh đó bằng cách nhập:

$ !sudo dnf

Thao tác này sẽ nhắc history tìm kiếm lệnh gần nhất phù hợp với mẫu bạn đã cung cấp (trong trường hợp này, mẫu đó là dnf) và chạy lệnh.

Thực thi lại những lệnh đã dùng

Bạn cũng có thể sử dụng history để chạy lại lệnh gần nhất đã nhập bằng cách gõ !!. Bằng cách ghép nối nó với grep, bạn có thể tìm kiếm các lệnh phù hợp với mẫu văn bản hoặc bằng cách sử dụng nó với tail, bạn có thể tìm thấy một vài lệnh gần nhất mà bạn đã thực hiện. Ví dụ:

$ history | grep dnf
3 sudo dnf update -y
5 history | grep dnf

$ history | tail -n 3
4 history
5 history | grep dnf
6 history | tail -n 3

Một cách khác để truy cập chức năng tìm kiếm này là nhập Ctrl + R để gọi một tìm kiếm đệ quy (recursive search) về lịch sử lệnh. Sau khi nhập, dấu nhắc sẽ thay đổi thành:

(reverse-i-search)`':

Bây giờ, bạn có thể bắt đầu nhập một lệnh và các lệnh phù hợp sẽ được hiển thị để bạn thực thi bằng cách nhấn Return hoặc Enter.

Thay đổi lệnh đã thực thi

Bạn cũng có thể sử dụng history để chạy lại một lệnh với cú pháp khác. Bạn có thể sửa lại lịch sử với lệnh history. Ví dụ, nếu muốn thay đổi lịch sử lệnh trước đó history | grep dnf to history | grep ssh, bạn có thể thực thi lệnh sau tại dấu nhắc:

$ ^dnf^ssh^

Lệnh được chạy lại, nhưng với dnf được thay thế bằng ssh. Nói cách khác, lệnh được chạy là:

$ history | grep ssh

Xóa lịch sử

Có thể có lúc bạn muốn xóa một số hoặc tất cả các lệnh trong file lịch sử của mình. Nếu bạn muốn xóa một lệnh cụ thể, hãy nhập:

history -d <số dòng>

Để xóa toàn bộ nội dung của file lịch sử, hãy thực thi:

history -c

File lịch sử cũng được lưu trữ trong một file mà bạn có thể sửa đổi. Người dùng Bash shell tìm thấy nó trong thư mục chính của mình dưới dạng .bash_history.

Một số công dụng khác

Có một số điều khác mà bạn có thể làm với lệnh history:

  • Đặt dung lượng cho buffer (bộ đệm) lịch sử thành một số lượng lệnh nhất định
  • Ghi lại ngày và giờ cho từng dòng trong lịch sử
  • Ngăn một số lệnh được ghi lại trong lịch sử

Xem thêm:

Thứ Năm, 08/10/2020 13:40
55 👨 3.510
0 Bình luận
Sắp xếp theo
    ❖ Linux