Solaris 10 수정 시간

Solaris 10 수정 시간

Solaris 8에서는 파일에 액세스할 때 액세스 시간이 변경되지만 수정 시간은 동일하게 유지됩니다. 그러나 Solaris 10에서는 파일에 액세스할 때 액세스 시간과 수정 시간이 모두 변경되었습니다. 우리는 확인 at하고 mt사용했습니다 truss -v lstat -t lstat ls -l <file>.

이것이 Solaris 10의 동작입니까?

답변1

UFS 또는 ZFS(또는 기타 표준 파일 시스템)에서는 작동하지 않습니다. 파일에 "액세스"하기 위해 무엇을 사용하고 있습니까? 어떤 파일 시스템을 사용하고 있나요?

$ touch test

$ stat test | grep "^[AM]"
Access: (0644/-rw-r--r--)  Uid: (  101/    matt)   Gid: (   10/   staff)
Access: 2013-02-20 13:04:25.597883067 +0000
Modify: 2013-02-20 13:04:25.597883067 +0000

$ cat test

$ stat test | grep "^[AM]"
Access: (0644/-rw-r--r--)  Uid: (  101/    matt)   Gid: (   10/   staff)
Access: 2013-02-20 13:04:38.117719129 +0000
Modify: 2013-02-20 13:04:25.597883067 +0000

$ echo test > test

$ stat test | grep "^[AM]"
Access: (0644/-rw-r--r--)  Uid: (  101/    matt)   Gid: (   10/   staff)
Access: 2013-02-20 13:04:38.117719129 +0000
Modify: 2013-02-20 13:04:54.739753877 +0000

$ cat test
test

$ stat test | egrep "^[AM]"
Access: (0644/-rw-r--r--)  Uid: (  101/    matt)   Gid: (   10/   staff)
Access: 2013-02-20 13:04:59.629405264 +0000
Modify: 2013-02-20 13:04:54.739753877 +0000

답변2

당신이 보고 있는 어떤 것이 올바르게 수행되지 않았습니다(사람의 실수). 예: vi를 사용하여 파일을 만들었습니다.유 = 미터톤:

truss -v lstat -t lstat ls -l count_files.awk
lstat64("count_files.awk", 0xFFBFF5B8)          = 0
    d=0x04010003 i=58647 m=0100755 l=1  u=0     g=0     sz=674
        at = Feb 20 14:05:56 CET 2013  [ 1361365556.951290423 ]
        mt = Feb 20 14:05:58 CET 2013  [ 1361365558.532478282 ]
        ct = Feb 20 14:05:58 CET 2013  [ 1361365558.532478282 ]
    bsz=1024  blks=3     fs=zfs
-rwxr-xr-x   1 root     root         674 Feb 20 14:05 count_files.awk

이제 vi를 사용하여 파일을 다시 열지만 종료합니다.:큐!

참고하세요at은 mt와 같지 않습니다..

truss -v lstat -t lstat ls -l count_files.awk
lstat64("count_files.awk", 0xFFBFF648)          = 0
    d=0x04010003 i=58647 m=0100755 l=1  u=0     g=0     sz=674
        at = Feb 20 14:07:58 CET 2013  [ 1361365678.550493967 ]
        mt = Feb 20 14:05:58 CET 2013  [ 1361365558.532478282 ]
        ct = Feb 20 14:05:58 CET 2013  [ 1361365558.532478282 ]
    bsz=1024  blks=3     fs=zfs
-rwxr-xr-x   1 root     root         674 Feb 20 14:05 count_files.awk

이제 또 다른 테스트를 해보겠습니다. :q! 대신 vi를 사용하여 파일을 열고 종료합니다. (아무것도 변경하지 않았지만 vi그래도 저장될 거야파일 내용)

truss -v lstat -t lstat ls -l count_files.awk
lstat64("count_files.awk", 0xFFBFF5F8)          = 0
    d=0x04010003 i=58647 m=0100755 l=1  u=0     g=0     sz=674
        at = Feb 20 14:09:26 CET 2013  [ 1361365766.879205630 ]
        mt = Feb 20 14:09:28 CET 2013  [ 1361365768.147368630 ]
        ct = Feb 20 14:09:28 CET 2013  [ 1361365768.147368630 ]
    bsz=1024  blks=3     fs=zfs
-rwxr-xr-x   1 root     root         674 Feb 20 14:09 count_files.awk

내가 아는 한, 읽기가 호출되면 시간이 변경되고 쓰기가 완료되면(쓰기 호출) 시간이 수정됩니다.

관련 정보