Linux 저장소 생성 시간의 파일 시스템은 무엇입니까?

Linux 저장소 생성 시간의 파일 시스템은 무엇입니까?

inode 테이블에 파일 및 디렉터리 생성 시간을 저장하는 (잘 알려지고 안정적인) Linux 파일 시스템이 있습니까?

그렇다면 "변경" 시간이 stat 호출에서 i-노드 생성 시간으로 대체됩니까?

답변1

일부 파일 시스템은 파일 생성 시간을 저장하지만 이 필드에 대한 표준 이름은 없습니다.

  • ufs2 → st_birthtime
  • zfs → crtime
  • ext4 → crtime
  • btrfs → 시간
  • jfs → di_otime

답변2

이것외부 4파일 시스템은 생성 시간을 저장합니다. stat -c %W myfile보여드릴 수 있어요.

답변3

내가 아는 한, ext4, JFS 및 BTRFS 파일 시스템은 이름이 다를 수 있지만 모두 생성 시간을 저장하기 위해 파일 inode에 추가 필드를 지원합니다.

원천:LWN 파일 생성 시간

답변4

xfs v5는 crtime을 지원합니다

# dmesg | grep -iE 'xfs.*\s+mounting' | head -1
[   10.939721] XFS (dm-1): Mounting V5 Filesystem

디스플레이에는 V5를 사용하십시오. 그런 다음 파일 inode 번호를 얻으십시오.

# stat -c '%i' test.txt
68227195

그런 다음 crtime을 얻으십시오.

# xfs_db -r -c "inode 68227195" -c "p v3.crtime.sec" <device eg. /dev/mapper/rl-root>
v3.crtime.sec = Mon Jun  6 15:13:02 2022

또는 한 줄에:

xfs_db -r -c "inode $(stat -c '%i' test.txt)" -c "p v3.crtime.sec" <device>

편집하다

...더 간단한 방법입니다.

" "에서 stat <filename>반환된 동일한 결과 에 대해Birth

[root@wsa test]# pwd
/root/test

[root@wsa test]# ls
total 8.0K
67109562    0 drwxr-xr-x.  2 root root   22 Mar 22 00:07 .
     133 4.0K dr-xr-x---. 19 root root 4.0K Mar 21 23:54 ..
67552174 4.0K -rw-r--r--.  1 root root   10 Mar 22 00:07 test.txt

[root@wsa test]# df .
Filesystem          1K-blocks     Used Available Use% Mounted on
/dev/mapper/al-root 104806400 25289868  79516532  25% /

[root@wsa test]# xfs_db -r -c "inode $(stat -c '%i' test.txt)" -c "p v3.crtime.sec" /dev/mapper/al-root
v3.crtime.sec = Tue Mar 21 23:55:55 2023

[root@wsa test]# stat test.txt
  File: test.txt
  Size: 10              Blocks: 8          IO Block: 4096   regular file
Device: fd01h/64769d    Inode: 67552174    Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2023-03-22 00:07:38.926108379 +0000
Modify: 2023-03-22 00:07:55.794041676 +0000
Change: 2023-03-22 00:07:55.794041676 +0000
 Birth: 2023-03-21 23:55:55.413859045 +0000

그리고 실행;

Operating System: AlmaLinux 8.7 (RHEL clone)
Kernel Version: 4.18.0-425.13.1.el8_7.x86_64 (64-bit)
    
[root@wsa test]# stat --version
stat (GNU coreutils) 8.30
Copyright (C) 2018 Free Software Foundation, Inc.
    
[root@wsa test]# xfs_db -r /dev/mapper/al-root
xfs_db> version
versionnum [0xb4b5+0x18a] = V5,NLINK,DIRV2,ATTR,ALIGN,LOGV2,EXTFLG,MOREBITS,ATTR2,LAZYSBCOUNT,PROJID32BIT,CRC,FTYPE,FINOBT,SPARSE_INODES,REFLINK

관련 정보