유닉스의 파일디스크립터
유닉스 프로그램이 파일에 뭔가 작업을 하기 위해서는 일단 파일을 열어야 한다.
이 때, 유닉스는 열려있는 파일을 구분하기 위해 파일에 간단한 숫자를 붙인다.
이 숫자를 파일 디스크립터라고 하고, 0부터 9까지 존재한다.
유닉스는 기본적으로 다음과 같은 3개의 파일을 열어둔다.
-std input
-std outpu
-std error
열려있는 표준 파일은 구분을 위해 숫자를 할당 받으며, 각각 아래와 같다.
STDIN = 0, STDOUT = 1 STDERR=2
0,1,2 외의 파일 디스크립터는 추가로 열리는 다른 파일을 구분하기 위해 사용된다.
그렇다면 다음과 같다
1>file 표준 출력을 file로 보낸다
2>file 표준 에러를 file로 보낸다.
0<file file로 부터 표준 입력을 받는다.
i>&j i번 파일 디스크립터를 j번 파일디스크립터로 리다이렉트 한다.
즉, i가 가리키는 파일의 모든 출력은 j가 가리키는 파일로 보낸다.
빌드 스크립트를 보다가 나온 구분이 있었다.
getent group "$TEST_GROUP" > /dev/null 2>&1
Above statement tell us that first 'getent' is executed and the result is redirected to /dev/null.
If there is error, the error is redirected to standard output.
e.g It is not displayed error about getent command.
'Linux > Linux' 카테고리의 다른 글
Make 파일에 대한 정리 (두서 없다 다시 정리해야 함) (0) | 2016.05.12 |
---|