2014-12-05 6 views
2

Я использую ls -t для обработки моих файлов по срочному заказу, где ls -t ссылается на время модификации.Unix: Каково временное разрешение ls -t?

Мой вопрос: насколько точна эта опция -t? Секунды, миллисекунды или наносекунды?

+2

Это хороший вопрос, но зависит от системы. Это зависит от ОС, файловой системы, 'ls'. – Carpetsmoker

+2

Для записи: я голосовал, чтобы переместить этот вопрос в Unix & Linux, и это то, что я думаю, что это нужно сделать. Это хороший вопрос и подходит лучше: миграция - это решение, а не просто закрытие. – fedorqui

+1

'ls' просто сообщает время, сохраненное в метаданных файла файловой системой. У него нет собственного решения. – chepner

ответ

2

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

Например, FAT12/16/32 имеет временное разрешение создания 10 мс, но разрешение временной метки изменения составляет всего 2 секунды. Таким образом, даже если ОС поддерживает более высокое разрешение по таймеру (довольно вероятно ;-), вы не получите метки времени, которые точнее, чем это разрешение 2 с.

С другой стороны, если у вас есть файловая система с разрешением в 1 наносекунду (например, ext4, btrfs, XFS или ZFS), но таймер вашего ядра ОС имеет только 1 миллисекундное разрешение, это опять же ограничивающий фактор, t получить точнее, чем 1 миллисекунду.

Список некоторых разрешений файловой системы см. В разделе Wikipedia article "Comparison of file systems". Он не является полным и содержит только максимальное разрешение , которое может вводить в заблуждение, как это видно с помощью FAT12/16/32, которые имеют разные разрешения для создания (10 мс) и временных интервалов модификации (2 с).

+0

Другими словами, какая файловая система и ОС? ex: Solaris 10, ZFS или, возможно, Red Hat Linux и ext4. –

+0

@jimmcnamara: Возможно, вам потребуется уточнить и указать версию ядра. Большую часть времени FS является ограничивающим фактором (например, FAT12-32 имеет разрешение 10 мс, ext2/3 всего 1 с, но ext4 1ns). Но даже если FS имеет высокую точность, он может быть «испорчен», если разрешение таймера OS ниже. – DarkDust

+0

О, время модификации FAT12-32 имеет только разрешение 2s ... – DarkDust

Смежные вопросы