我希望运行一个命令,该命令将创建一个二进制文件,其中在发出命令时指定文件的长度。
答案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