특정 크기의 파일을 생성 하시겠습니까?


106

name 파일을 생성하고 싶습니다 example.file. 사용할 수 있습니다

touch example.file

하지만 파일 크기가 정확히 24MB가 되길 원합니다. 터치의 맨 페이지를 이미 확인했지만 이와 같은 매개 변수는 없습니다. 특정 크기의 파일을 생성하는 쉬운 방법이 있습니까?



우리는 모두 내용이 0으로 채워지는 것을 신경 쓰지 않는다고 가정합니다.
Bgs

답변:


136

dd를 사용할 수 있습니다 :

dd if=/dev/zero of=output.dat  bs=24M  count=1

또는

dd if=/dev/zero of=output.dat  bs=1M  count=24

또는 Mac에서는

dd if=/dev/zero of=output.dat  bs=1m  count=24

2
... 또는 bs = 1M 및 count = 24를 사용하십시오. 많은 사람들이 더 읽기 쉽고 읽기 쉽다고 생각합니다.
Bgs

3
어쩌면 거대한 블록 크기를 사용하지 마십시오, 내 시스템이 마음에 들지 않았습니다bs=1G count=1
ThorSummoner

10
Mac에서는 Mac이 큰 M을 좋아하지 않기 때문에 24m (작은 m)를 사용하십시오.dd if=/dev/zero of=output.dat bs=24m count=1
SPRBRN

1
Android (5.1.1, 버전 또는 전화에 따라 다를 수 있음)에서 소문자 m도 사용해야했습니다 .
Erik

1
특히 큰 블록 크기의 문제점은 무엇입니까? 1G 파일에 1G 블록 크기를 사용하고 싶었습니다.
felwithe

43

내장되지 않은 Linux 또는 Cygwin (또는 GNU coreutils가있는 시스템) 및 FreeBSD에서 :

truncate -s 24m example.file

이것은 널 바이트로 가득 찬 파일을 작성합니다. 파일이 이미 존재하고 작은 경우 널 바이트를 사용하여 요청 된 크기로 확장됩니다. 파일이 이미 존재하고 더 큰 경우 요청 된 크기로 잘립니다.

널 바이트는 디스크 공간을 소비하지 않으며 파일은 스파 스 파일 입니다.

많은 시스템에서 head -c 24m </dev/zero >example.file널 바이트로 가득 찬 스파 스가 아닌 파일을 작성합니다. 시스템에 옵션 head이없는 경우 -c(일반이지만 POSIX에는 없음) dd bs=1024k count=24 </dev/zero >example.file대신 사용할 수 있습니다 (POSIX 호환).


비지 박스는 또한 그것을 가지고 그래서 대부분의 임베디드 시스템이 너무 :-)
치로 틸리가新疆改造中心法轮功六四事件

29

파일 내용에 신경 쓰지 않으면 다음을 사용하는 것보다 훨씬 빠릅니다 dd.

fallocate -l 24M filename

분명히 dd현대 시스템에서는 24MB 파일을 사용 하는 데 시간이 걸리지 않지만 큰 파일은 눈에 띄게 느려질 수 있습니다.


13

dd를 사용할 수 있습니다 :

dd if = / dev / zero of = outputfile.out bs = 1024k count = 24

또는 Solaris를 사용하는 경우

mkfile 24m outputfile.out

3
mkfile은 macOS에도 존재하는 것 같습니다
Ben Flynn

-n스파 스 파일을 생성하기 위해 전달할 수도 있습니다
russbishop

0
FROM_NODE=N01;
echo; cd $MOUNT_PATH; pwd; ls -la; sleep 1; echo;
WHEN="$(date +%Y-%m-%d_%H-%M-%S)";
fallocate -l 10M $MOUNT_PATH/"$FROM_NODE"_"$WHEN".dump
ls -lha; echo;

1
Q가 24를 요구하는 동안 이것은 10 메가라고 말하지 않습니까?
Jeff Schaller

2
fallocate좋은 답변이 될 수 있지만 왜 다른 모든 라인입니까? 요청한 내용 만 수행하도록 답을 줄이십시오.
JigglyNaga

1
원하는 경우 : fallocate -l 10M somefile.dump
파스칼 앤디
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.