unlink #include <unistd.h> int unlink(const char *file); unlink 함수는 파일을 삭제하는 함수이다. 소프트 링크, 하드 링크 모두 적용된다. 링크를 지우면 링크 개수를 1개 감소시킨다. 만약, 소프트 링크의 원본 파일을 지우면 소프트 링크는 더 이상 사용할 수 없게 된다. 반환값 ...
[42Seoul] pipex (2) 허용 함수 정리 : pipe
pipe #include <unistd.h> int pipe(int fildes[2]); 크기가 2인 int 배열에 한 쪽에서는 데이터를 쓰고, 다른 한 쪽에서는 데이터를 읽을 수 있는 데이터 통신 파일 디스크립터를 만드는 함수이다. 첫 번째 원소인 fildes[0] 는 파이프의 read end 이고, 두 번째 원소인 fildes[...
[42Seoul] pipex (2) 허용 함수 정리 : fork
fork #include <unistd.h> pid_t fork(void); fork 함수는 자식 프로세스를 생성하는 함수이다. 반환값 부모 프로세스에서는 자식 프로세스의 프로세스 아이디(pid)를 받는다. 자식 프로세스에서는 0을 받는다. 오류 발생 시 -1 을 받는다. 예시 코드 #include <uni...
[42Seoul] pipex (2) 허용 함수 정리 : execve
execve #include <unistd.h> int execve(const char *file, char *const argv[], char *const envp[]); execve 함수는 실행하고자 하는 file 에 인자로 argv 와 환경변수인 evnp 를 전달해서 file 을 실행하여 새로운 프로세스를 생성하는 함수이다. ...
[42Seoul] pipex (2) 허용 함수 정리 : dup2
dup2 #include <unistd.h> int dup2(int src_fildes, int dest_fildes); dup2 함수는 첫 번째 매개변수로 복사하고자 하는 파일 디스크립터(src_fildes)를 두 번째 매개변수로 지정한 파일 디스크립터(dest_fildes)에 복사한다. dup2 함수는 특정 파일 디스크립터를 지정...
[42Seoul] pipex (2) 허용 함수 정리 : dup
dup #include <unistd.h> int dup(int fildes); 함수의 매개변수(fileds)로 전달하는 파일 디스크립터를 현재 할당할 수 있는 가장 작은 파일 디스크립터에 복사하여 반환한다. 반환값 성공 : 복사된 파일 디스크립터 번호 실패 : -1 발생한 오류에 따라 errno 가 ...
[42Seoul] pipex (2) 허용 함수 정리 : access
access #include <unistd.h> int access(const char *file, int mode); file 에 대해 mode 에 대한 접근이 있는지 확인하는 함수이다. mode 에 입력할 수 있는 값은 다음과 같다. R_OK : read 권한이 있는지 확인 W_OK : write 권한이 있는지 확인 ...
[42Seoul] pipex (1) 프로젝트 개요
Mandatory part 과제 설명 쉘의 파이프(|) 명령어를 구현하는 과제 제출 파일 사용한 모든 파일 (libft 사용했을 경우 모두 포함해서 제출) 사용 가능한 함수 open, close, read, write, malloc, free, perror, strerror, access, dup, dup2, execve, exit, ...
[42Seoul] minishell (2) 프로젝트 회고
플로우차트 간략하게 표현한 플로우차트는 다음과 같다. gnu bash reference 를 참고해서 최대한 bash 와 유사하게 작동하도록 노력했다. 협업 방식 업무 분담 이번 프로젝트에서는 업무 분담을 따로 하지 않았다. 보통 파싱, 실행을 나누어서 진행하는데, 우리는 처음부터 모든 과정을 같이 코드를 작성하는 페어 프로그래밍 방식을 선...
[42Seoul] minishell (1) 개념 정리
gnu bash reference 에 있는 자료를 토대로 bash 가 작동하는 원리를 정리한 내용이다. bash 작동 원리 1. 파일 읽기 filename arguments 파일 실행 filename 을 읽어서 실행한다. 그리고 exit 한다. 이를 non-interactive shell 이라 한다. 사용자가 명령을 입력할 수 ...