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

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

touch example.file

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



답변

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

답변

내장되지 않은 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 호환).


답변

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

fallocate -l 24M filename

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


답변

dd를 사용할 수 있습니다 :

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

또는 Solaris를 사용하는 경우

mkfile 24m outputfile.out

답변

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;