Linux

Linux Virtual Device

뭉기 2014. 7. 31. 22:23

리눅스 /dev 중에 재미 있는 것들이 몇 개 있다.

가장 자주 보는 /dev/null을 비롯해 random, urandom,full,zero 등이 유용하다.


 가상  장치

설명 

 /dev/null

 널(null) 디바이스

이 가상장치는 장치로 보내는 모든 데이터를 무시해버릴 목적으로 만들어짐.
이장치에 쓰기 작업을 하면 언제나 성공적으로 완료되며,
이 장치로부터 읽기 작업을 하면 아무 데이터도 넘어오지 않는다.

프로그램의 출력을 무시함으로써 화면상에 아무런 텍스트도 표시하지 않게 할때 특히 유용.

 /dev/random

난수(random number) 발생기 

 /dev/urandom

난수 흐름을 발생시키는 스트림. /dev/random이 진짜 난수를 발생시키는 반면에 /dev/urandom은 의사난수(pseudorandom number)를 제공한다.
엔트로피 풀을 채우기 위한 목적으로 이 장치에 쓰기 작업을 할 수도 있다.

발생되는 데이터는 바이너리이기 때문에 /dev/random과 /dev/urandom으로부터 오는 숫자는 콘솔 터미널에 표시할수 없음!
이 장치들은 대부분 신뢰성 있는 난수를 수집하려는 개발자에 의해 사용.

 /dev/full

이 가상장치는 항상 꽉찬 것으로 간주되기 때문에 이 장치에 

쓰기를 하면 에러가 리턴
기를 하면 null 문자가 무한히 리턴

/dev/full 장치의 목적은 프로그래머와 관리자에게 의도적인 에러를 유발하는 작업 제공한다.

 /dev/zero

 null 디바이스와 비슷함. 
쓰기를 했을때는 항상 성공
읽기를 했을때는  null 문자를 무한히 출력

초기화된 특정 크기의 파일을 생성하거나
저장 장치를 포맷하기 위해 쓰기 작업을 하는 프로그램에 입력 데이터를 공급하는 경우 등..