파일은 항상 비워져있음. 여기로 가는 내용은 버려짐. 그러나 오류 발생시 출력됨
$ echo taylorswift > /dev/null
$ taylorswift.sh > /dev/null
-bash: taylorswift.sh:command not found
기본적으로 키보드, 프로그램이나 쉘에서 입력장치 변경 안하면, 일반적으로 키보드 입력
일반적으로 입력장치 변경할때는 리다리엑션이나 파이프를 사용
$ echo taylorswift 1> /dev/null
$ taylorswift.sh 2> /dev/null
에러 메시지도 화면에 표시하지 않게 하는 것
리다이렉션 <, >
cat < example.log (표준 입력장치인 키보드를 example.log 파일로 바꾸도록 지정하여 파일 내용을 표준 입력으로 리다이렉트 )
cat exmple.log (파일을 열도록 지정)
이 두개는 결과는 같지만, 동작은 다름
=> 표준 에러(2)를 >(다음의 장치, 리다이렉트) &1(표준 입력/출력/에러에서의 표준 출력) 표준 출력의 출력 장치로 지정된 장치(파일)을 표준에러 출력장치로 함께 사용한다. 표준 출력을 표준에러로 리다이렉트 하겠어( >& 리다이렉트 합치기? 같은 것 )
==> 특정 명령어의 결과를 특정 파일에 넣음 + 에러도 같은 파일에 넣고싶음
$ echo taylorswift > /dev/null 2>&1
$ taylorswift.sh > /dev/null 2>&1