1

Я ssh'd на моих университетских Linux-серверах (RHEL 7). Вот сделка. Это связано с "ls" и "старыми" файлами.

Домашний каталог:

$ touch -d '1918-11-11 11:00 GMT' wwi-armistice
$ touch now
$ sleep 1
$ touch now1
$ TZ=UTC0 ls -lt --full-time wwi-armistice now now1
-rw-r--r-- 1 tsai csugrad 0 2054-12-17 17:28:16.000000000 +0000 wwi-armistice
-rw-r--r-- 1 tsai csugrad 0 2018-05-04 22:07:10.743637000 +0000 now1
-rw-r--r-- 1 tsai csugrad 0 2018-05-04 22:06:59.992632000 +0000 now

каталог tmp:

$ tmp=$(mktemp -d)
$ cd $tmp
$ touch -d '1918-11-11 11:00 GMT' wwi-armistice
$ touch now
$ sleep 1
$ touch now1
$ TZ=UTC0 ls -lt --full-time wwi-armistice now now1
-rw-r--r-- 1 tsai csugrad 0 2018-05-04 23:04:27.031485854 +0000 now1
-rw-r--r-- 1 tsai csugrad 0 2018-05-04 23:04:22.907373125 +0000 now
-rw-r--r-- 1 tsai csugrad 0 1918-11-11 11:00:00.000000000 +0000 wwi-armistice

Я знаю причину, по которой первый вывод показывает, что wwi-armistice в 2054 году как-то связан с 32-разрядным знаковым 32-разрядным преобразованием времени Unix без знака. Если бы кто-то мог это подтвердить и, возможно, объяснить, почему (что-то, что-то, НФС?), Это было бы здорово.

Мой второй, более важный вопрос: почему, когда я делаю этот пример в каталоге tmp, правильно ли указан wwi-перемирие?

Имейте в виду, что я ничего не знаю о сетевом взаимодействии, поэтому было бы полезно дать базовое объяснение.

1 ответ1

1

Это может быть полезно, если вы можете определить файловые системы и их подключенные опции в игре здесь.

mount отобразит иерархию файловой системы и параметры времени монтирования.

stat -f --format="%T" $file напечатает тип файловой системы названного файла. Я подозреваю, что результаты для версий /tmp будут отличаться от тех, что находятся (вероятно) в вашем домашнем каталоге.

Когда вы знаете конкретную файловую систему и ее смонтированные параметры, вы можете исследовать ее ограничения на временные метки, но я думаю, что вы в этом суть: первая файловая система не имеет достаточного числового диапазона в своем распределении байтов временных меток, чтобы представить дату 1918 года, в то время как второй делает.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .