Giới thiệu về Lệnh dmesg của Linux

An Introduction Linux S Dmesg Command



Mọi hệ điều hành, bao gồm cả Linux, thực hiện một số hoạt động một cách âm thầm mà không cần thông báo cho người dùng. Mặc dù người dùng không biết về các hoạt động này, nhưng có thể cần phải kiểm tra các hoạt động này để xác định các vấn đề của hệ điều hành và các thiết bị được gắn vào hệ thống máy tính.

May mắn thay, đối với hệ điều hành Linux, tất cả các hoạt động này đều được ghi vào bộ đệm vòng, có thể được truy cập bằng cách sử dụng lệnh thông báo chẩn đoán (hoặc dmesg). Lệnh dmesg trong Linux có thể được sử dụng để hiển thị tất cả các thông báo liên quan đến các sự kiện diễn ra trong hệ điều hành của bạn. Bài viết này sẽ hướng dẫn bạn cách sử dụng lệnh hữu ích này trong Linux.







Lưu ý: Đối với hướng dẫn này, chúng tôi đã sử dụng Linux Mint 20



Sử dụng lệnh

Chúng tôi sẽ giải thích cách sử dụng lệnh thông báo chẩn đoán bằng cách thảo luận một vài ví dụ.



Ví dụ # 1: Xem tất cả các Thông báo Chẩn đoán

Chúng tôi có thể xem tất cả các loại thông báo chẩn đoán cùng một lúc bằng cách thực hiện các bước này.





Đầu tiên, chúng ta cần nhấp vào biểu tượng lối tắt của thiết bị đầu cuối Linux Mint 20 để khởi chạy nó.

Bạn có thể thấy thiết bị đầu cuối mới ra mắt trong hình ảnh bên dưới:



Bây giờ chúng ta sẽ chỉ cần chạy lệnh sau trong terminal:

Chạy lệnh này sẽ hiển thị một danh sách dài các thông báo chẩn đoán trên thiết bị đầu cuối của bạn. Bạn có thể cuộn xuống để xem tất cả các thông báo, như thể hiện trong hình ảnh bên dưới:

Ví dụ # 2: Xem thông báo chẩn đoán từng trang

Trong ví dụ trước, danh sách các thông báo chẩn đoán rất dài và không thực tế để đọc. Do đó, bạn có thể muốn xem những thông báo này từng trang. có thể được thực hiện bằng cách sử dụng lệnh less trong Linux. Trong lệnh hiển thị bên dưới, chúng tôi đang chuyển đầu ra của lệnh dmesg đến lệnh less để các thông báo chẩn đoán được hiển thị từng trang.

Bạn có thể thấy đầu ra của lệnh dmesg đã sửa đổi trong hình ảnh bên dưới.

Khi bạn đã đọc hết trang đầu tiên, bạn có thể nhấn phím cách để chuyển sang trang tiếp theo, v.v., cho đến khi đến trang cuối cùng, như được chỉ ra bởi từ khóa END trong hình ảnh sau:

Ví dụ # 3: Xem thông báo chẩn đoán với mức độ nghiêm trọng cụ thể

Mức độ nghiêm trọng của thông báo chẩn đoán khác nhau tùy thuộc vào mục đích mà chúng phục vụ. Ví dụ: một số thông báo truyền tải thông tin chung, trong khi những thông báo khác chứa cảnh báo. Bạn có thể chọn xem tất cả các thông báo chẩn đoán của một mức độ nghiêm trọng cụ thể như sau:

Đầu tiên, chạy lệnh dmesg –level = LEVEL trong thiết bị đầu cuối Linux Mint 20 của bạn. Tại đây, bạn cần thay thế LEVEL bằng một cấp hợp lệ (ví dụ: lỗi, cảnh báo, thông tin, thông báo). Trong ví dụ của chúng tôi, vì chúng tôi muốn xem tất cả các thông báo chẩn đoán về mức độ lỗi, chúng tôi đã thay thế LEVEL bằng err.

Lệnh này sẽ trả về tất cả các thông báo chẩn đoán có mức độ lỗi, như thể hiện trong hình ảnh sau:

Ví dụ # 4: Xem Phiên bản Linux bằng Lệnh dmesg

Khi chúng tôi chạy lệnh dmesg mà không có bất kỳ tham số nào khác, đầu ra quá lớn để có thể xem cùng một lúc. Cùng với tất cả các thông tin khác, phiên bản hệ thống Linux của bạn cũng được hiển thị trong đầu ra đó, nhưng rất khó xác định vị trí. Nếu bạn muốn xem phiên bản Linux của mình bằng lệnh dmesg, thì bạn có thể chạy lệnh sau trong thiết bị đầu cuối của mình:

Chạy lệnh này sẽ hiển thị phiên bản Linux trên thiết bị đầu cuối của bạn như thể hiện trong hình ảnh bên dưới:

