c e t f 0 0 0 0 r, w, rw 모두 fail 0 0 0 1 r, w, rw 모두 success 0 0 1 0 r, w, rw 모두 fail 0 0 1 1 w가 있으면 trunc, 아니면 정상 open 0 1 0 0 r, w, rw 모두 fail 0 1 0 1 r, w, rw 모두 success. e는 아무 효과 없음. 0 1 1 0 r, w, rw 모두 fail 0 1 1 1 e는 아무 효과 없음. w가 있으면 trunc아니면 정상 open 1 0 0 0 r이면 파일을 생성은 하지만 write불가 1 0 0 1 r, w, rw 모두 success 1 0 1 0 r이면 파일을 생성은 하지만 write불가 1 0 1 1 w가 있으면 trunc, 아니면 정상 open 1 1 0 0 r이면 파일을 생성은 하지만 write불가 1 1 0 1 r, w, rw 모두 fail 1 1 1 0 r이면 파일을 생성은 하지만 write불가 1 1 1 1 r, w, rw 모두 fail file이 없을 때는 O_CREAT가 없으면 무조건 fail O_TRUNC가 실제로 truncate하기 위해서는 w가 필요. READONLY에서 TRUNC를 줬을 때는 별다른 반응 없음. O_EXCL은 O_CREAT와 함께하지 않으면 아무런 효과 없음. O_RDONLY면 다른 flag에 상관없이 무조건 readonly. 단 파일이 없을때 생성은 가능. file이 이미 존재할 때 O_CREAT flag는 아무런 효과 없음. ( O_EXCL이 있을 때 예외 ) O_TRUNC는 file이 존재하지 않을 때는 아무런 효과 없음.