DMESG(1) أوامر المستخدم DMESG(1)

الاسم

dmesg - اِطبع خبيئة النواة الحلقية أو تحكم بها

موجز

dmesg [خيارات]

dmesg --clear

dmesg --read-clear [خيارات]

dmesg --console-level مستوى

dmesg --console-on

dmesg --console-off

الوصف

يُستخدم dmesg لفحص خبيئة النواة الحلقية أو التحكم بها.

الإجراء المبدئي هو عرض كافة الرسائل من خبيئة النواة الحلقية.

الخيارات

الخيارات --clear، و*--read-clear*، و*--console-on*، و*--console-off*، و*--console-level* مانعة لبعضها تبادلياً.

-C، --clear

نظّف الخبيئة الحلقية.

-c، --read-clear

نظّف الخبيئة الحلقية بعد طباعة محتوياتها أولاً.

-D، --console-off

عطّل طباعة الرسائل إلى وحدة التحكم (console).

-d، --show-delta

اِعرض الطابع الزمني وفارق الوقت المنقضي بين الرسائل. إذا استُخدم مع --notime فسيُطبع فارق الوقت فقط دون الطابع الزمني.

-E، --console-on

فعّل طباعة الرسائل إلى وحدة التحكم (console).

-e، --reltime

اِعرض الوقت المحلي والفارق بتنسيق مقروء للبشر. تنبه إلى أن التحويل إلى الوقت المحلي قد يكون غير دقيق (انظر -T لمزيد من التفاصيل).

-F، --file ملف

اقرأ رسائل سجل النظام (syslog) من الـ ملف المحدد. لاحظ أن -F لا يدعم الرسائل بتنسيق kmsg. انظر -K بدلاً من ذلك.

-f، --facility قائمة

قصر المخرجات على الـ قائمة المحددة (المفصولة بفاصلة) من المرافق. على سبيل المثال:

dmesg --facility=daemon

سيطبع الرسائل من عفاريت (daemons) النظام فقط. لمعرفة كافة المرافق المتاحة انظر مخرجات --help.

-H، --human

فعّل المخرجات المقروءة للبشر. انظر أيضاً --color و*--reltime* و*--nopager*.

-J، --json

استخدم تنسيق مخرجات JSON. تنسيق مخرجات الوقت يكون بصيغة "sec.usec" فقط، ولا يُفك ترميز مستوى أولوية السجل مبدئياً (استخدم --decode للفصل بين المرفق والأولوية)، كما تُتجاهل الخيارات الأخرى للتحكم في تنسيق المخرجات أو تنسيق الوقت بصمت.

-K، --kmsg-file ملف

اقرأ رسائل /dev/kmsg من الـ ملف المحدد. يُتوقع فصل السجلات المختلفة بواسطة بايت NULL.

-k، --kernel

اِطبع رسائل النواة.

-L، --color[=متى]

لوّن المخرجات. المعطى الاختياري متى يمكن أن يكون auto (آلي)، أو never (أبداً)، أو always (دائماً). إذا أُهمل معطى متى، فإنه يُضبط مبدئياً على auto. يمكن تعطيل الألوان؛ ولمعرفة المبدئي المدمج حالياً انظر مخرجات --help. انظر أيضاً قسم الألوان (COLORS) أدناه.

-l، --level قائمة

قصر المخرجات على الـ قائمة المحددة (المفصولة بفاصلة) من المستويات. على سبيل المثال:

dmesg --level=err,warn

سيطبع رسائل الخطأ والتحذير فقط. لمعرفة كافة المستويات المتاحة انظر مخرجات --help.

إلحاق علامة زائد + باسم المستوى يتضمن أيضاً كافة المستويات الأعلى. على سبيل المثال:

dmesg --level=err+

سيطبع المستويات err، و*crit*، و*alert*، و*emerg*.

إسباقه بها سيتضمن كافة المستويات الأدنى.

-n، --console-level مستوى

اضبط الـ مستوى الذي تُطبع عنده الرسائل إلى وحدة التحكم. الـ مستوى هو رقم المستوى أو اختصار لاسم المستوى. لمعرفة كافة المستويات المتاحة انظر مخرجات --help.

