国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Linux > 正文

linux下fallocate快速創建大文件

2024-06-28 13:23:09
字體:
來源:轉載
供稿:網友
linux下fallocate快速創建大文件

以前創建文件我一般用dd來創建,例如創建一個512M的文件:

dd命令可以輕易實現創建指定大小的文件,如

dd if=/dev/zero of=test bs=1M count=1000

會生成一個1000M的test文件,文件內容為全0(因從/dev/zero中讀取,/dev/zero為0源)

但是這樣為實際寫入硬盤,文件產生速度取決于硬盤讀寫速度,如果欲產生超大文件,速度很慢

在某種場景下,我們只想讓文件系統認為存在一個超大文件在此,但是并不實際寫入硬盤

則可以

dd if=/dev/zero of=test bs=1M count=0 seek=100000

此時創建的文件在文件系統中的顯示大小為100000MB,但是并不實際占用block,因此創建速度與內存速度相當

seek的作用是跳過輸出文件中指定大小的部分,這就達到了創建大文件,但是并不實際寫入的目的

當然,因為不實際寫入硬盤,所(www.111cn.net)以你在容量只有10G的硬盤上創建100G的此類文件都是可以的

記得以前做Windows開發的時候,有個API叫SetEndOfFile,可以用來將文件內部游標所在位置設為文件末尾,可以用來截取或者擴展文件,這個函數本質上相當于直接操作文件分區表的結構,用它來作文件擴展是不需要頻繁的填充文件,linux下肯定也有對應的東西,即ftrunc/truncate這兩個函數。

那么直接利用這個特性來創建大文件的工具就肯定有人做好了,經搜索找到了fallocate和truncate兩個命令, 以及GNU dd的seek擴展:

代碼如下 復制代碼 # fallocate -l 10G bigfile# truncate -s 10G bigfile# dd of=bigfile bs=1 seek=10G count=0

文件系統對于這樣創建的文件有特殊處理,叫稀疏文件,現在創建大文件光速了,再也不用糾結等半天了。from:http://www.111cn.net/sys/linux/55537.htm


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 祁连县| 元氏县| 饶河县| 拜城县| 旌德县| 平安县| 滦南县| 章丘市| 长顺县| 盐城市| 延津县| 华宁县| 台东县| 邯郸县| 新竹市| 定边县| 新余市| 巨野县| 兴文县| 南宁市| 清镇市| 祁东县| 新密市| 玉门市| 大方县| 虞城县| 丰原市| 横山县| 通许县| 武冈市| 澄迈县| 历史| 弋阳县| 新平| 安远县| 铜山县| 北安市| 奇台县| 会东县| 佛山市| 昔阳县|