/ dev / zero의 목적은?


49

나는 노력했지만 cat /dev/zero아무것도하지 않는 것 같습니다. 나는 googled /dev/zero했고 그것은 기본적으로 무한 크기의 빈 파일이라고 말합니다. 되어 cat존재하지 않는 문자의 무한한 숫자를 인쇄? 어떻게 작동합니까? 0 바이트 인 경우 무한 데이터를 어떻게 제공합니까? 빈 파일을 만들 수 있다면이 파일의 용도는 무엇입니까?


11
cat -v /dev/zero그것이 무엇을하고 있는지보기 위해 달려라 . 일반적인 목적으로 사용하지 않는 공간을 0으로 제거 (ext3, ext4) 를 참조하십시오 .
manatwork

도 있습니다 을 / dev / null 당신이 그것을 읽고 블랙홀 당신이 쓸 경우하려면 빈 파일처럼 동작합니다.
jofel

@jofel 그러나 무한 0 비트에는 / dev / null을 사용할 수 없습니다. cat foo > /dev/nullcat foo > /dev/zero동일하지만 cat /dev/nullcat /dev/zero올바른, 동일하지 않습니다?
tkbx

@ tkbx 예, 맞습니다. 프로그램이 읽고 자하는 경우 /dev/null즉시 EOF를 리턴 합니다. /dev/zero무한 바이트를 반환합니다.
jofel

답변:


53

/dev/zero널 문자의 끝없는 스트림을 제공하는 특수 파일 (이 경우 의사 장치)입니까 (16 진수 0x00)? 그래서 당신 cat이 아무것도 출력하지 않는 이유입니다 (그러나 od(옥탈 덤프)를 통해 실행하십시오 ).

'무한 크기의 빈 파일'은 100 % 정확하지 않습니다. 일반 파일이 아니라 특수 파일 ( '스트림'또는 생성기와 같은)입니다. 예를 들어 dd(like dd if=/dev/zero of=yourfile count=1024 bs=1024) 를 사용하여 원하는만큼 읽을 수 있습니다 .

실제로는 파일이 아니며 파일을 만드는 데 사용되지 않습니다. 0으로 채워진 파일이나 메모리 페이지를 만드는 데 사용됩니다. 당신은 또한 싱크 홀처럼 작동하도록 쓸 수 있습니다 (더 인기있는 형제 /dev/null가 더 일반적으로 사용됩니다).


왜 누군가 빈 공간을 채우고 싶습니까?
tkbx

5
예를 들어, 이전에 있던 것을 지우는 것. 또는 전송할 때.
Konerak

4
나는 srm매뉴얼이나 소스를 읽지 못했지만 대부분의 '보안 지우개'는 드라이브를 제로 링하는 대신 (의사) 임의 데이터를 쓰는 것을 선호합니다. 개별 비트가 100 % 실제로 1 또는 0이 아니라 "대부분 1"또는 "대부분 0"이므로 제로화 된 하드 디스크의 원래 내용을 계속 공제 할 수 있습니다. "또는"올바른 길 "이지만 일반적으로 반대쪽으로의 스윙만으로 충분합니다.
Konerak

11
@tkbx dd는 파티션을 시도하고 나중에 작은 압축 파일을 얻기 위해 임의의 공간이 아닌 0으로 모든 빈 공간을 채울 수 있습니다.
neurino

1
@Konerak 나는 그것을 의심합니다. 나는 그것이 모든 곳에서 온다는 말을 들었고, 원격으로 새로운 하드 드라이브 (최소 10 년 동안 만들어진)에서 가능하다는 증거를 한 번도 본 적이 없습니다.
Rob
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.