最近、ワイヤレスカードに問題があるため、オンラインフォーラムでdmesg
そのカードを検索してみることを提案しましたgrep firmware
。これはとても役に立ち、問題をすぐに見つけることができました!しかし、私は過去1時間を見ましたが、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行を印刷して結果のコンテキストを提供します。しかし〜に応じてツイート何千もの可能性があるとしましょう。
それはすべてあなたが探しているものに依存します。サウンド、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