]> git.ipfire.org Git - thirdparty/util-linux.git/blobdiff - sys-utils/dmesg.1
rev: be careful with close()
[thirdparty/util-linux.git] / sys-utils / dmesg.1
index ff149a9e37fdac7b3b5b9f768a5f709608527c33..a93821aeae2507035ef1a9ef7c0a98cc39dbd1a1 100644 (file)
 dmesg \- print or control the kernel ring buffer
 .SH SYNOPSIS
 .B dmesg
-.RB [ options ]
+[options]
 .sp
-dmesg \-\-clear
+.B dmesg \-\-clear
 .br
-dmesg \-\-read-clear [options]
+.BR "dmesg \-\-read\-clear " [options]
 .br
-dmesg \-\-console-level level
+.BI "dmesg \-\-console\-level " level
 .br
-dmesg \-\-console-on
+.B dmesg \-\-console\-on
 .br
-dmesg \-\-console-off
+.B dmesg \-\-console\-off
 .SH DESCRIPTION
 .B dmesg
 is used to examine or control the kernel ring buffer.
 .PP
-The default action is to read all messages from kernel ring buffer.
+The default action is to display all messages from the kernel ring buffer.
 .SH OPTIONS
-The \-\-clear, \-\-read-clear, \-\-console-on, \-\-console-off and
-\-\-console-level options are mutually exclusive.
+The
+.BR \-\-clear ,
+.BR \-\-read\-clear ,
+.BR \-\-console\-on ,
+.BR \-\-console\-off ,
+and
+.B \-\-console\-level
+options are mutually exclusive.
 .PP
 .IP "\fB\-C\fR, \fB\-\-clear\fR"
 Clear the ring buffer.
-.IP "\fB\-c\fR, \fB\-\-read-clear\fR"
-Clear the ring buffer contents after printing.
-.IP "\fB\-D\fR, \fB\-\-console-off\fR"
-Disable printing messages to the console.
-.IP "\fB\-d\fR, \fB\-\-show-delta\fR"
-Display the timestamp and time delta spent between messages.  If used
+.IP "\fB\-c\fR, \fB\-\-read\-clear\fR"
+Clear the ring buffer after first printing its contents.
+.IP "\fB\-D\fR, \fB\-\-console\-off\fR"
+Disable the printing of messages to the console.
+.IP "\fB\-d\fR, \fB\-\-show\-delta\fR"
+Display the timestamp and the time delta spent between messages.  If used
 together with
 .B \-\-notime
 then only the time delta without the timestamp is printed.
-.IP "\fB\-E\fR, \fB\-\-console-on\fR"
+.IP "\fB\-E\fR, \fB\-\-console\-on\fR"
 Enable printing messages to the console.
+.IP "\fB\-e\fR, \fB\-\-reltime\fR"
+Display the local time and the delta in human-readable format.  Be aware that
+conversion to the local time could be inaccurate (see \fB\-T\fR for more
+details).
 .IP "\fB\-F\fR, \fB\-\-file \fIfile\fR"
-Read log from
+Read the syslog messages from the given
 .IR file .
+Note that \fB\-F\fR does not support messages in kmsg format. The old syslog format is supported only.
 .IP "\fB\-f\fR, \fB\-\-facility \fIlist\fR"
-Restrict output to defined (comma separated)
+Restrict output to the given (comma-separated)
 .I list
-of facilities.  For example
+of facilities.  For example:
 .PP
 .RS 14
-dmesg \-\-facility=daemon
+.B dmesg \-\-facility=daemon
 .RE
 .IP
 will print messages from system daemons only.  For all supported facilities
-see
-.B dmesg \-\-help
+see the
+.B \-\-help
 output.
-.IP "\fB\-h\fR, \fB\-\-help\fR"
-Print a help text and exit.
+.IP "\fB\-H\fR, \fB\-\-human\fR"
+Enable human-readable output.  See also \fB\-\-color\fR, \fB\-\-reltime\fR
+and \fB\-\-nopager\fR.
 .IP "\fB\-k\fR, \fB\-\-kernel\fR"
 Print kernel messages.
