본문 바로가기
리눅스 관련 옵션 명령어

/dev/null 의미

by 웹하는빡통 2019. 12. 14.

리눅스로 쉘 스크립트를 하게 되면 종종 /dev/null이라는 것을 볼 수 있다.

필자도 요즘 쉘 스크립트를 하면서 자주보게 되는 것이 바로 "/dev/null"이다. 

그럼 도대체 이 "/dev/null"이라는 친구는 뭐하는 친구일까?? 한번 알아보자.

 

A. /dev/null

   

B. 1>/dev/null

   

C. 2>/dev/null

   

일단 A와 B은 같은 의미 ----> /dev/null == 1>/dev/null

 

1의 의미는 STDOUT(standard output)

2의 의미는 STRERR(standard error)

   

STDOUT은 표준출력으로, 정상적인 메시지를 출력하고

STDERR은 표준에러로, 에러메시지를 출력하는것이다

   

즉.

1>/dev/null은 표준출력을 /dev/null로 redirection하고 (정상적인 메시지를 null로)

2>/dev/null은 표준에러를 /dev/null로 redirection 한다 (에러메시지를 null로)

 

예제)

1>/dev/null 같은 경우는 정상적인 메시지를 리다이렉션을 하게 되는데 위 사진 같은 경우 에러 메시지이기 때문에

정상적인 메시지가 아닌 에러메시지가 출력이된다. 그럼 해당 에러메시지를 null로 만들려면?? 2>dev/null을 이용하면 된다. 한번 해보도록 하자.

 

그 결과 2>/dev/null을 이용하니 에러메시지가 출력이 되지 않는 것을 알 수 있다. 

   

   

표준출력, 표준에러 그리고 표준입력도 있는데 이것을 리눅에서는 "파일"이라고 부른다.

   

   

 

 

/dev/null에 쓰는 아무것도 아닌(null) 장치파일이라고 볼수 있다고 생각하면 된다.

어떠한 작업의 출력되는 내용을 보고 싶지 않을때, 이곳으로 그 출력을 보내버리면,

아무것도 보여지지 않게 되는것이다.

파일을 지울때는 rm 명령어로 지우면 되겠지만 텍스트로 이루어진 로그파일이라도

그 로그파일이 시스템에서 사용중일수 있다 그러면 삭제하는것은 위험 할수 있다

그럴땐

"/dev/null > 로그파일.log"

위와 같이 해주면 로그파일을 비워주게되는것이다.




'리눅스 관련 옵션 명령어' 카테고리의 다른 글

dig 명령어 활용하기  (0) 2020.04.08
CentOS 버전별 명령어(service, chkconfig, 방화벽)  (0) 2019.12.14
test 명령어  (0) 2019.12.14
리눅스 sed-옵션  (0) 2019.12.14
리눅스 cut명령어  (0) 2019.12.11

댓글