❗️출처: 하이애나 블로그
입출력은 데이터를 복사하는 과정
유닉스 IO를 배워야 하는 이유
10.1 Unix I/O
10.2 File
임의의 데이터를 포함함
디렉토리는 링크들의 배열로 구성되어있음
디렉토리 계층구조
10.3 파일 열기와 닫기
식별자중 가장 낮은 번호, 그래서 3을 쓴다고 함
flags인자는 어떻게 프로세스가 파일에 접근하는지를 알려줌
종류
append옵션으로 플래그 여러개 세울 수 있음
접근 권한 비트
위에 세개는 owner에 대한것, 그다음3개는 group, 그다음 세개는 다른사람들에 대한 것
이렇게 umask로 권한 빼줌(unmask)
모드 권한, 마스크 권한 따로 관리함(이유는 모름)
연습문제
10.4 파일 읽기와 쓰기
read()
함수로 읽어올 때, 에러가 나면 -1 을 리턴한다
10.5 Robust Reading and Writing with the Rio Package(=RIO-read, write)
rio_readn
rio writen
rio_read
10.6 Reading File Metadata
meta 정보의 정보(마우정!!마우스 우클릭 정보)
stat
← 구조체임
10.7 Reading Directory Contents
opendir 오픈 디렉
'.'
)
readdir 디렉토리 읽기
struct를 리턴함
d_ino
closedir 디렉토리 닫기
10.8 파일 공유
descriptor table
open file table
v-node table
포크되었을 때, 파일접근
10.9 I/O redirection
linux> Is > too.txt
#include <unistd.h>
dup2(old fd, new fd) 이런식으로 복사시킴
이거 이해하면 dup2 이해한 것
10.10 표준 I/O
10.11 종합