+.IP "\fB\-L\fR, \fB\-\-color\fR[=\fIwhen\fR]"
+Colorize the output.  The optional argument \fIwhen\fP
+can be \fBauto\fR, \fBnever\fR or \fBalways\fR.  If the \fIwhen\fR argument is omitted,
+it defaults to \fBauto\fR.  The colors can be disabled; for the current built-in default
+see the \fB\-\-help\fR output.  See also the \fBCOLORS\fR section below.
 .IP  "\fB\-l\fR, \fB\-\-level \fIlist\fR"
-Restrict output to defined (comma separated)
+Restrict output to the given (comma-separated)
 .I list
-of levels.  For example
+of levels.  For example:
 .PP
 .RS 14
-dmesg \-\-level=err,warn
+.B dmesg \-\-level=err,warn
 .RE
 .IP
-will print error and warning messages only.  For all supported levels see
-.B dmesg \-\-help
+will print error and warning messages only.  For all supported levels see the
+.B \-\-help
 output.
-.IP "\fB\-n\fR, \fB\-\-console-level \fIlevel\fR
+.IP "\fB\-n\fR, \fB\-\-console\-level \fIlevel\fR
 Set the
 .I level
-at which logging of messages is done to the console.  The
+at which printing of messages is done to the console.  The
 .I level
 is a level number or abbreviation of the level name.  For all supported
-levels see
-.B dmesg \-\-help
+levels see the
+.B \-\-help
 output.
 .sp
 For example,
 .B \-n 1
 or
-.B \-n alert
+.B \-n emerg
 prevents all messages, except emergency (panic) messages, from appearing on
 the console.  All levels of messages are still written to
 .IR /proc/kmsg ,
@@ -96,25 +113,41 @@ option is used,
 will
 .I not
 print or clear the kernel ring buffer.
+.IP "\fB\-P\fR, \fB\-\-nopager\fR"
+Do not pipe output into a pager.  A pager is enabled by default for \fB\-\-human\fR output.
+.IP "\fB\-p\fR, \fB\-\-force\-prefix\fR"
+Add facility, level or timestamp information to each line of a multi-line message.
 .IP "\fB\-r\fR, \fB\-\-raw\fR"
-Print the raw message buffer, i.e., do not strip the log level prefixes.
+Print the raw message buffer, i.e. do not strip the log-level prefixes.
+
+Note that the real raw format depends on the method how
+.BR dmesg (1)
+reads kernel messages.  The /dev/kmsg device uses a different format than
+.BR syslog (2).
+For backward compatibility,
+.BR dmesg (1)
+returns data always in the
+.BR syslog (2)
+format.  It is possible to read the real raw data from /dev/kmsg by, for example,
+the command 'dd if=/dev/kmsg iflag=nonblock'.
 .IP "\fB\-S\fR, \fB\-\-syslog\fR"
-Force to use
-.BR syslog(2)
-kernel interface to read kernel messages. The default is to use /dev/kmsg rather
+Force \fBdmesg\fR to use the
+.BR syslog (2)
+kernel interface to read kernel messages.  The default is to use /dev/kmsg rather
 than
-.BR syslog(2)
+.BR syslog (2)
 since kernel 3.5.0.
-.IP "\fB\-s\fR, \fB\-\-buffer-size \fIsize\fR
+.IP "\fB\-s\fR, \fB\-\-buffer\-size \fIsize\fR
 Use a buffer of
 .I size
 to query the kernel ring buffer.  This is 16392 by default.  (The default
 kernel syslog buffer size was 4096 at first, 8192 since 1.3.54, 16384 since
-2.1.113.)  If you have set the kernel buffer to be larger than the default
+2.1.113.)  If you have set the kernel buffer to be larger than the default,
 then this option can be used to view the entire buffer.
 .IP "\fB\-T\fR, \fB\-\-ctime\fR"
