Cách sử dụng lệnh history trên CentOS 8

Tác giả NetworkEngineer, T.M.Một 01, 2021, 12:55:38 SÁNG

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 2 Khách đang xem chủ đề.

Cách sử dụng lệnh history trên CentOS 8


Lệnh 'history' được sử dụng để hiển thị lịch sử của cửa sổ dòng lệnh Terminal. Nó lưu giữ lịch sử của tất cả các lệnh đầu cuối được thực thi trên hệ thống của bạn. Nó cũng cho phép người dùng phát lại hoặc sử dụng lại các lệnh đã thực hiện trước đó trên cửa sổ dòng lệnh Terminal mà không cần phải gõ lại tất cả.

Vì vậy, lệnh history rất hữu ích trong trường hợp người dùng quên một lệnh đã được thực hiện trước đó trên cửa sổ dòng lệnh Terminal. Lịch sử của tất cả các lệnh đã thực thi được lưu trữ trong tập tin ~/.bash_history. Theo mặc định, tập tin lịch sử lưu trữ bản ghi của tất cả các lệnh đã thực thi trên hệ thống Linux.

Nếu bạn gặp khó khăn trong việc kiểm tra lịch sử của tất cả các lệnh đã thực hiện trước đó, thì bài viết này sẽ hữu ích cho bạn. Trong bài viết này, mình hướng dẫn bạn cách sử dụng lệnh "history" trên CentOS 8.0 của bạn.

Mở cửa sổ dòng lệnh Terminal của CentOS 8.0 bằng cách nhấp vào biểu tượng cửa sổ dòng lệnh Terminal hiện trên màn hình. Để kiểm tra lịch sử của cửa sổ dòng lệnh Terminal của bạn, bạn cần phải đăng nhập bằng người dùng root. Với mục đích này, hãy nhập lệnh sau.

Mã nguồn [Chọn]
$ su

Bây giờ bạn đang đăng nhập với tư cách là người dùng root.

Để xem lịch sử của cửa sổ dòng lệnh Terminal của bạn, hãy sử dụng các lệnh khác nhau sau.

Để in lịch sử của tất cả các lệnh đã thực hiện gần đây và cũ, hãy nhập lệnh sau vào cửa sổ dòng lệnh Terminal CentOS 8.0

Mã nguồn [Chọn]
$ history
Khi thực hiện thành công lệnh này, nó sẽ hiển thị lịch sử của tất cả các lệnh đã thực hiện. Lệnh được thực hiện gần đây nhất sẽ hiển thị từ trên xuống dưới cùng của cửa sổ dòng lệnh Terminal.


Nếu bạn chạy lệnh 'cat ~/.bash_history' thì nó sẽ khá giống với tập tin lịch sử nhưng không hiển thị định dạng hoặc số dòng chính xác.

Bạn cũng có thể chỉ định một số bằng lệnh lịch sử. Trong đầu ra, các dòng gần đây sẽ được hiển thị trên cửa sổ dòng lệnh Terminal.

Mã nguồn [Chọn]
$ history 7

Như đã đề cập ở trên, lệnh 'history' được sử dụng để hiển thị tất cả các lệnh đã thực thi với số dòng của nó. Bạn có thể lặp lại các lệnh cụ thể trên cửa sổ dòng lệnh Terminal bằng cách sử dụng số lệnh.

Mã nguồn [Chọn]
!command-line-number!
Ví dụ: tôi muốn chạy lại lệnh của dòng số 416, hãy sử dụng lệnh này:

Mã nguồn [Chọn]
$ !416!
Bạn có thể thay đổi số dòng theo yêu cầu của bạn.


Lưu ý: Số dòng lệnh luôn thay đổi khi chúng ta nhập nhiều lệnh hơn trên cửa sổ dòng lệnh Terminal. Vì vậy, đừng dựa vào số dòng lệnh lịch sử trước đó.

Bạn cũng có thể hiển thị các lệnh gần đây nhất trên cửa sổ dòng lệnh Terminal bằng cách gõ '!!' hoặc nhấn phím mũi tên 'lên' có trên bàn phím hệ thống của bạn để xem các lệnh được thực thi gần đây nhất.


Bạn có thể lặp lại lệnh bằng chuỗi bắt đầu của nó. Nhập chuỗi bắt đầu của lệnh đã thực hiện trước đó bằng '!'. Làm theo cú pháp được cung cấp bên dưới:

