파일을 ls하면 마지막 수정 날짜가 11월 29일 11시 13분으로 표시되는데 stat에서는 파일이 12월 3일에 변경되었다고 표시되는데 ls와 stat에서 출력되는 날짜가 왜 다른가요?
-rw-rr 1 iadm sys 266240 Nov 29 11:13 log_backup_1_0_26337600_26341632.1417281197106
-rw-rr 1 iadm sys 1585152 Nov 29 11:13 log_backup_0_0_0_0.1417281197131
stat log_backup_0_0_0_0.1417281197131
File: `log_backup_0_0_0_0.1417281197131'
Size: 1585152 Blocks: 3096 IO Block: 32768 regular file
Device: 22h/34d Inode: 17232 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 1002/ iadm) Gid: ( 79/ sys)
Access: 2014-11-29 11:13:17.000000000 -0600
Modify: 2014-11-29 11:13:17.000000000 -0600
**Change: 2014-12-03 09:56:57.618281823 -0600**
Birth: -
stat log_backup_1_0_26337600_26341632.1417281197106
File: `log_backup_1_0_26337600_26341632.1417281197106'
Size: 266240 Blocks: 520 IO Block: 32768 regular file
Device: 22h/34d Inode: 17231 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 1002/ iadm) Gid: ( 79/ sys)
Access: 2014-11-29 11:13:17.000000000 -0600
Modify: 2014-11-29 11:13:17.000000000 -0600
**Change: 2014-12-03 09:56:57.606281658 -0600**
Birth: -
답변1
ls -l
파일 내용이 마지막으로 수정된 시간만 표시하며, stat
파일 시스템 구조에서 파일이 마지막으로 수정된 시간(inode 수정)도 제공합니다.
예를 들어, 파일 이름이 변경되기 전과 후의 타임스탬프를 비교해 보겠습니다.
$ touch abc.txt
$ stat abc.txt
(...)
Access: 2014-12-05 19:23:18.515079101 +0000
Modify: 2014-12-05 19:23:18.515079101 +0000
Change: 2014-12-05 19:23:18.515079101 +0000
$ mv abc.def def.txt
$ stat def.txt
(...)
Access: 2014-12-05 19:23:18.515079101 +0000
Modify: 2014-12-05 19:23:18.515079101 +0000
Change: 2014-12-05 19:24:45.306744159 +0000
동일한 "수정된" 시간이 있지만 마지막 "변경된" 시간이 변경되었습니다.
ls
사용 옵션을 사용하여 "변경된" 시간을 보려면 -lc
다음으로 이동하세요 man ls
.
-c -lt와 함께 사용: ctime을 정렬 및 표시(파일 상태 정보가 마지막으로 수정된 시간) -l과 함께 사용: ctime을 표시하고 이름별로 정렬 그렇지 않은 경우: ctime으로 정렬, 최신 항목부터 정렬
그래서:
$ ls -l def.txt
-rw-r--r-- 1 jimmij jimmij 0 Dec 5 19:23 def.txt
$ ls -lc def.txt
-rw-r--r-- 1 jimmij jimmij 0 Dec 5 19:24 def.txt