ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 뇌자극 TCP/IP 5강 요약
    C_C++ 프로그래밍/뇌를 자극하는 TCP_IP 2019. 5. 20. 16:32





    파일과 소켓에 대해서 알아보자


    유닉스는 모든 것을 파일로 취급하여, 입력과 출력 처리를 가능하게 한다.


    파일권한


    소유자

     그룹

    기타

     rwx

    rwx

     rwx


    RWX => 2^2 + 2^1 + 2^0 => 4 + 2 + 1 = 7

    777 => 소유자와 그룹과 기타 사용자에게 읽기 쓰기 실행 권한을 부여한다.



    표준 입력 : 0
    표준 출력 : 1
    표준 에러 : 2

    재지향
    장치로 출력된 데이터를 다른 장치로 보내는 것.

    $ cat my.txt
    $ cat my.txt > ok.txt     // 재지향
    $ ./stderr 2>errmsg.txt    // error가 txt에 저장



    파일 열기

    #include<sys/types.h>
    #include<sys/stat.h>
    #include<fcntl.h>

    int open(cost char *pathname, int flags);                                    // pathname 파일 이름, flags 어떤 방식으로 열 것인가
    int open(const char *pathname, int flags, mode_t mode); 

    fd = open("my.txt", O_WRONLY | O_CREATE, 0755);                    // 존재하면 쓰기모드, 그렇지 않다면 생성함  0755권한부여
    Flags

    O_RDONLY : 읽기 전용
    O_WRONLY : 쓰기 전용
    O_RDWR : 읽기/쓰기
    O_CREATE : 파일을 생성
    O_EXCL : 파일이 있는지 검사
    O_APPEND : 추가 모드로 열기
    O_NONBLOCK : 비 봉쇄 모드로 열기

    파일 지정 번호를 사용하여, 파일을 입 출력을 할 수 있다.


    안 쓰는 파일은 닫아줘야 한다.

    close(int fd);
    프로세스는 열 수 있는 파일의 한계가 있다. ( 커널에 계속 남아 있을 수 있다 )


    파일 읽기/쓰기


    읽기와 쓰기는 바로 이루어지지 않고 버퍼를 경유한다.

    디스크 -> 커너 버퍼 ------(   read()  )------> 유지버퍼



    소켓과 파일

    소켓도 파일 형식으로 존재한다.
    read/wrtie와 같은 파일 함수를 그대로 사용이 가능하다.
    fcntl 함수로 제어가 가능하다.



    파일에 대한 간단한 실습하기


     -> 파일에 대한 간단한 실습 <-



    ※ 본 글은 개인 포트폴리오 혹은 공부용으로 사용하기 때문에, 무단 복사 유포는 금지하지만, 개인 공부 용도로는 얼마든지 사용하셔도 좋습니다


    반응형

    'C_C++ 프로그래밍 > 뇌를 자극하는 TCP_IP' 카테고리의 다른 글

    뇌자극 TCP/IP 7장 요약  (0) 2019.05.25
    뇌자극 TCP/IP 6강 요약  (0) 2019.05.25
    뇌자극 TCP/IP 4강 요약  (0) 2019.05.19
    뇌자극 TCP/IP 3강 요약  (0) 2019.05.19
Designed by Tistory.