В вариации на тему, предложенную другими:
cp -al "$oldname" "$newname"
unlink "$oldname"
следует избегать любого копирования, если $ oldname и $ newname находятся в одной точке монтирования (файловая система).
Вам повезло.
Solaris (с ZFS) - одна из немногих файловых систем, которые на самом деле учитывают свойство времени создания для файлов.
Теперь включеноtopic: Нет, вы не можете сохранить все время: индекс будет меняться, а имя файла меняется.Это означает, что индекс ctime будет меняться в соответствии с (POSIX) определением.
Ваше время последнего доступа также изменится, если только вы не используете точку монтирования noatime (zfs set atime = off).
Я не думаю, что есть способ изменить это.Однако время создания файла не должно меняться вообще. Я собирался показать команды, чтобы показать время создания, но, к сожалению, у меня нет удобной коробки с Solaris, и я не могу ее найти.Я думаю, что ваша лучшая ставка - man ls find stat
.
GL