리눅스 파일 디스크립터(Linux File descriptor)

파일 디스크립터 간략한 설명과 /dev/null 2>&1 에대한 의미 이해하기
리눅스 파일 디스크립터(Linux File descriptor)
간단 설명 리눅스/유닉스는 모든 장치를 파일로 관리하는데, 일반 파일과 내부/외부 모든 장치도 파일로 취급한다. 이 파일을 관리하는 것이 파일 디스크립터다. 표준 번호 설명 번호 설명 이름 파일 스트림 0 표준 입력(Standard input) STDIN_FILENO stdin 1 표준 출력(Standard output) STDOUT_FILENO stdout 2 표준 에러(Standard error) STDERR_FILENO stderr 추가 설명 파일을 열게 되면 번호가 부여되고 디스크립터 테이블에 저장된다. 테이블에는 0부터 +1씩 순차적으로 자동 증가되는데 윈도우 핸들 개념과 비슷하지만 순차 등록되는 점이 다르다. 0, 1, 2 번호는 예약된 번호로 일반적으로 파일을 열면 3번으로 확인 된다. 번호는 0 이상은 될수 있지만 0 미만은 될 수 없다. 추가 자세한 설명은 아래 링크 참조. 위키백과 설명 그림과 함께 상세한 설명 리다이렉션(redirection) 예제 명령어 설명 명령어 1 > output.log 표준 출력을 output.log 파일에 저장("명령어 > output.log" 동일한 결과가 나옴) 명령어 2 > error.log 표준 에러를 error.log 파일에 저장 명령어 0 < input.log 표준 입력을 input.log 파일에서 가져오기("명령어 < input.log" 동일한 결과가 나옴) 명령어 2>&1 표준 에러(2)를 표준 출력(1) 파일 디스크랩터가 참조하는 곳으로 보내기 명령어 1>&2 표준 출력(1)을 표준 에러(2) 파일 디스크랩터가 참조하는 곳으로 보내기 명령어 > /dev/null 표준 출력을 표시하지 않고 표준 에러는 표시 명령어 > /dev/null 2>&1 표준 에러를 표준 출력으로 보내어 표준 출력과 표준 에러 모두 표시 안함

댓글 쓰기