less также может открыть gz -компрессированные и несжатые tar архивы. Это дает вам прекрасный выход ls -l:
$ less ~/src/compiz_0.9.7.8-0ubuntu1.6.debian.tar.gz
drwxrwxr-x 0/0 0 2012-09-21 11:41 debian/
drwxrwxr-x 0/0 0 2012-08-09 13:32 debian/source/
-rw-rw-r-- 0/0 12 2012-08-09 13:32 debian/source/format
-rw-rw-r-- 0/0 25 2012-08-09 13:32 debian/libdecoration0-dev.docs
-rw-rw-r-- 0/0 25 2012-08-09 13:32 debian/compiz-dev.docs
-rw-rw-r-- 0/0 347 2012-08-09 13:32 debian/compiz-core.install
-rw-rw-r-- 0/0 125 2012-08-09 13:32 debian/libdecoration0-dev.install
...
И поскольку он less, вы можете прокручивать его, искать и т. Д. Однако он терпит неудачу с другими алгоритмами сжатия (в мой опыт).
Команда dmesg считывает буфер printk ядра, используя режим доступа к пространству пользователя через /dev/kmsg. Каждая запись имеет монотоновую метку времени в микросекундах, которая устанавливается при создании записи журнала.
Таким образом, вопрос не может быть, какая временная метка dmesg (или ядро) будет регистрироваться, но должна быть, когда ядро создаст запись в журнале для конкретного действия.
Как я полагаю, это может отличаться от действия к действию. Когда произойдет событие с ядром, то есть подключите USB-устройство, ядро будет регистрировать это, как только оно будет иметь полезную информацию. Когда ядро выполняет запланированную задачу, имеет смысл регистрировать результаты при выполнении задания. Если это сложная работа, возможно, она создает некоторые записи журнала во время ее запуска, но, как я полагаю, в целом после того, как что-то интересное произошло, или немного времени ушло.
Как вы можете получить доступ к принтеру ядра буфера объясняется здесь.
Итак, если вы специально хотите знать, зарегистрирована ли какая-либо запись в начале или в конце действия, вам нужно посмотреть в коде с интерфейсом kernel- или module-sorce при вызове программы log-функция.
man dmesg, особенно:
-d, --show-delta
Display the timestamp and time delta spent between messages. If
used together with --notime then only the time delta without the
timestamp is printed.
-T, --ctime
Print human readable timestamps. The timestamp could be
inaccurate!
The time source used for the logs is not updated after system
SUSPEND/RESUME.
Значение временной метки - «микросекунды с момента загрузки / 1000000» (выглядит как «секунды до шести знаков после запятой»). Временная метка установлена на 0 при загрузке.
Как и @cmks, значение «microseconds since boot» копируется в запись журнала, когда запись журнала вставляется в буфер ядра. dmesg интерпретирует это значение несколькими различными способами. [ f5] покажет дельта. Я прочитал Вопрос, и ответ от @cmks