创建特定长度的二进制文件

创建特定长度的二进制文件

我希望运行一个命令,该命令将创建一个二进制文件,其中在发出命令时指定文件的长度。

答案1

如果您有以下truncate命令,则可以使用它来创建任何大小的文件:

例如

% truncate -s 8192 foo
% ls -l foo
-rw-r--r-- 1 sweh sweh 8192 Aug 21 16:01 foo

如果您没有,那么您可以使用以下dd命令执行类似操作:

% dd if=/dev/zero of=bar bs=1c count=0 seek=8192   
0+0 records in
0+0 records out
0 bytes (0 B) copied, 0.000116926 s, 0.0 kB/s

% ls -l bar
-rw-r--r-- 1 sweh sweh 8192 Aug 21 16:04 bar

在这两种情况下,如果文件系统支持的话,这都会创建一个“稀疏”文件。

如果您希望文件占用空间,则指定 acount和 noseek

% dd if=/dev/zero of=bar bs=1c count=10000000

这可能会很慢,所以有时值得以更大的块来做事情。例如创建一个10M的文件并分配空间

% dd if=/dev/zero of=bar bs=1M count=10

相关内容