struct stat {
dev_t st_dev; /* device */
ino_t st_ino; /* inode */
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 type (if inode device) */
off_t st_size; /* total size, in bytes */
blksize_t st_blksize; /* blocksize for filesystem I/O */
blkcnt_t st_blocks; /* number of 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 */
};
man 2 stat 해서 나오는걸 긁어붙여봤습니다.
access, modfication, status change 라네요..
man 페이지 보시면 좀 더 자세한 설명이 나와있습니다.
The value st_blocks 값은 512-bytes 블록에 있는 파일의 크기
를 준다. st_blksize 값은 효율적인 파일 시스템 I/O를 위 해
"선택된" 블록 크기를 준다. (더 작은 공간에 파일을 쓰는 것
은 쓰고-수정하고-다시 쓰는데 비효율적이다.)4
모든 리눅스 파일시스템이 모든 시간 영역에서 실행하는 것 은
아 니 다. 전 통 적으로, st_atime 는 mknod(2), utime(2),
read(2), write(2),와 truncate(2). 로 바뀌었다. 전통적 으
로, st_mtime 는 mknod(2), utime(2),와 write(2). 로 바뀌었
다. st_mtime 는 소유자, 그룹, 하드링크 카운트, 혹은 모 드
의 변화에 따라 바뀌지 않았다.
전 통 적으로, st_ctime 는 inode 정보를 쓰거나 설정함으로써
바뀌었다.(i.e., owner, group,link count, mode,등등).
위와같은 설명만으로는 부족하지 않나요?
그리고 간단히 테스트를 해본결과 위 설명처럼 되지 않더군요..
3개의 값이 모두 변경이 되더군요..
그리고 stat 상의 time 과 ls 상의 시간이 다르더군요...
[code:1]struct stat {
man 2 stat 해서 나오는걸 긁어붙여봤습니다.
access, modfication, status change 라네요..
man 페이지 보시면 좀 더 자세한 설명이 나와있습니다.
ㅠ.ㅠ 제질문이 man 페이지도 못보는 초보같이 보였나보군요..그
ㅠ.ㅠ 제질문이 man 페이지도 못보는 초보같이 보였나보군요..
그정도는 아니구요... ^^
위와같은 설명만으로는 부족하지 않나요?
그리고 간단히 테스트를 해본결과 위 설명처럼 되지 않더군요..
3개의 값이 모두 변경이 되더군요..
그리고 stat 상의 time 과 ls 상의 시간이 다르더군요...
그러면 ls 상에 표시되는 날자는 대체 어디에 있는건가 하는 의문에서 위과
같이 질문을 한겁니다.
[quote="Anonymous"]...[/quote]테스
테스트가 잘못된것으로 보이외다.
ls에서 보이는 시간은 분(minute)단위 이므로 테스트를 분단위로 해야하오.
그렇지 않다면(초단위로 해보겠다면), struct stat{}내의 시간값들을
정수로 찍어보시기 바라오.
access/modification/status change를 도대체 어떤 시스템 호출로 하는가?는 "그 정도는 아니구요...^^"에 써 있구료.
코드 치기 귀찮을까봐 내가 친 코드 올리오.[code:1]#inclu
코드 치기 귀찮을까봐 내가 친 코드 올리오.
손님으로 접속하여 비꼬는 듯한 말투는 듣기 별로 좋지 않군요..M
손님으로 접속하여 비꼬는 듯한 말투는 듣기 별로 좋지 않군요..
MORE 를 좀더 자세히 테스트 보기 바람...
stat 값과 ls 상의 값이 동일한지...
개발자들의 궁극적 비전은 ?
[quote="ssik425"]손님으로 접속하여 비꼬는 듯한 말투는 듣기
기분이 상했다면 미안하오.
테스트를 더 해봤소이다.
첫번째, 두번째, 세번째 값을 비교해야하는데,
1970년부터 1초에 1씩 증가시킨 정수값으로는 구분이 확실히 되오.
이를 날짜로 변환하는 함수호출에 미숙함이 보이오.
(미안하오. 미숙해서..써본지 너무 오래되서 다 까먹었소이다.)
궁여지책으로 대충 다음과 같이 코드를 변경했소이다.
그런데, ...
스타일과
후자로 테스트해본 코드를 보시오.
아.. time을 인쇄하는 문제에는 또 :evil: 버그가 있을지도 모르겠구료.
그리고, 답변하려고 노력했으니, 노여움 풀고 용서해주기 바라오.
안해줘도 어쩔수없구료.
댓글 달기