Zero to Hero
article thumbnail
Published 2021. 4. 5. 10:30
/dev/null 2>&1 Programming
 

What does "/dev/null" mean at the end of shell commands

What is the difference between the following commands? ssh myhostname "command1; command2;...commandn;" 2>/dev/null ssh myhostname "command1; command2;...commandn;" what does 2> mean? what...

stackoverflow.com

/dev/null

리눅스에서 위 파일은 항상 비어있다고 한다. 그러니깐 예약어 같은 느낌이라고 생각하면 될 것 같다.

이 곳으로 전송된 결과는 모두 버려진다는 특징을 가지고 있다.

 

2 > &1

 

리눅스 표준 입출력 리다이렉션

쉘에서 키보드로 명령을 입력받는 것을 표준 입력(Standard Inupt)이라 하며, 키보드로 입력 받은 명령의 실행결과를 모니터로 출력하는 것을 표준 출력(Standard Outpu)이라고 합니다. 입출력 리다이렉

webdir.tistory.com

요컨대 0, 1, 2는 파일 디스크립터로 불리는 숫자이고 각각 표준 입력, 표준 출력, 표준 에러를 의미하는 예약어다.

>는 표준 출력을 의미하는 리다이렉션 기호이다.

1은 표준 출력을, 2는 표준 에러를 의미한다.

 

정리

어떤 명령어 > /dev/null 2>&1 은

어떤 명령어를 수행하고 표준 출력(1)으로 나오는 결과를 /dev/null이라는 곳으로 보내고,

표준 에러(2)의 결과는 표준 출력(1)으로 리다이렉트 하라는 뜻이다.

 

표준 출력은 /dev/null에 결과를 버리게 했는데, 표준 에러도 표준 출력으로 보내라고 했으니깐 표준 에러도 결국 /dev/null로 결과를 보내게 되는 의미가 된다.

 

이 명령어의 효과는 터미널에 아무것도 뜨지 않게 해주는 효과가 있다. 즉 쓸데없는 에러나 출력 결과를 생략하게 만든다.

 

요로콤 놀 수 있다

 

 

In the shell, what does " 2>&1 " mean?

In a Unix shell, if I want to combine stderr and stdout into the stdout stream for further manipulation, I can append the following on the end of my command: 2>&1 So, if I want to use head...

stackoverflow.com

댓글 중에 원리를 설명해준 댓글이 있다. 나중에 한번 보면 유익할 것 같다.

profile

Zero to Hero

@Doljae

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!