Apue의 3-4.c 예의 이해...

매번 공부할 때마다 기록이 없으니, 여기에 내가 기록해 보겠다.
Linux에서 표준 입력 0, 표준 출력 1, 표준 오류 출력 2
그럼.a.out 0은 표준 입력이 읽을 수 있는지 테스트하는 것입니다.기본 표준 입력은 터미널이기 때문에 터미널은 읽을 수 있고 쓸 수 있습니다.read write로 내보내기
하지만 $./a.out 0 하면, 만약, 만약...a.out 1 //잠깐 여기까지 썼는데 이해가 잘 안 될 수도 있으니 다시 고쳐야 한다.
$ ./a.out 1 > temp.foo는 출력 리셋,temp입니다.foo가 새 파일이면 fcntl(1,F GETFL,0);판단foo의 읽기와 쓰기 속성, 새로운temp.foo 기본값read write
$ ./a.out 0 > temp.foo 같은 이치로 출력이temp로 바뀌었습니다.foo, 그러나 판단은 여전히 표준 입력, 즉 단말기이기 때문에read write
//아래에서 토론한다./a.out 2 2>>temp.foo
먼저 이론 지식을 보충하다
2 대표 stderr
그러면a.out 2 2>>temp.foo는 리디렉션된 파일temp를 검사합니다.foo의 파일 설명자 2에 있는 속성
대상
$ ./a.out 5 5<>temp.foo 역시 이론 지식을 보충해야 한다
2>>filename
        #       stderr   "filename". 
5<>temp.foo는 파일 설명자 5에서 파일temp를 엽니다.foo는 읽기와 쓰기를 위한 프로그램으로temp를 검사합니다.foo의 읽기와 쓰기 속성은 내가'<>'인 것이 분명하다. 즉, 읽기와 쓰기로 이 파일을 연 것이다.
그러면 결과는 read write 입니다.

좋은 웹페이지 즐겨찾기