Что вы ищете, так это * nix, называемый временем рождения файла.
К сожалению, большинство файловых систем * nix не отслеживают эту часть информации.
Если он доступен, его должна отображать последняя версия stat
. В противном случае, лучше всего , вероятно , будет сравниваться файл листингом из резервных копий (у вас есть резервные копии, не так ли?) чтобы увидеть, какие файлы были добавлены.
~$ stat .bashrc
File: `.bashrc'
Size: 3539 Blocks: 9 IO Block: 3584 regular file
Device: 24h/36d Inode: 204095 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 1000/ michael) Gid: ( 1000/ michael)
Access: 2013-12-11 09:41:50.315475289 +0100
Modify: 2013-08-16 21:28:42.000000000 +0200
Change: 2013-09-14 01:55:27.167869741 +0200
Birth: -
~$
Как вы можете видеть, метка времени рождения не существует, что означает, что файловая система, которую я использую для своего домашнего каталога (в моем случае ZFS), либо не хранит эту информацию, либо не предоставляет ее через файловую систему Linux. слой таким образом, что стат знает о. В любом случае эффект в основном одинаков: информация недоступна.
Выше сказанное, я не был бы особенно удивлен, если бы даже в системе, которая отслеживает время рождения файла, что-то вроде cp --copy-contents --preserve=timestamps /dev/null /tmp/somefile && cat ./somefile >> /tmp/somefile
фактически аннулирует что-либо подобное. Таким образом, даже если время рождения доступно, вы не должны полагаться на них в отношении чего-либо важного, например, оценки воздействия нарушения безопасности.
Самое близкое, что вы можете получить в большинстве систем, это, вероятно, время изменения файла или время, которое показывает статистика и которое отслеживает большинство файловых систем. Однако, как вы заметили, это тривиально меняется с помощью touch
.