以下几种方法在Linux系统上创建一个1GB大小的大文件:
1、使用dd命令
dd if=/dev/zero of=/path/to/your/file bs=1M count=1024
这个命令会从/dev/zero
设备读取数据(即空数据),并将其写入指定的文件中。bs
参数指定了每次写入的块大小(这里是1MB),count
参数指定了需要写入多少个块(这里是1024个,即1GB)。
2、使用fallocate命令(推荐)
fallocate -l 1G /path/to/your/file
fallocate用于将块预分配给文件。对于支持fallocate系统调用的文件系统,这可以通过分配块并将其标记为未初始化来快速完成,因此不需要对数据块进行I / O操作。
这是创建文件而不是用零填充的更快的方法,大文件几乎可以立即创建,而不必等待任何I / O操作完成。
3、使用truncate命令
truncate -s 1G /path/to/your/file
本命令缩减或扩充指定文件的大小为指定值,参数所指定的文件如果不存在,那么该命令会创建这个文件。
如果一个文件的大小比参数指定的大,那么超出的部分就会被丢弃;如果一个文件比参数指定的小,那么文件会被扩充,并且被扩充的部分(空洞)在被读取的时候是字节0。