على سبيل المثال، -n 1 أو -n emerg يمنع كافة الرسائل، باستثناء رسائل الطوارئ (الذعر)، من الظهور على وحدة التحكم. تظل كافة مستويات الرسائل تُكتب في /proc/kmsg، لذا لا يزال بالإمكان استخدام syslogd(8) للتحكم بدقة في مكان ظهور رسائل النواة. عند استخدام الخيار -n، لن يقوم dmesg بطباعة أو تنظيف خبيئة النواة الحلقية.

--noescape

المحارف غير القابلة للطباعة والتي قد تكون غير آمنة (مثل تسلسلات البايتات المتعددة المعطوبة، ومحارف التحكم في الطرفية، وما إلى ذلك) تُهرّب بصيغة \x<hex> لأسباب أمنية مبدئياً. يعطل هذا الخيار هذه الميزة تماماً. وهو مفيد مثلاً لأغراض التنقيح مع الخيار --raw. كن حذراً ولا تستخدمه مبدئياً.

-P، --nopager

لا تمرر المخرجات إلى برنامج تصفح (pager). يُفعل برنامج التصفح مبدئياً لمخرجات --human.

-p، --force-prefix

أضف معلومات المرفق، أو المستوى، أو الطابع الزمني لكل سطر في الرسائل متعددة الأسطر.

-r، --raw

اطبع مخزن الرسائل الخام، أي لا تنزع بادئات مستوى السجل، ولكن تظل جميع المحارف غير القابلة للطباعة مهربة (انظر أيضاً --noescape).

لاحظ أن الصيغة الخام الحقيقية تعتمد على الطريقة التي يقرأ بها dmesg رسائل النواة. يستخدم جهاز /dev/kmsg صيغة مختلفة عن syslog(2). وللتوافق مع الإصدارات السابقة، يعيد dmesg البيانات دائماً بصيغة syslog(2). من الممكن قراءة البيانات الخام الحقيقية من /dev/kmsg عبر، على سبيل المثال، الأمر 'dd if=/dev/kmsg iflag=nonblock'.

-S، --syslog

اجبر dmesg على استخدام واجهة النواة syslog(2) لقراءة رسائل النواة. المبدئي هو استخدام /dev/kmsg بدلاً من syslog(2) منذ إصدار النواة 3.5.0.

-s، --buffer-size حجم

استخدم مخزناً بحجم حجم للاستعلام عن المخزن الدائري للنواة. هذا الحجم هو 16392 مبدئياً. (كان حجم مخزن syslog المبدئي للنواة 4096 في البداية، ثم 8192 منذ 1.3.54، و16384 منذ 2.1.113.) إذا ضبطت مخزن النواة ليكون أكبر من المبدئي، فيمكن استخدام هذا الخيار لعرض المخزن بالكامل.

-T، --ctime

اِطبع طوابع زمنية مقروءة للبشر.

كن على علم بأن الطابع الزمني قد يكون غير دقيق! إن مصدر الوقت المستخدم للسجلات لا يُحدث بعد تعليق (SUSPEND) أو استئناف (RESUME) النظام. تُعدل الطوابع الزمنية وفقاً للفارق الحالي بين ساعة وقت الإقلاع والساعة الرتيبة، وهذا يعمل فقط للرسائل التي طُبعت بعد آخر استئناف.

--since وقت

اعرض السجلات منذ الوقت المحدد. دقة أجزاء الثانية متاحة. من الممكن تحديد الوقت بطريقة مطلقة وكذلك بصيغة نسبية (مثلاً '1 hour ago'). كن على علم بأن الطابع الزمني قد يكون غير دقيق وانظر --ctime لمزيد من التفاصيل.

--until وقت

اعرض السجلات حتى الوقت المحدد. دقة أجزاء الثانية متاحة. من الممكن تحديد الوقت بطريقة مطلقة وكذلك بصيغة نسبية (مثلاً '1 hour ago'). كن على علم بأن الطابع الزمني قد يكون غير دقيق وانظر --ctime لمزيد من التفاصيل.

-t، --notime

لا تطبع طوابع النواة الزمنية.

--time-format تنسيق

