R_U*_*ser 153 command-line bash files
我想生成一个名为example.file. 我可以用
touch example.file
Run Code Online (Sandbox Code Playgroud)
但我希望文件大小正好为 24MB。我已经检查了touch的联机帮助页,但是没有这样的参数。有没有一种简单的方法来生成一定大小的文件?
Pau*_*l92 186
您可以使用 dd:
dd if=/dev/zero of=output.dat bs=24M count=1
Run Code Online (Sandbox Code Playgroud)
或者
dd if=/dev/zero of=output.dat bs=1M count=24
Run Code Online (Sandbox Code Playgroud)
或者,在 Mac 上,
dd if=/dev/zero of=output.dat bs=1m count=24
Run Code Online (Sandbox Code Playgroud)
Gil*_*il' 56
在非嵌入式 Linux 或 Cygwin(或任何带有 GNU coreutils 的系统)和 FreeBSD 下:
truncate -s 24m example.file
Run Code Online (Sandbox Code Playgroud)
这将创建一个充满空字节的文件。如果文件已存在且较小,则将其扩展为空字节的请求大小。如果文件已经存在并且更大,则被截断为请求的大小。
空字节不占用任何磁盘空间,该文件是一个稀疏文件。
在许多系统上,head -c 24m </dev/zero >example.file创建一个充满空字节的非稀疏文件。如果您的系统上head没有-c选项(这很常见,但在 POSIX 中没有),您可以dd bs=1024k count=24 </dev/zero >example.file改用(这是 POSIX 兼容的)。
SAr*_*her 39
如果您不关心文件的内容,这比使用要快得多dd:
fallocate -l 24M filename
Run Code Online (Sandbox Code Playgroud)
显然,dd在现代系统上使用24MB 文件不会花费任何时间,但较大的文件可能会明显变慢。
Bit*_*Nix 15
您可以使用 dd:
dd if=/dev/zero of=outputfile.out bs=1024k count=24
或者,如果您碰巧使用 Solaris
mkfile 24m outputfile.out
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
165132 次 |
| 最近记录: |