文件操作——linux快速创建大文件的方法
2016-10-22 20:14
351 查看
还记得去年在准备某公司的笔试时遇到了一道题目,题目中要求”快速创建1G的大文件“,后面的要求这里暂且就省略了。如何快速创建指定大小的大文件呢?可能有很多种办法,这里提供两种办法。
1、利用dd命令操作创建文件
其中 if=输入的文件,of=输出文件,bs=块大小 ,count=块数量。
bs和count的单位设置,man函数中提及如下,查看完整参数请参见Manuel手册:
2、利用文件操作的文件指针移位产生空洞文件
这里指的是将文件指针移动到距离文件头指定大小的地方,再进行写操作(注意,这里移动完文件位移量后一定要写点东西,否则无效)
1、利用dd命令操作创建文件
//结合C语言,可以使用system函数调用shell命令 char *shell = "dd if=/dev/zero of=test.txt bs=1K count=1024"; system(shell);
其中 if=输入的文件,of=输出文件,bs=块大小 ,count=块数量。
bs和count的单位设置,man函数中提及如下,查看完整参数请参见Manuel手册:
BLOCKS and BYTES may be followed by the following multiplicative suf‐fixes: c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M=1024*1024, xM =M GB =1000*1000*1000, G=1024*1024*1024, and so on for T, P, E, Z, Y.
2、利用文件操作的文件指针移位产生空洞文件
这里指的是将文件指针移动到距离文件头指定大小的地方,再进行写操作(注意,这里移动完文件位移量后一定要写点东西,否则无效)
int main(void) { int fd ; fd = open("test.txt" , O_CREAT|O_RDWR , 0777); if( fd < 0) { printf("open file error\n"); return 0; } //为了创建一个大小为3M的文件,我们先少创建2个字节,然后在写文件的时候补充2字节 lseek(fd , 1024 * 1024 *3 -2, L_SET); write(fd , "e" , 1); close(fd); return 0 ; }
相关文章推荐
- Linux创建文件操作命令的方法
- linux 新手教程之创建锁文件的方法
- 安装sqlserver2000的时候安装过某个文件创建挂起的文件操作?处理时最简单的方法
- SQL SERVER 2000 创建挂起的文件操作 解决方法
- Linux下使用rsync最快速删除海量文件的方法
- Linux创建文件命令的方法与特殊目录简介
- 安装sql server 2000时出现:以前的某个程序安装已在安装计算机上创建挂起的文件操作.运行安装程序之前必须重新启动计算机.的解决方法
- Linux下几种另类创建文件之方法
- 在Linux下访问windows共享文件并创建中文文件的方法
- Linux创建文件命令的方法
- Linux下使用rsync最快速删除海量文件的方法
- 关于“以前的某个程序安装已在安装计算机上创建挂起的文件操作”解决方法
- 安装SQL Server 2000的时候出现“以前的某个程序安装已在安装计算机上创建挂起的文件操作。运行安装程序之前必须重新启动计算机”的解决方法
- 【转】Linux下快速清空文件内容的三种方法
- SQL SERVER 2000 创建挂起的文件操作 解决方法
- 【转帖】LINUX下快速清空文件的三种方法
- “以前的某个程序安装已在安装计算机上创建挂起的文件操作。运行安装程序之前必须重新启动计算机”的解决方法
- 在GHOST的WINXPSP2安装SQL SERVER2000个人版时出现“以前的某个程序安装已在安装计算机上创建挂起的文件操作。运行安装之前,必须重新启动计算机。”错误的解决方法
- SQL Server安装过程中出现“以前的某个安装程序已在安装计算机上创建挂起的文件操作,运行程序前必须重启计算机”错误的解决方法
- Linux下使用rsync最快速删除海量文件的方法。