Я использую ls -t
для обработки моих файлов по срочному заказу, где ls -t
ссылается на время модификации.Unix: Каково временное разрешение ls -t?
Мой вопрос: насколько точна эта опция -t
? Секунды, миллисекунды или наносекунды?
Я использую ls -t
для обработки моих файлов по срочному заказу, где ls -t
ссылается на время модификации.Unix: Каково временное разрешение ls -t?
Мой вопрос: насколько точна эта опция -t
? Секунды, миллисекунды или наносекунды?
Это зависит от операционной системы и используемой файловой системы, поэтому нет окончательного ответа на этот вопрос без указания точной среды.
Например, 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 с).
Другими словами, какая файловая система и ОС? ex: Solaris 10, ZFS или, возможно, Red Hat Linux и ext4. –
@jimmcnamara: Возможно, вам потребуется уточнить и указать версию ядра. Большую часть времени FS является ограничивающим фактором (например, FAT12-32 имеет разрешение 10 мс, ext2/3 всего 1 с, но ext4 1ns). Но даже если FS имеет высокую точность, он может быть «испорчен», если разрешение таймера OS ниже. – DarkDust
О, время модификации FAT12-32 имеет только разрешение 2s ... – DarkDust
Это хороший вопрос, но зависит от системы. Это зависит от ОС, файловой системы, 'ls'. – Carpetsmoker
Для записи: я голосовал, чтобы переместить этот вопрос в Unix & Linux, и это то, что я думаю, что это нужно сделать. Это хороший вопрос и подходит лучше: миграция - это решение, а не просто закрытие. – fedorqui
'ls' просто сообщает время, сохраненное в метаданных файла файловой системой. У него нет собственного решения. – chepner