Назад | Перейти на главную страницу

Время создания файла в Windows и Linux

У нас есть следующая настройка:

  1. mountserver - debian linux
  2. fileserver1 - сервер хранения Windows 2008 R2
  3. fileserver2 - Celerra NS20 экспортирует общий ресурс CIFS
  4. рабочая станция - Windows 7 с подключенным диском для совместного использования на файловом сервере2

Что мы делаем:

Из того, что я вижу, команда linux stat на сервере монтирования возвращает следующее при запросе файла на / shared / fileserver2:

В то же время, когда я открываю свойство для того же файла, используя подключенный диск, подключенный к fileserver2, я вижу следующее для того же файла:

Как видите, дату создания 12 августа, показанную в проводнике Windows, нигде не видно с помощью команды stat.

Я что-то упустил?

Linux не хранит время создания файла. Таким образом, вы не сможете просматривать такую ​​информацию на машине с Linux.

Вот это ссылка который показывает структуру данных inode. Ты можешь найти:

time_t                       i_atime;
time_t                       i_mtime;
time_t                       i_ctime;

Ничего из этого не время творения.

Некоторые новые файловые системы Linux поддерживают информацию (в своих индексных дескрипторах) о времени создания файла, например JFS, ext4 или btrfs. Но традиционные файловые системы Unix и Linux не поддерживали его, поэтому вся цепочка инструментов еще не знает о такой функции.

Таким образом, хотя smbfs / cifs могут иметь доступ к этой информации, существует пока нет места для сообщения этой информации в структуре статистики:

struct stat {
  dev_t     st_dev;     /* ID of device containing file */
  ino_t     st_ino;     /* inode number */
  mode_t    st_mode;    /* protection */
  nlink_t   st_nlink;   /* number of hard links */
  uid_t     st_uid;     /* user ID of owner */
  gid_t     st_gid;     /* group ID of owner */
  dev_t     st_rdev;    /* device ID (if special file) */
  off_t     st_size;    /* total size, in bytes */
  blksize_t st_blksize; /* blocksize for file system I/O */
  blkcnt_t  st_blocks;  /* number of 512B blocks allocated */
  time_t    st_atime;   /* time of last access */
  time_t    st_mtime;   /* time of last modification */
  time_t    st_ctime;   /* time of last status change */
};

Время создания файла нигде не хранится в разделах Linux, поэтому в статистике отображается только следующее:

atime (access time)
mtime (last modification time)
ctime (last status change)