"/dev/zero"의 두 판 사이의 차이

 
(사용자 3명의 중간 판 6개는 보이지 않습니다)
1번째 줄: 1번째 줄:
==개요==
==개요==
;/dev/zero
;/dev/zero
* 널문자를 무한히 제공하는 리눅스 장치 파일
* 널문자를 무한히 제공하는 리눅스의 가상 장치 파일
* 블랙홀([[/dev/null]])과 같은 용도로 사용해도 됨
* 이 파일은 특정한 디스크 공간에 대응되는 것이 아니라, 필요한 만큼의 0으로 구성된 데이터를 제공한다.
* 이 파일은 주로 시스템 및 소프트웨어 테스트, 랜덤 데이터를 생성할 때 사용되며, 디스크에 데이터를 쓰지 않고도 필요한 크기의 빈 파일을 만들 수 있도록 해준다.
* 이 장치에 대한 읽기 작업은 연속된 바이트 0의 스트림을 반환한다.
* 이 장치에 대한 쓰기 작업은 무시된다. 즉, 블랙홀([[/dev/null]])과 같은 용도로 사용할 수도 있다.


==예시: 내용 확인==
==예시: 내용 확인==
* echo 명령어로는 [[널문자]]가 출력되지 않으므로 xxd 명령어를 사용하여 확인
* echo 명령어로는 [[널문자]]가 출력되지 않으므로 xxd 명령어를 사용하여 확인
<source lang='cli'>
<syntaxhighlight lang='console'>
root@zetawiki:~# cat /dev/zero | xxd -i -l5
root@zetawiki:~# cat /dev/zero | xxd -i -l5
   0x00, 0x00, 0x00, 0x00, 0x00
   0x00, 0x00, 0x00, 0x00, 0x00
</source>
</syntaxhighlight>
<source lang='cli'>
<syntaxhighlight lang='console'>
root@zetawiki:~# cat /dev/zero | xxd -i -l10
root@zetawiki:~# cat /dev/zero | xxd -i -l10
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
</source>
</syntaxhighlight>
<source lang='cli'>
<syntaxhighlight lang='console'>
root@zetawiki:~# cat /dev/zero | xxd -i -l100
root@zetawiki:~# cat /dev/zero | xxd -i -l100
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
25번째 줄: 28번째 줄:
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00
   0x00, 0x00, 0x00, 0x00
</source>
</syntaxhighlight>


==예시: 블랙홀 대용==
==예시: 블랙홀 대용==
<source lang='cli'>
<syntaxhighlight lang='console'>
root@zetawiki:~# ll /dev/zero
root@zetawiki:~# ll /dev/zero
crw-rw-rw- 1 root root 1, 5 Jan  4 02:35 /dev/zero
crw-rw-rw- 1 root root 1, 5 Jan  4 02:35 /dev/zero
34번째 줄: 37번째 줄:
root@zetawiki:~# ll /dev/zero
root@zetawiki:~# ll /dev/zero
crw-rw-rw- 1 root root 1, 5 Jan  4 02:35 /dev/zero
crw-rw-rw- 1 root root 1, 5 Jan  4 02:35 /dev/zero
</source>
</syntaxhighlight>


==예시: 파일채우기==
==예시: 파일채우기==
{{참고|리눅스 원하는 크기의 파일 생성하기}}
* dd 명령어로, /dev/zero의 내용을 받아 1MB짜리 파일을 생성해보자.
* dd 명령어로, /dev/zero의 내용을 받아 1MB짜리 파일을 생성해보자.
<source lang='cli'>
<syntaxhighlight lang='console'>
root@zetawiki:~# dd if=/dev/zero of=foobar count=1024 bs=1024
root@zetawiki:~# dd if=/dev/zero of=foobar count=1024 bs=1024
1024+0 records in
1024+0 records in
1024+0 records out
1024+0 records out
1048576 bytes (1.0 MB) copied, 0.00291073 s, 360 MB/s
1048576 bytes (1.0 MB) copied, 0.00291073 s, 360 MB/s
</source>
</syntaxhighlight>
<source lang='cli'>
<syntaxhighlight lang='console'>
root@zetawiki:~# ll -h foobar
root@zetawiki:~# ll -h foobar
-rw-r--r-- 1 root root 1.0M Jan 29 21:44 foobar
-rw-r--r-- 1 root root 1.0M Jan 29 21:44 foobar
</source>
</syntaxhighlight>
<source lang='cli'>
<syntaxhighlight lang='console'>
root@zetawiki:~# cat foobar
root@zetawiki:~# cat foobar
root@zetawiki:~# cat foobar | xxd -i -l8
root@zetawiki:~# cat foobar | xxd -i -l8
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
</source>
</syntaxhighlight>
* dd 명령어로, /dev/zero의 내용을 받아 1GB짜리 파일을 생성해보자.
* dd 명령어로, /dev/zero의 내용을 받아 1GB짜리 파일을 생성해보자.
<source lang='cli'>
<syntaxhighlight lang='console'>
root@zetawiki:~# dd if=/dev/zero of=hello count=1 bs=1G
root@zetawiki:~# dd if=/dev/zero of=hello count=1 bs=1G
1+0 records in
1+0 records in
1+0 records out
1+0 records out
1073741824 bytes (1.1 GB) copied, 7.79378 s, 138 MB/s
1073741824 bytes (1.1 GB) copied, 7.79378 s, 138 MB/s
</source>
</syntaxhighlight>
<source lang='cli'>
<syntaxhighlight lang='console'>
root@zetawiki:~# ll -h hello
root@zetawiki:~# ll -h hello
-rw-r--r-- 1 root root 1.0G Jan 29 21:52 hello
-rw-r--r-- 1 root root 1.0G Jan 29 21:52 hello
</source>
</syntaxhighlight>


