كتيبات سطر الأوامر

Man » دليل dmesg عبر الإنترنت - وثائق مفصلة عبر الإنترنت لصفحة رجل dmesg

🌍
dmesg - عرض أو التحكم في ذاكرة التخزين المؤقت لنواة النظام

الملخص

dmesg [خيارات]

dmesg --clear

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

dmesg --console-level 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
تعطيل طباعة الرسائل إلى وحدة التحكم.

-d، --show-delta
عرض الطابع الزمني والفاصل الزمني الذي تم قضاؤه بين الرسائل. عند استخدامه مع --notime، يتم عرض الفاصل الزمني فقط بدون الطابع الزمني.

-E، --console-on
تمكين طباعة الرسائل إلى وحدة التحكم.

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

-F، --file file
قراءة رسائل syslog من الملف المحدد. لاحظ أن -F لا يدعم الرسائل بتنسيق kmsg. انظر -K بدلاً من ذلك.

-f، --facility list
تقييد الإخراج إلى قائمة (مفصولة بفواصل) من المرافق المحددة. على سبيل المثال:

dmesg --facility=daemon

ستطبع رسائل من برامج النظام فقط. للحصول على جميع المرافق المدعومة، انظر إخراج --help.

-H، --human
تمكين الإخراج سهل القراءة. انظر أيضًا --color و --reltime و --nopager.

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

-K، --kmsg-file file
قراءة رسائل /dev/kmsg من الملف المحدد. يجب أن تكون السجلات المختلفة مفصولة ببايت فارغ.

-k، --kernel
طباعة رسائل النواة.

-L، --color[=when]
تلوين الإخراج. يمكن أن تكون الوسيطة الاختيارية when هي auto أو never أو always. إذا تم حذف وسيطة when، فإنها افتراضيًا هي auto. يمكن تعطيل الألوان؛ للحصول على الإعداد الافتراضي الحالي المضمن، راجع إخراج --help. انظر أيضًا قسم الألوان أدناه.

-l، --level list
تقييد الإخراج إلى قائمة (مفصولة بفواصل) من المستويات المحددة. على سبيل المثال:

dmesg --level=err,warn

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

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

dmesg --level=err+

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

إذا تم إضافتها كبادئة، فسيتم تضمين جميع المستويات الأدنى.

-n، --console-level level
يضبط مستوى طباعة الرسائل على وحدة التحكم. يمكن أن يكون المستوى رقمًا أو اختصارًا لاسم المستوى. للحصول على جميع المستويات المدعومة، راجع مخرجات --help.

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

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

-P، --nopager
لا تقم بتمرير الإخراج إلى برنامج تصفح. يتم تمكين برنامج تصفح افتراضيًا لـ --human output.

-p، --force-prefix
أضف معلومات حول المنشأة أو المستوى أو الطابع الزمني إلى كل سطر من رسالة متعددة الأسطر.

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

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

-S، --syslog
اجعل dmesg يستخدم واجهة kernel syslog(2) لقراءة رسائل kernel. الافتراضي هو استخدام /dev/kmsg بدلاً من syslog(2) منذ kernel 3.5.0.

-s، --buffer-size size
استخدم مخزنًا مؤقتًا بحجم محدد للاستعلام عن ذاكرة التخزين المؤقت لـ kernel. القيمة الافتراضية هي 16392. (كان الحجم الافتراضي لذاكرة التخزين المؤقت لـ syslog kernel هو 4096 في البداية، ثم 8192 منذ الإصدار 1.3.54، ثم 16384 منذ الإصدار 2.1.113.) إذا قمت بتعيين حجم ذاكرة التخزين المؤقت لـ kernel ليكون أكبر من القيمة الافتراضية، فيمكن استخدام هذا الخيار لعرض المخزن المؤقت بأكمله.

-T، --ctime
اطبع الطوابع الزمنية المقروءة من قبل الإنسان.

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

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

--until time
اعرض السجلات حتى الوقت المحدد. يتم دعم الدقة في أجزاء من الثانية. يمكن تحديد الوقت بطريقة مطلقة أو بطريقة نسبية (على سبيل المثال، 'ساعة واحدة مضت'). كن على علم بأن الطابع الزمني قد يكون غير دقيق، راجع --ctime لمزيد من التفاصيل.

-t، --notime
لا تطبع الطوابع الزمنية للنواة.

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

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

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

يتبع تنسيق delta دائمًا تنسيق ctime أو raw إذا تم تحديدهما معًا.

-u، --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) لمزيد من التفاصيل.

المؤلفون

كاريل زاك <_>

تمت كتابة dmesg في الأصل بواسطة ثيودور تزو <_>.

انظر أيضًا

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

الإبلاغ عن الأخطاء

للإبلاغ عن الأخطاء، استخدم أداة تتبع المشكلات [https://github.com/util-linux/util-linux/issues].


التوفر

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