**dmesg** ‫یا ***d**iagnostic **mes**sa**g**es* فرمانی است که در بیشتر سیستم‌عامل‌های شبه یونیکس که بافر پیام هسته را چاپ می‌کند.  خروجی می‌تواند شامل پیام‌های تولید شده توسط درایورهای دستگاه باشد.

بوت شدن
-------

هنگامی که رایانه در ابتدا بوت می شود، یک سیستم رایانه‌ای هسته خود را در حافظه بارگذاری می‌کند. در این مرحله درایورهای دستگاه موجود در هسته برای درایو سخت افزار مربوطه تنظیم می شوند. چنین درایورها، و همچنین سایر عناصر درون هسته، ممکن است خروجی **پیام** تولید کنند که هم حضور ماژول‌ها و هم مقادیر پارامترهای اتخاذ شده را گزارش می کند. (امکان دارد که پارامترهای راه‌اندازی که سطح جزئیات پیام‌ها را کنترل می‌کنند مشخص کنید.) فرآیند راه‌اندازی معمولاً با سرعتی اتفاق می‌افتد که پیام‌ها قبل از اینکه اپراتور بتواند آنها را بخواند/هضم کند، از بالای صفحه خارج می‌شوند. دستور dmesg امکان بازبینی چنین پیام‌هایی را به صورت کنترل شده پس از راه‌اندازی سیستم فراهم می کند.

بعد از بوت شدن
--------------

حتی پس از بوت شدن کامل سیستم، هسته ممکن است گهگاه پیام‌های تشخیصی بیشتری تولید کند. نمونه‌های رایج زمانی که ممکن است این اتفاق بیفتد، زمانی است که دستگاه‌های ورودی/خروجی با خطا مواجه می‌شوند یا دستگاه‌های USB با اتصال گرم متصل هستند. dmesg مکانیزمی برای بررسی این پیام‌ها در زمان بعدی فراهم می‌کند. هنگامی که برای اولین بار تولید شدند، به کنسول رایانه هدایت می‌شوند. اگر کنسول در حال استفاده باشد، ممکن است این پیام‌ها با خروجی برنامه‌های کاربر اشتباه گرفته شوند یا به سرعت توسط آن‌ها بازنویسی شوند.

خروجی
-----

 خروجی dmesg نمایان شده با grep 
مشاهده‌ی خروجی dmesg، نیازمند به تعداد زیادی صفحه نمایش است. به همین دلیل، این خروجی معمولاً با استفاده از ابزارهای دستکاری متن استاندارد مانند more‫، tail‫، less یا grep بررسی می‌شود.  اندازه بافر dmesg محدود است و خروجی اغلب در یک فایل لاگ سیستم دائمی از طریق یک دیمن خروجی مانند syslog گرفته می‌شود.

قالب
----

به طور سنتی، خطوط dmesg با نام دستگاه و سپس یک دونقطه و سپس با متن دقیق شروع می‌شود. غالباً خروجی‌ها به صورت خوشه ای هستند و دستگاه مشابهی در چندین خط پی‌درپی نشان داده می‌شود. هر خوشه معمولاً با یک شماره دستگاه منفرد، توسط یک درایور دستگاه خاص مرتبط با نام دستگاه است.

هر درایور یا منبع، اطلاعات تشخیصی را در قالب انتخابی خود منتشر می‌کند. درایورهای دستگاه ممکن است فرمت را در صفحه راهنما بر اساس قراردادی که به نام فایل دستگاه بدون شماره آخر نامیده می شود، مشخص کنند.

همچنین ببینید
-------------

* lspci، اطلاعات دقیق در مورد تمام باس‌ها و دستگاه‌های PCI در سیستم
* lsusb، اطلاعات دقیق در مورد پورت‌ها و دستگاه‌های USB
* uname نام، نسخه و سایر جزئیات مربوط به دستگاه فعلی و سیستم عامل را چاپ می‌کند
* لیست دستورات یونیکس
* udev – مدیر دستگاه لینوکس، با کمی کنترل بر روی امکان مشاهده شدن دستگاه

منابع
-----

1. ↑  *DMESG(8)* (Research Unix 8th ed.). Bell Labs. 1985. Retrieved 2020-02-10.
2. ↑  "Dmesg(1) - Linux manual page".
3. ↑  Gareth Anderson (15 April 2006). "GNU/Linux Command-Line Tools Summary" (PDF). *www.tldp.org* (به انگلیسی). The Linux Documentation Project. p. 32. Archived from the original (PDF) on 23 November 2016. Retrieved 29 May 2017.
4. ↑  Mendel Cooper (5 April 2012). "Advanced Bash-Scripting Guide" (PDF). *www.tldp.org* (به انگلیسی). The Linux Documentation Project. p. 329. Archived from the original (PDF) on 18 May 2017. Retrieved 29 May 2017.

لینک های خارجی
--------------

* صفحه راهنمای dmesg(8) FreeBSD
* فرمان dmesg توسط پروژه اطلاعات لینوکس (LINFO)
* dmesg توضیح داد : نمونه های خروجی هسته

[[رده:نرم‌افزارهای یونیکس]]