/dev/제로
/dev/zero/dev/zero는 Unix 유사 운영 체제의 특수 파일로, 읽기 가능한 만큼의 null 문자(ASCII NUL, 0x00)를 제공한다.[1]일반적인 용도 중 하나는 데이터 스토리지를 초기화하는 문자 스트림을 제공하는 것이다.[2]
함수
/dev/제로 리턴에서 읽기 작업을 읽기 작업에서 요청한 수만큼 null 문자(0x00)로 읽으십시오.
/dev/null과 달리 /dev/zero는 데이터의 싱크대뿐만 아니라 소스로도 사용될 수 있다./dev/zero에 대한 모든 쓰기 작업은 다른 효과 없이 성공한다.그러나 /dev/null은 이러한 목적을 위해 더 흔하게 사용된다.
/dev/zero가 가상 주소 공간에 mmmap으로 메모리 매핑된 경우 이는 익명 메모리, 즉 파일에 연결되지 않은 메모리를 사용하는 것과 같다.
역사
/dev/zero는 1988년 SunOS-4.0에 의해 익명 메모리를 사용하는 공유 라이브러리에 표시 가능한 BSS 세그먼트를 허용하기 위해 도입되었다.[3]HP-UX 8.x는 /dev/zero를 열 필요 없이 익명 메모리를 직접 매핑하는 mmmap()용 MAP_ANonymous 플래그를 도입했다.[4]1990년대 후반부터 대부분의 UNIX 버전에서 MAP_ANNYMON 또는 MAP_ANON이 지원되어 /dev/zero의 원래 목적이 제거되었다.[6]
예
dd Unix 유틸리티 프로그램은 소스에서 대상으로의 옥텟 스트림을 읽으며, 그 과정에서 데이터 변환을 수행할 수 있다.파일 시스템 파티션의 기존 데이터 삭제(낮은 포맷):
dd if=/dev/zero of=/dev/<partition>
null 문자로 채워진 foobar라는 1 MiB 파일 만들기:[7]
dd if=/dev/zero of=foobar count=1024 bs=1024
참고: 블록 크기 값은 SI(십진수) 값(예: GB, MB 등)으로 지정할 수 있다.1GB 파일을 만들려면 다음을 입력하십시오.
dd if=/dev/zero of=foobar count=1 bs=1GB
참고: 0바이트만 있는 실제 파일을 생성하는 대신, 많은 파일 시스템은 읽으면 0을 반환하지만 실제 공간을 적게 사용하는 스파스 파일도 만들 수 있다.[8]
참고 항목
참조
- ^ Mitchell, Mark; Oldham, Jeffrey; Samuel, Alex (2001), "6.5.2 /dev/zero", Advanced Linux Programming, Sams Publishing, p. 136, ISBN 9780735710436
- ^ Love, Robert (2007), "Mapping /dev/zero", Linux System Programming: Talking Directly to the Kernel and C Library, O'Reilly Media, Inc., pp. 259–260, ISBN 9780596009588
- ^ ""C" run-time program bootstrap from SunOS, contributed to CSRG for inclusion in 4.4BSD". TUHS.
- ^ "HP-UX 8.0.7 install media".
- ^ Beal, Chris. "So what the heck is anonymous memory". Oracle Blog.
- ^ "MAP_ANON description in mmap(2)". NetBSD.
- ^ Optimizing NFS Performance: Tuning and Troubleshooting NFS on HP-UX Systems, Dave (2002). Olker. Prentice Hall Professional. pp. 26–7. ISBN 9780130428165. Retrieved 2014-07-16.
- ^ 스파스 파일