dmesg에서 무엇을 grep해야 하는지 어떻게 알 수 있나요?

dmesg에서 무엇을 grep해야 하는지 어떻게 알 수 있나요?

최근 무선 카드에 문제가 있어서 온라인 포럼에서 dmesg해당 카드를 검색해 보라고 제안했습니다 grep firmware. 이것은 매우 도움이 되었고 문제를 즉시 찾을 수 있었습니다! 하지만 지난 한 시간 동안 시청했는데 dmesg정보의 양이 너무 많아서 관련된 내용을 식별할 수 없었습니다!

on dmesg에서 무엇을 grep해야 하는지 어떻게 알 수 있나요?

물론 이것은 하드웨어 문제이지만 나 자신은 "firmware"라는 문자열을 찾아 헤매는 것을 생각해 본 적이 없습니다. 누군가에게 주다아니요매우 친숙한 출력입니다 dmesg. grep이 무엇인지에 대해 지식에 근거한 추측을 어떻게 할 수 있습니까?

답변1

다음과 같은 것이 유용할 것입니다:

dmesg | grep -iC 3 "what you are looking for" 

예를 들어 비디오 카드를 찾는 경우 다음을 시도해 볼 수 있습니다.

dmesg | grep -iC 3 "video"

또는:

dmesg | grep -iC 3 "graphics" 

C 3플래그는 일치하는 문자열 앞뒤에 3줄을 인쇄하여 결과에 대한 컨텍스트를 제공합니다. 그러나 ~함에 따라@tohecz수천 가지 가능성이 있다고 가정해 보세요.

그것은 모두 당신이 무엇을 찾고 있는지에 달려 있습니다...사운드, Wi-Fi, USB, 직렬 포트, 카드 리더기....

USB 키를 표시하려면 grep for 를 시도해 보세요 /dev/sd.


방금 발견했습니다이 페이지, 여기에는 무엇이 있는지 파악하는 방법에 대한 합리적인 제안이 포함되어 있습니다.

출력의 길이 때문에 dmesg출력을 grep으로 파이프하는 것이 편리합니다. grep은 뒤에 오는 문자열(예: 문자 시퀀스)이 포함된 모든 줄을 검색하는 필터입니다. 이 -i 옵션은 grep에게 문자열의 대소문자(즉, 소문자 또는 대문자)를 무시하도록 지시하는 데 사용할 수 있습니다. 예를 들어, 다음 명령은 USB커널 메시지의 (범용 직렬 버스) 장치에 대한 모든 참조를 나열합니다.

dmesg | grep -i usb

다음 명령은 dmesg에게 모든 직렬 포트(tty 문자열로 표시됨)를 표시하도록 지시합니다.

dmesg | grep -i tty

dmesg 및 grep 조합은 시스템에서 사용 가능한 실제 메모리(예: RAM)의 양을 표시하는 데에도 사용할 수 있습니다.

dmesg | grep -i memory

다음 명령은 HDD가 DMA(직접 메모리 액세스) 모드에서 실행되고 있는지 확인합니다.

dmesg | grep -i dma

관련 정보