Влияет ли переименование на изменение файла или время доступа? Есть ли где-нибудь список того, что меняется, когда?
files
timestamps
Жиль "ТАК - прекрати быть злым"
источник
источник
cp
иmv
, иvi
для редактирования. Другие редакторы или ваш рабочий стол могут обрабатывать задачу по-другому и обновлять больше временных меток.mv
Модификация, влияющая на mtime файла, - это изменение данных файла: запись ненулевого количества байтов или усечение, которое приводит к изменению файла. Создание файла также устанавливает его mtime на текущую дату. Простое открытие файла для записи не влияет на mtime, при условии, что файл не создан или не обрезан.
Чтение из файла (если читается ненулевое число байтов) или выполнение файла устанавливает его время в текущее время. Простое открытие файла для чтения никогда не влияет на время. В Linux это теперь отключено по умолчанию в большинстве случаев;
atime
крепление опция восстанавливает ATIME обновления, в то время какnoatime
параметр монтирования отключает их полностью.Программы могут изменять mtime и atime файла; Основная команда для этого
touch
. Некоторые программы копирования файлов устанавливают то же время копирования, что и оригинал, напримерcp -p
илиrsync -t
.Изменение, влияющее на ctime файла, - это изменение метаданных файла: разрешений, владельца, времени, количества ссылок и т. Д. Переименование файла также обновляет его ctime. Изменения данных файла также влияют на ctime, но чтение из файла не меняет ctime, даже если оно меняет atime. Невозможно изменить ctime каким-либо иным способом, кроме как установить его на текущее время (даже root ограничен, но root может косвенно установить ctime, сначала изменив системное время или получив прямой доступ к разделу, содержащему файловую систему).
источник
Дополнительное эмпирическое наблюдение, не упомянутое другими ответами:
Открытие файла для записи с
O_TRUNC
изменениями mtime, даже если файл изначально был пустым.Это, кажется, имеет место по крайней мере на ext3 в Linux 3.10.
источник