5

Я знаю, что вы можете использовать "touch", чтобы изменить доступ и изменить временные метки файла, используя флаг "-t", но возможно ли изменить временную метку "change". Если так, то как мне поступить? Большое спасибо за ваше время.

2 ответа2

8

Вы спрашиваете, как установить значение ctime для файла. Единственный способ сделать это - изменить системную дату, а затем изменить файл, что является довольно грубым методом, который, вероятно, нанесет вред всей вашей системе.

Если вы используете ext3 (возможно, ext2 и ext4 ?) Вы можете использовать debugfs чтобы изменить его, но для этого необходимо сначала отключить файловую систему. Вы можете найти информацию в COMMAND LINE KUNG FU: Эпизод # 80: Бандиты времени (начало о Windows; перейдите на полпути к "Hal имеет прикосновение"), чтобы прочитать о таких командах, как это: debugfs -w -R 'set_inode_field /tmp/test ctime 200901010101' /dev/mapper/elk-root

Без такого использования метаданных файловой системы вы не сможете этого сделать.

-1

Что? Время изменения - это время последнего изменения файла.

$ touch test
$ stat test
  File: `test'
  Size: 749             Blocks: 8          IO Block: 4096   regular file
Device: fd01h/64769d    Inode: 33          Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1000/      me)   Gid: ( 1000/      me)
Access: 2012-03-06 18:43:19.000000000 -0600
Modify: 2012-03-06 18:43:19.000000000 -0600
Change: 2012-03-06 18:43:19.000000000 -0600
$ touch test
$ stat test
  File: `test'
  Size: 749             Blocks: 8          IO Block: 4096   regular file
Device: fd01h/64769d    Inode: 33          Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1000/      me)   Gid: ( 1000/      me)
Access: 2012-03-06 18:43:23.000000000 -0600
Modify: 2012-03-06 18:43:23.000000000 -0600
Change: 2012-03-06 18:43:23.000000000 -0600

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .