Unix란 컴퓨터 운영체제, 즉 프로그램을 실행시키고 자원을 관리하는 제어 프로그램
Unix의 특징
1) 이식성(Portablility)
2) 다중 사용자 능력
3) 다중 작업 능력
4) 계층적인 파일 시스템
5) 장치 독립적인 입/출력 가능
6) 사용자 인터페이스: 쉘(shell)
7) 유틸리티
File I/O를 위한 System call
fopen() 함수의 원형
FILE * fopen( const char *, const char * );
첫번째 인자 : 처리할 파일 명
두번째 인자 : 파일 처리 종류 지정 (모드)
파일 처리 모드의 종류
r = 읽기 모드 / 파일이 없을 경우 에러 발생
w = 쓰기 모드 / 파일이 없을 경우 새로 만들고, 파일이 존재하면 내용을 삭제하고 처음부터 기록
a = 추가 쓰기 모드 / 파일이 없을 경우 새로 만들고, 파일이 존재하면 뒤에부터 이어서 기록
read() 시스템 콜은 다음과 같이 정의되어 있다.
ssize_t read (int fd, void *buf, size_t len);
“fd 가 바라보고 있는 파일에서 len길이 만큼을 buf에 읽어 들인다” 라고 해석했다.
먼저 맨 앞의 '-'는 파일 유형이다. 해당 파일이 어떤 종류의 파일인지를 알 수 있다. '-'는 일반 파일, 'd'는 디렉터리, 'b'는 블록 디바이스, 'c'는 문자 디바이스, 'l'은 링크를 뜻한다.
두번째로 오는 'rw-r--r--'는 파일 허가권을 뜻한다.
1.읽기 Reading – 4
2.쓰기 Writing – 2
3.실행 Executing - 1
세번째 '1' 은 링크의 수이다.
네번째 ‘sys46’는 해당 파일에 대한 소유권을 가진 소유 사용자의 이름이다.
다섯번째 ‘sys46’는 파일을 소유한 그룹의 이름이다.
여섯번째 '507'은 파일 크기이다. read.txt파일은
일곱번째 '3월 27 01:22'는 파일의 최종 수정 일시이다.
마지막 여덟번째 'read.txt'는 해당 파일의 이름이다.
파일 권한 및 타입
*일반 파일-실행가능한 프로그램 파일, 원시 프로그램 파일, 문서파일 등 사용자가 정의한 그대로의 파일을 디스크 등에 내용이 수록
*디렉토리 파일-디렉토리에 포함되어 있는 여러가지 파일들과 디렉토리에 관한 정보 등을 저장하는 논리적 영역
*특수 파일-주변 장치 또는 파이프와 소켓 같은 프로세스간 상호통신, 표준입출력 시스템 호출
*inode-(Index node)-각 파일에 대한 정보를 기억하는 구조체
*chmod 명령어를 사용하여 파일 또는 디렉토리(폴더)에 권한을 부여, 수정할 수 있습니다. 만약 모든 권한 읽기, 쓰기, 실행을 부여한다면 아래와 같습니다.
sudo -s // root 권한 얻기
chmod -R 777 filename
'Computer engineering > OS' 카테고리의 다른 글
[시스템보안] 문제 및 해설 (0) | 2018.11.19 |
---|