Mã nguồn [Chọn]
!string
Ví dụ: bạn muốn kiểm tra các lệnh bắt đầu bằng chuỗi "yum", sau đó bạn sẽ nhập lệnh sau trên cửa sổ dòng lệnh Terminal:

Mã nguồn [Chọn]
!yum
Phương pháp nêu trên có thể là một rủi ro nếu lệnh được thực hiện cuối cùng khác với những gì bạn cần. Nhập ':p' vào cuối chuỗi bắt đầu để xác nhận thay vì chạy trực tiếp với chuỗi bắt đầu.


Lệnh '!yum:p' được đề cập ở trên chỉ hiển thị lệnh để xác nhận.

Bạn có thể sử dụng lệnh 'history' với việc ghép nối nó với grep, nó sẽ tìm kiếm các lệnh phù hợp với mẫu văn bản hoặc đuôi lệnh cụ thể. Bằng phương pháp này, bạn sẽ có thể tìm kiếm một vài lệnh được thực thi cuối cùng.

Nhập lệnh sau trên cửa sổ dòng lệnh Terminal:

Mã nguồn [Chọn]
$ history | grep dnf

Như bạn có thể thấy danh sách tất cả các lệnh đã thực thi sẽ được trả về trên cửa sổ dòng lệnh Terminal được khớp với văn bản 'dnf'.

Bạn có thể viết lệnh vào tập tin lịch sử. Nếu bạn không còn lịch sử trên tập tin đã ghi thì hãy chạy lệnh sau trên cửa sổ dòng lệnh Terminal.

Mã nguồn [Chọn]
$ history -w
Bạn cũng có thể xóa nội dung của lịch sử. Chạy lệnh sau để xóa nội dung:

Mã nguồn [Chọn]
$ history -c
Cần lưu ý rằng nếu bạn xóa lịch sử thì thao tác này sẽ chỉ xóa nội dung khỏi bộ nhớ. Bạn cũng có thể xóa tập tin ~/.bash_history để xóa lịch sử, nhưng phiên hiện tại sẽ vẫn được lưu vào tập tin khi người dùng đăng xuất.

Thay vì xóa tất cả lịch sử, bạn cũng có thể xóa dòng số cụ thể khỏi tập tin lịch sử với tùy chọn -d. Sử dụng lệnh sau để xóa dòng số cụ thể khỏi tập tin lịch sử.

Mã nguồn [Chọn]
$ history -d 457
Ví dụ: nếu bạn đã nhập mật khẩu tài khoản của mình thì bạn nên sử dụng lệnh nêu trên cho mục đích bảo mật. Người dùng có thể bảo mật thông tin thông qua truy cập trái phép bằng cách sử dụng lệnh này.

Bạn cũng có thể lưu lịch sử của phiên hiện tại bằng tùy chọn '-a' vào tập tin ~/.bash_history. Nhập lệnh sau trên cửa sổ dòng lệnh Terminal:

Mã nguồn [Chọn]
$ history -a
Bạn cũng có thể thêm dấu thời gian vào dòng lịch sử. Có nghĩa là theo mặc định, bạn không thể xem ngày và giờ với các lệnh đã thực hiện trước đó ngoại trừ lệnh. Vì vậy, bằng cách sử dụng lệnh timestamp, bạn có thể xem ngày và giờ của các lệnh được thực thi. Chạy lệnh sau trên cửa sổ dòng lệnh Terminal:

Mã nguồn [Chọn]
$ HISTTIMEFORMST="%F%T "
Bạn cũng có thể thay đổi kích thước dòng được lưu trữ trong lịch sử. Theo mặc định, tập tin bash giữ 1000 dòng lệnh trong danh sách lịch sử. $ HISTSIZE là một biến cho phép bạn thay đổi giá trị theo nhu cầu của mình. Gõ lệnh sau để đặt nó 10000 để tăng kích thước.

Mã nguồn [Chọn]
$ HISTSIZE=10000
Trong hướng dẫn này, chúng ta đã khám phá cách sử dụng các tính năng khác nhau của lệnh history bằng cửa sổ dòng lệnh Terminal trong CentOS 8.0. Sau hướng dẫn này, bây giờ bạn có thể xử lý lịch sử của cửa sổ dòng lệnh Terminal CentOS 8.0 của mình. Mình hy vọng bài viết này sẽ hữu ích cho bạn. Đối với các câu hỏi khác, xin vui lòng bình luận bên dưới.