목록Linux (45)
min's devlog

소유자 변경 : chown (change owner) $ chown (사용자 파일) $ chown [-R] (사용자 디렉터리) 파일 혹은 디렉터리의 소유자를 지정된 사용자로 변경한다. - R 옵션 : 디렉터리 아래의 모든 파일과 하위 디렉터리에 대해서도 소유자를 변경한다. (su root 로 관리자 계정에 로그인 한 후 사용) ls -l 해서 볼 땐 소유자가 sunchoi 이지만, chown root로 소유자를 root로 바꾸니, ls -l 결과 소유자가 root가 되었다.

접근권한 파일에 대한 읽기(r), 쓰기(w), 실행(x)권한 권한 파일 디렉터리 r 파일에 대한 읽기권한 디렉터리 내에 있는 파일명을 읽을 수 있는 권한 w 파일에 대한 쓰기권한 디렉터리 내에 파일을 생성하거나 삭제할 수 있는 권한 x 파일에 대한 실행권한 디렉터리 내로 탐색을 위해 이동할 수 있는 권한 소유자(owner)/그룹(group)/기타(others)로 구분하여 관리한다. 예 : rwx r-x r-x 명령어 ls -sl로 접근권한 등의 정보를 볼 수 있다. 접근권한 예시 접근권한 변경 $ chmod [-R] (접근권한 파일 혹은 디렉터리) -R (recursive) 옵션을 사용하면 지정된 디렉터리 아래의 모든 파일과 하위 디렉터리에 대해서도 접근권한을 변경한다. 접근 권한 표현 1. 8진수 - ..
지정한 프로세스에게 메시지를 전송하는 코드 파일명 : qsnd_pid.c 컴파일 : gcc -o qsnd_pid qsnd_pid.c 실행 : qsnd_pid 1234 #include #include #include #include #include #include #define BUFSZ 512 //메시지 내용 구조체 선언 typedef struct_msg{ long msg_type; char msg_text[BUFSZ]; }msg_t ; int main(int argc, char **argv){ pid_t pid; int len, qid; msg_t pmsg; //전송할 메시지 key_t key; //메시지 큐 key if(argc != 2){ printf("USAGE : %s msqkey",argv[0..
파이프를 통해 에코메시지를 전달하는 UDP에코서버 - 부모 프로세스는 write만 하고 자식 프로세스는 read만 하는 코드이다. 파일명 : udpserv_pipeecho.c 컴파일 : gcc -o udpserv_pipeecho udpserv_pipeecho.c 실행 : udpserv_pipeecho 9999 #include #include #include #include #include #include #include #include #define MAX_BUFSZ 512 //파이프에 쓰는 데이터구조 typedef struct mesg{ struct sockaddr_in addr; //클라이언트 주소 char data[MAX_BUFSZ]; //에코할 데이터 }mesg_t void child_start(..

파이프 ( | ) -프로세스와 프로세스간의 통신 채널 예) 명령어 ps가 중간의 파이프를 통해 grep이라는 프로세스에게 전달하는 방식 ps -ef |grep : 이 컴퓨터의 모든 프로세스 상태를 보여준다. (화면단위로 보려면 ps -ef | more) -파이프를 이용한 프로세스간의 통신 파이프 생성 파이프를 열기 위해서는 pipe()를 사용한다. 하나의 파이프를 생성하면 두개(읽기, 쓰기)의 파일 디스크립터가 생성된다. #include int pipe(int fd[2]); //배열 (fd[0]은 읽기용-read, fd[1]은 쓰기용-write) 부모프로세스를 예로 들면, fd[1]을 write로 쓰고 fd[0]을 read로 쓰는데 단방향, 한 방향에 하나만 선택해서 사용할 수 있다. (-단방향 스트림 ..