اطبع الطوابع الزمنية باستخدام الصيغة تنسيق المعطاة، والتي يمكن أن تكون ctime، أو reltime، أو delta، أو iso، أو raw. الصيغ الثلاث الأولى هي أسماء مستعارة لخيارات صيغ الوقت المحددة. تستخدم صيغة raw صيغة الطابع الزمني المبدئية التي تعرض الثواني منذ الإقلاع. صيغة iso هي تطبيق dmesg لصيغة الطابع الزمني ISO-8601. الغرض من هذه الصيغة هو جعل مقارنة الطوابع الزمنية بين نظامين، وأي تحليل آخر، أمراً سهلاً. تعريف طابع iso الزمني هو: YYYY-MM-DD<T>HH:MM:SS,<microseconds>←+><timezone offset from UTC>.

تمتلك صيغة iso نفس مشكلة ctime: قد يكون الوقت غير دقيق عند تعليق النظام واستئنافه.

يمكن استخدام --time-format عدة مرات بقيم مختلفة لـ تنسيق لإخراج كل صيغة محددة.

يتبع delta دائماً ctime أو raw إذا حُددا معاً.

-u، --userspace

اِطبع رسائل فضاء المستخدم (userspace).

-w، --follow

انتظر الرسائل الجديدة. هذه الميزة متاحة فقط في الأنظمة التي تحتوي على /dev/kmsg قابل للقراءة (منذ النواة 3.5.0).

-W، --follow-new

انتظر واطبع الرسائل الجديدة فقط.

-x، --decode

فك ترميز أرقام المرفق والمستوى (الأولوية) إلى بادئات مقروءة للبشر.

-h، --help

اعرض نص المساعدة ثم اخرج.

-V، --version

اعرض الإصدار واخرج.

الألوان

نُفذ تلوين المخرجات بواسطة وظيفة terminal-colors.d(5). يمكن تعطيل التلوين الضمني بملف فارغ

/etc/terminal-colors.d/dmesg.disable

للأمر dmesg أو لجميع الأدوات بواسطة

/etc/terminal-colors.d/disable

منذ الإصدار 2.41، دُعم متغير البيئة $NO_COLOR أيضاً لتعطيل تلوين المخرجات ما لم يُمكن صراحةً بخيار من سطر الأوامر.

يتخطى $XDG_CONFIG_HOME/terminal-colors.d أو $HOME/.config/terminal-colors.d الخاص بالمستخدم الإعداد العام.

لاحظ أن تلوين المخرجات قد يُمكن مبدئياً، وفي هذه الحالة ليس من الضروري وجود أدلة terminal-colors.d بعد.

أسماء الألوان المنطقية التي يدعمها dmesg هي:

subsys

بادئة النظام الفرعي للرسالة (مثلاً: "ACPI:").

time

الطابع الزمني للرسالة.

timebreak

الطابع الزمني للرسالة بتنسيق ctime قصير في مخرجات --reltime أو --human.

alert

نص الرسالة مع أولوية سجل التنبيه.

crit

نص الرسالة مع أولوية السجل الحرجة.

err

نص الرسالة مع أولوية سجل الخطأ.

warn

نص الرسالة مع أولوية سجل التحذير.

segfault

نص الرسالة الذي يُخبر عن خطأ في التجزئة.

حالة الخروج

قد يفشل dmesg في الإبلاغ عن خطأ رفض الإذن. يرجع هذا عادةً إلى إعداد النواة dmesg_restrict، يرجى مراجعة syslog(2) لمزيد من التفاصيل.

المؤلفين

Karel Zak <kzak@redhat.com>

كُتب dmesg في الأصل بواسطة Theodore Ts’o <tytso@athena.mit.edu>.

انظر أيضاً

terminal-colors.d(5)، syslogd(8)

التبليغ عن الأخطاء

لتقارير العِلل، استخدم مُتتبع المشكلات https://github.com/util-linux/util-linux/issues.

التوفر

الأمر dmesg جزء من حزمة util-linux التي يمكن تنزيلها من أرشيف نواة لينكس https://www.kernel.org/pub/linux/utils/util-linux/.

2026-05-18 util-linux 2.42.1