빈 파일을 만드는 방법을 알고 있습니다.
touch /var/tmp/nullbytes
그러나 bash를 사용하여 명령 줄에 null 바이트 만 포함하는 1MB 파일을 어떻게 만들 수 있습니까?
답변
GNU로 truncate
:
truncate -s 1M nullbytes
( nullbytes
사전에 존재하지 않는다고 가정 ) 1 mebibyte 스파 스 파일을 만듭니다. 그것은 0으로 채워져 있지만 디스크 공간을 차지하지 않는 파일입니다.
없이는 대신 truncate
사용할 수 있습니다 dd
.
dd bs=1048576 seek=1 of=nullbytes count=0
(일부 dd
구현에서는 1048576을로 바꿀 수 있습니다 1M
)
Linux 및 일부 파일 시스템 에서 디스크 공간을 할당 하려면 다음을 수행하십시오.
fallocate -l 1M nullbytes
실제로 디스크에 데이터를 쓰지 않고 공간을 할당합니다 (공간은 예약되었지만 초기화되지 않은 것으로 표시됨).
dd < /dev/zero bs=1048576 count=1 > nullbytes
실제로 0을 디스크에 씁니다. 그것은 가장 효율적이지 않지만 파일에 액세스 할 때 드라이브를 회전 해야하는 경우 그것이 원하는 것입니다.
또는 @mikeserv가 dd
NUL 바이트 생성 을 속이는 방법 :
dd bs=1048576 count=1 conv=sync,noerror 0> /dev/null > nullbytes
head
블록 크기를 지정하지 않아도 되는 GNU의 대안 (1M은 괜찮지 만 10G는 그렇지 않습니다) :
head -c 1M < /dev/zero > nullbytes
또는 진행률 표시 줄을 얻으려면 :
pv -Ss 1M < /dev/zero > nullbytes
답변
dd if=/dev/zero of=/var/tmp/nullbytes count=1 bs=1M