/dev/null
파일 과 유사하거나 파일이 실제로 존재하지 않는 특수 파일을 만들고 싶지만 /dev/random
파일의 겉보기 크기에 실제로 제한을 둘 수 있다는 점을 제외하고는 여전히 파일에서 읽을 수 있습니다.
즉, 특수 파일을 만들고(상한을 500GB로 설정했다고 가정) 파일을 "cat"하면 파일의 500GB가 모두 출력된 다음 중지됩니다. 실제 500GB 파일과 동일하게 작동해야 하지만 공간을 차지하지 않아야 합니다. 파일이 무엇인지는 중요하지 않습니다. 아마도 모두 \0
비슷 /dev/null
하거나 계속해서 전송되는 작은 문자열 등일 것입니다.
이게 할 수 있는 일인가요? 내가 찾을 수 있는 유일한 것은 매뉴얼 페이지에서 설명하는 내용이지만 mknod
그다지 도움이 되지는 않습니다.
답변1
당신은 만들 수 있습니다스파스 파일일부 파일 시스템에서는나타나다특정 크기에 도달하지만 실제로는 그렇게 많은 공간을 사용하지 않습니다.디스크에.
$ dd if=/dev/null of=sparse bs=1024 count=1 seek=524288000
0+0 records in
0+0 records out
0 bytes (0 B) copied, 2.4444e-05 s, 0.0 kB/s
$ ls -l sparse
-rw-rw-r--. 1 ignacio ignacio 536870912000 May 9 22:25 sparse
$ du -h sparse
0 sparse
답변2
답변3
파일을 볼 필요가 없다면 명명된 파이프를 사용할 수 있습니다.
mkfifo my_special_file
yes | head -n 100 > my_special_file&
cat my_special_file
물론 복잡한 스크립트를 포함한 다른 명령을 사용하여 파이프라인에서 데이터를 생성할 수 있습니다.
답변4
truncate 명령을 사용할 수도 있습니다. 예: 다음은 5MB 파일을 생성합니다.
truncate -s 5M 5.dumpfile