< : 입력하기
> : 출력하기
>> : 출력하기(출력 대상의 내용에 이어붙이기)
0 : 표준 입력 장치(stdin)
1 : 표준 출력 장치(stdout)
2 : 표준 에러 장치(stderr)
program.exe 라는 프로그램이 있으면,
예1)
stdout 만 파일로 저장하여 보고 싶다면
program > result.txt 또는
program >> result.txt (기존result.txt 파일 뒤에 붙이기)
예2)
stderr 만 파일로 저장하여 보고 싶다면
program 2> result.txt
예3)
2>&1 : stderr 를 stdout 으로 리다이렉션
아래와 같이하면과 stdout, stderr 를 /dev/null 한번에 보낼 수 없다.
# rm -fv exist_file not_exist_file 2>&1 /dev/null
다음과 같이 /dev/null 뒤에 2>&1 을 명시해서 stdout, stderr 리다이렉트할(버릴) 수 있다.
fd(/dev/null)이 먼저 파악되어 stdout > fd 로 갈 수 있도록 한 상태에서, stderr(2) > stdout(1) 로 보내야 한다.
rm -fv exist_file > /dev/null 2>&1
# rm -f 옵션을 사용하면 없는 파일도 에러메시지 없이 동작해서 뺏음
rm -v not_exist_file > /dev/null 2>&1
comments:
댓글 쓰기