- 표준 입력 (Standard Input) 키보드로 명령을 입력받는 것
- 표준 출력 (Standard Output) 키보드로 입력받은 명령의 실행결과를 모니터로 출력하는 것
- > : 표준 출력 : 명령 > 파일 (명령의 표준 출력 결과를 파일로 출력)
- >> : 표준 출력(추가) : 명령 >> 파일 (명령의 표준 출력 결과를 기존 파일 내용 이후에 출력)
- < : 표준 입력 : 명령 < 파일 (파일의 데이터를 읽어 명령의 표준입력으로 사용)
- 명령 >& 파일명 : 명령의 표준 출력 결과와 에러를 파일로 출력
- 명령 >>& 파일명 : 명령의 표준 출력 결과와 에러를 기존 파일 내용 이후에 덧붙여 출력
- 명령 >! 파일명 : 파일을 생성하고 명령의 표준 출력 결과를 파일로 출력
- 명령 >&! 파일명 : 파일을 생성하고 명령의 표준 출력 결과와 에러를 파일로 출력
- 명령 >>! 파일명 : 파일을 생성하고 명령의 표준 출력 결과를 기존 파일 내용 이후에 덧붙여 출력
- 명령 >>&! 파일명 : 파일을 생성하고 명령의 표준 출력 결과와 에러를 기존 파일내용 이후에 덧붙여 출력
- 명령A | 명령B : 명령A 의 출력을 명령B 의 입력으로 사용
- 명령A |& 명령B : 명령A 의 출력과 에러를 명령B 의 입력으로 사용
- 파일 디스크립터 (File descriptor) : 열려있는 파일을 구분하기 위해서 붙이는 숫자
- 표준 입력 (Standard Input) / 키보드 / 0
- 표준 출력 (Standard Output) / 모니터 / 1
- 표준 에러 (Standard Error) / 모니터 / 2
$ cat notexist > /dev/null 2>&1
notexist 파일의 cat 명령 표준 출력 결과를 /dev/null 로 리다이렉션 시킨다.
이때 /dev/null의 경우 모든 출력을 흡수한다.
에러메시지를 1번 표준 출력 디스크립터가 참조하고 있는곳으로 리다이렉션 시킨다.
> 즉, 조회한 내용을 흡수시켜 표시하지 않으며, 발생한 에러역시 1번 디스크립터로 리다이렉션시켜 모두 출력하지 않겠다.
$ abcd > /dev/null 2>&1
명령 abcd 의 결과를 /dev/null 로 리다이렉션 시켜 흡수하고,
발생한 에러를 1번 디스크립터의 참조인 /dev/null 로 보내 흡수시킨다.
> 즉, abcd 는 존재하지 않는 명령어이기 때문에 에러가 발생하고, 발생한 에러를 출력하지 않겠다.