==같이 보기==
==같이 보기==
75번째 줄: 79번째 줄:
*[[리눅스 원하는 크기의 파일 생성하기]]
*[[리눅스 원하는 크기의 파일 생성하기]]


==참고 자료==
==참고==
* https://en.wikipedia.org/wiki//dev/zero
* {{위키백과}}
* {{영어 위키백과}}


[[분류: /dev]]
[[분류: /dev]]

2024년 4월 13일 (토) 20:50 기준 최신판

1 개요[ | ]

/dev/zero
  • 널문자를 무한히 제공하는 리눅스의 가상 장치 파일
  • 이 파일은 특정한 디스크 공간에 대응되는 것이 아니라, 필요한 만큼의 0으로 구성된 데이터를 제공한다.
  • 이 파일은 주로 시스템 및 소프트웨어 테스트, 랜덤 데이터를 생성할 때 사용되며, 디스크에 데이터를 쓰지 않고도 필요한 크기의 빈 파일을 만들 수 있도록 해준다.
  • 이 장치에 대한 읽기 작업은 연속된 바이트 0의 스트림을 반환한다.
  • 이 장치에 대한 쓰기 작업은 무시된다. 즉, 블랙홀(/dev/null)과 같은 용도로 사용할 수도 있다.

2 예시: 내용 확인[ | ]

  • echo 명령어로는 널문자가 출력되지 않으므로 xxd 명령어를 사용하여 확인
root@zetawiki:~# cat /dev/zero | xxd -i -l5
  0x00, 0x00, 0x00, 0x00, 0x00
root@zetawiki:~# cat /dev/zero | xxd -i -l10
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
root@zetawiki:~# cat /dev/zero | xxd -i -l100
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00

3 예시: 블랙홀 대용[ | ]

root@zetawiki:~# ll /dev/zero
crw-rw-rw- 1 root root 1, 5 Jan  4 02:35 /dev/zero
root@zetawiki:~# echo 'hello world' > /dev/zero
root@zetawiki:~# ll /dev/zero
crw-rw-rw- 1 root root 1, 5 Jan  4 02:35 /dev/zero

4 예시: 파일채우기[ | ]

  • dd 명령어로, /dev/zero의 내용을 받아 1MB짜리 파일을 생성해보자.
root@zetawiki:~# dd if=/dev/zero of=foobar count=1024 bs=1024
1024+0 records in
1024+0 records out
1048576 bytes (1.0 MB) copied, 0.00291073 s, 360 MB/s
root@zetawiki:~# ll -h foobar
-rw-r--r-- 1 root root 1.0M Jan 29 21:44 foobar
root@zetawiki:~# cat foobar
root@zetawiki:~# cat foobar | xxd -i -l8
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
  • dd 명령어로, /dev/zero의 내용을 받아 1GB짜리 파일을 생성해보자.
root@zetawiki:~# dd if=/dev/zero of=hello count=1 bs=1G
1+0 records in
1+0 records out
1073741824 bytes (1.1 GB) copied, 7.79378 s, 138 MB/s
root@zetawiki:~# ll -h hello
-rw-r--r-- 1 root root 1.0G Jan 29 21:52 hello

5 같이 보기[ | ]

6 참고[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}