-Print human readable timestamps.  The timestamp could be inaccurate!
+Print human-readable timestamps.
 .IP
+.B Be aware that the timestamp could be inaccurate!
 The
 .B time
 source used for the logs is
@@ -123,27 +156,101 @@ system
 .BR SUSPEND / RESUME .
 .IP "\fB\-t\fR, \fB\-\-notime\fR"
 Do not print kernel's timestamps.
-.IP "\fB\-u\fR, \fB\-\-userspace\fR"
+.IP "\fB\-\-time\-format\fR \fIformat\fR"
+Print timestamps using the given \fIformat\fR, which can be
+.BR ctime ,
+.BR reltime ,
+.B delta
+or
+.BR iso .
+The first three formats are aliases of the time-format-specific options.
+The
+.B iso
+format is a
+.B dmesg
+implementation of the ISO-8601 timestamp format.  The purpose of this format is
+to make the comparing of timestamps between two systems, and any other parsing,
+easy.  The definition of the \fBiso\fR timestamp is:
+YYYY-MM-DD<T>HH:MM:SS,<microseconds><-+><timezone offset from UTC>.
+.IP
+The
+.B iso
+format has the same issue as
+.BR ctime :
+the time may be inaccurate when a system is suspended and resumed.
+.TP
+.BR \-u , " \-\-userspace"
 Print userspace messages.
-.IP "\fB\-V\fR, \fB\-\-version\fR"
-Output version information and exit.
-.IP "\fB\-w\fR, \fB\-\-follow\fR"
-Wait for new messages. This feature is supported on systems with readable
-/dev/kmsg only (since kernel 3.5.0).
-.IP "\fB\-x\fR, \fB\-\-decode\fR"
-Decode facility and level (priority) number to human readable prefixes.
+.TP
+.BR \-w , " \-\-follow"
+Wait for new messages.  This feature is supported only on systems with
+a readable /dev/kmsg (since kernel 3.5.0).
+.TP
+.BR \-x , " \-\-decode"
+Decode facility and level (priority) numbers to human-readable prefixes.
+.TP
+.BR \-V , " \-\-version"
+Display version information and exit.
+.TP
+.BR \-h , " \-\-help"
+Display help text and exit.
+.SH COLORS
+Implicit coloring can be disabled by an empty file \fI/etc/terminal-colors.d/dmesg.disable\fR.
+See
+.BR terminal-colors.d (5)
+for more details about colorization configuration.
+.PP
+The logical color names supported by
+.B dmesg
+are:
+.TP
+.B subsys
+The message sub-system prefix (e.g. "ACPI:").
+.TP
+.B time
+The message timestamp.
+.TP
+.B timebreak
+The message timestamp in short ctime format in \fB\-\-reltime\fR 
+or \fB\-\-human\fR output.
+.TP
+.B alert
+The text of the message with the alert log priority.
+.TP
+.B crit
+The text of the message with the critical log priority.
+.TP
+.B err
+The text of the message with the error log priority.
+.TP
+.B warn
+The text of the message with the warning log priority.
+.TP
+.B segfault
+The text of the message that inform about segmentation fault.
+.SH EXIT STATUS
+.B dmesg
+can fail reporting permission denied error.  This is usually caused by
+.B dmesg_restrict
+kernel setting, please see
+.BR syslog (2)
+for more details.
 .SH SEE ALSO
+.BR terminal-colors.d (5),
 .BR syslogd (8)
 .SH AUTHORS
 .MT kzak@redhat.com
 Karel Zak
 .ME
+
 .br
+.B dmesg
+was originally written by
 .MT tytso@athena.mit.edu
 Theodore Ts'o
 .ME
 .SH AVAILABILITY
 The dmesg command is part of the util-linux package and is available from
-.UR ftp://\:ftp.kernel.org\:/pub\:/linux\:/utils\:/util-linux/
+.UR https://\:www.kernel.org\:/pub\:/linux\:/utils\:/util-linux/
 Linux Kernel Archive
 .UE .