Linux Fallocate命令

时间:2019-04-29 03:17:29  来源:igfitidea点击:

Linux的fallocate命令

fallocate命令可能是Linux中可以用来创建文件的鲜为人知的命令之一。fallocate用于将块预分配给文件。对于支持fallocate系统调用的文件系统,这可以通过分配块并将其标记为未初始化来快速完成,因此不需要对数据块进行I / O操作。这是创建文件而不是用零填充的更快的方法。大文件几乎可以立即创建,而不必等待任何I / O操作完成。在以下文件系统上支持fallocate系统调用:btrfs,ext4,ocfs2和xfs文件系统(自内核版本v2.6.31起)。

Fallocate命令示例

常规语法: fallocate [-n] [-o offset] -l length filename

length和offset参数后可以跟二进制(2 ^ N)后缀KiB,MiB,GiB,TiB,PiB和EiB(iB为可选,例如,K的含义与KiB的含义相同或后缀KB,MB,GB,PB和EB的十进制(10 ^ N)。

使用fallocate命令创建1GB文件

以下命令将分配一个大小为1GB的文件。

fallocate -l 1G test_file1.img

上面的命令创建了一个名为test_file1.img的文件,大小为1GB。该文件几乎是立即创建的(没有I / O延迟)。

使用fallocate命令创建10GB文件

以下命令将分配一个大小为10GB的文件。

fallocate -l 10G test_file2.img

上面的命令创建了一个名为test_file2.img的文件,大小为10GB。与前面的示例一样,该文件几乎是立即创建的(没有I / O延迟)。

注:由fallocate命令返回的退出代码为0表示成功,1表示失败。