2016년 5월 5일 목요일

뇌자극 TCP_IP 프로그래밍 5강 요약

오늘은 어린이 날인데도 집에서 공부하고, 블로그나 올리는거다 ;;;
1. 리눅스에서는 모든게 다 파일이다.
2. 표준 입력, 표준 출력, 표준 에러들이 있다.
3. 소켓도 파일로 처리한다.

파일은 열고 -> 쓰고/읽고 -> 닫고 의 과정을 거친다.
모든 파일에는 소유자와 그룹별로 읽기, 쓰기, 실행 의 권한을 설정할 수 있다.

예를 들어 이런 권한이 있다고 하자
drwxr-xr-x
이게 뭔 x소리인가 하겠지만....;; 끊어 읽으면 편하다.
d rwx r-x rw-
d는 디렉토리를 뜻한다. 파일일 때는 -로 쓴다.
다음 3자리는 소유자 권한 부분이다.(rwx 니깐 읽고, 쓰고, 실행까지 가능한거다)
다음 3자리는 그룹 권한 부분이다. (r-x 니깐 읽고, 실행만 가능하다)
다음 3자리는 기타 권한 부분이다. (rw- 니깐 읽고, 쓰기만 가능하다).

위의 권한을 숫자로 표현하기도 한다.
rwx = 7 = 111(2진수),  r-x = 5 = 101(2진수), rw- = 6 = 110(2진수)
다 합해서 756 이라고 표현한다.

chmod 756 파일명  <--- 이 명령어로 해당 파일에 위와 같은 권한을 줄수 있다.

파일 열기

open 함수로 파일을 열수 있다.

#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
int open(const char *pathname, int flags);
int open(const char *pathname, int flags, mode_t mode);

pathname : 열고자 하는 파일 이름
flags : 파일의 접근 방식과 생성 방식을 결정
mode : 파일의 권한을 결정하기 위해 사용

파일 읽기/쓰기

read 함수로 파일의 내용을 읽을 수 있다.

#include <unistd.h>
ssize_t read(int fd, void *buf, size_t count);

fd : open 함수로 생성된 파일 지정 번호다
buf : 읽은 데이터를 저장하기 위한 변수다
count : 읽은 데이터의 크기다.

write 함수로 파일의 내용을 쓸 수 있다.

#include <unistd.h>
ssize_t write(int fd, void *buf, size_t count);

fd : open 함수로 생성된 파일 지정 번호다
buf : 쓰려는 데이터다.
count : 쓰려는 데이터의 크기다.

파일 닫기

close 함수로 파일을 닫을 수 있다.

close(int fd);

fd : open 함수로 생성된 파일 지정 번호다.

댓글 없음:

댓글 쓰기