Ví dụ # 5: Xem Thông báo Chẩn đoán bằng Dấu thời gian

Một sự kiện xảy ra trên hệ điều hành tại một thời điểm nhất định. Đối với các tác vụ ghi nhật ký và kiểm tra, điều quan trọng là phải xem xét dấu thời gian của các sự kiện diễn ra trong hệ điều hành của bạn để bạn có thể tìm ra thời điểm sự cố xảy ra. Để xem dấu thời gian của thông báo chẩn đoán, bạn có thể chạy lệnh bên dưới trong thiết bị đầu cuối của mình:

Đầu ra trong hình ảnh sau đây hiển thị dấu thời gian chính xác, bao gồm ngày, tháng và giờ, trước mỗi thông báo chẩn đoán.

Ví dụ # 6: Xem thông báo chẩn đoán liên quan đến một thiết bị cụ thể

Các thông báo chẩn đoán được hiển thị bằng cách chạy lệnh dmesg một mình không dành riêng cho bất kỳ thiết bị nào; thay vào đó, các thông báo liên quan đến tất cả các thiết bị được hiển thị cùng một lúc. Tuy nhiên, bạn có thể muốn xem thông báo chẩn đoán cho một thiết bị cụ thể để xác định các vấn đề chỉ liên quan đến thiết bị đó.

Lệnh dmesg cho phép bạn làm như vậy bằng cách chạy lệnh dmesg | grep –i THIẾT BỊ. Tại đây, bạn phải thay thế DEVICE bằng tên của thiết bị có thông báo chẩn đoán mà bạn muốn xem. Trong trường hợp của chúng tôi, chúng tôi muốn kiểm tra các thông báo chẩn đoán của chuột. Do đó, chúng tôi đã thay thế THIẾT BỊ bằng Chuột.

Khi bạn chạy lệnh này, tất cả các thông báo chẩn đoán liên quan đến chuột sẽ được hiển thị trên thiết bị đầu cuối của bạn, như thể hiện trong hình sau. Bạn có thể xem thông báo chẩn đoán của bất kỳ thiết bị I / O nào theo cách tương tự.

Ví dụ # 7: Xem Thông báo Chẩn đoán với Mức độ nghiêm trọng của chúng

Chúng tôi đã xem các thông báo chẩn đoán về mức độ nghiêm trọng cụ thể trong Ví dụ số 3. Tuy nhiên, nếu chúng ta muốn hiển thị tất cả các thông báo chẩn đoán với mức độ nghiêm trọng của chúng, thì chúng ta có thể chạy lệnh dmesg –x. Cờ -x có thể được sử dụng với lệnh dmesg để hiển thị các thông báo chẩn đoán với mức độ nghiêm trọng của chúng.

Bạn có thể thấy từ kết quả sau rằng mức độ nghiêm trọng của thông báo chẩn đoán xuất hiện ở đầu thông báo.

Ví dụ # 8: Xóa lịch sử thông báo chẩn đoán

Hàng nghìn sự kiện diễn ra trong hệ điều hành hiển thị hệ điều hành của bạn và những sự kiện này tạo ra một danh sách dài các thông báo chẩn đoán, như được hiển thị trong Ví dụ # 1. Tuy nhiên, hệ thống Linux cũng cung cấp một cách để xóa nhật ký này.

Để xóa lịch sử thông báo chẩn đoán, bạn có thể chạy lệnh sudo dmesg –C. Để xóa lịch sử thông báo chẩn đoán, điều quan trọng cho mục đích kiểm tra, bạn cần chạy lệnh dmesg với các đặc quyền sudo. Nếu không, bạn sẽ không được phép thực hiện thao tác này. Hơn nữa, cờ -C, cùng với lệnh dmesg, chịu trách nhiệm xóa nhật ký dmesg.

Sau khi bạn chạy lệnh này, không có gì sẽ được hiển thị trên thiết bị đầu cuối của bạn. Do đó, để xác minh rằng lịch sử thông báo chẩn đoán đã bị xóa, chúng tôi sẽ chạy lại lệnh dmesg. Lần này, lệnh dmesg sẽ không trả về bất kỳ thông báo chẩn đoán nào trên thiết bị đầu cuối của bạn vì lịch sử đã bị xóa.

Phần kết luận

Hướng dẫn này giới thiệu các thông báo chẩn đoán được tạo bởi hệ điều hành Linux và chỉ cho bạn cách xem dấu thời gian của các sự kiện đã xảy ra trên hệ điều hành, cách ghi lại tất cả các sự kiện có mức độ nghiêm trọng cụ thể và cách xem các thông báo chẩn đoán liên quan đến một thiết bị cụ thể. Các biến thể nâng cao hơn của lệnh dmesg được chia sẻ trong bài viết này có thể được tạo ra để thu được các kết quả khác nhau.