я предоставить следующий сценарий, чтобы воспроизвести проблему:«ф -a» (Копировать в архив режиме) не влияет на команду «стат» в поле «Время последнего изменения»
mkdir a
touch a/f
sleep 1
cp -a a b
stat --printf="%u %g %a %z\n" a/f
stat --printf="%u %g %a %z\n" b/f
Результат для два stat
вызовов отличаются в временных меток:
1000 100 644 2015-04-05 10:53:35.736399836 +0200
1000 100 644 2015-04-05 10:53:36.740399841 +0200
Но руководство по cp
говорит, что -a
следует сохранить временные метки. Что я делаю неправильно? Как я могу гарантировать, что временные метки хранятся в копии таким образом, чтобы я мог проверить ее?
Я пробовал это на Xubuntu 14.04. Thx за любую помощь!
Ps (Важно):
Я просто попытался получить доступ к более чем временным меткам ls
, там у меня нет такого же поведения:
$ ls -l --full-time a/
-rw-r--r-- 1 foo bar 0 2015-04-05 10:53:35.736399836 +0200 f
$ ls -l --full-time b/
-rw-r--r-- 1 foo bar 0 2015-04-05 10:53:35.736399836 +0200 f
Может ли я проверку не то с моей командой стата? Я хочу узнать, если файл, как был «изменен», сравнивая его с копией в резервной копии ...
Может быть, я должен использовать '% y', время последнего изменения? Сначала я думал, что это предназначено только для изменений, например. прав доступа и т. д., но, похоже, он также обновляется для изменений содержимого файла ... это, возможно, то, что 'ls' использует в моем примере ... –
- это то, что« последнее изменение »также включает в себя« время рождения », ? это означало бы, что последнее изменение может быть МОЛОДЕЖИ, а затем последним изменено? –