|  |      1ipwx      2021-08-11 09:09:35 +08:00 via iPhone 会。再创建一个文件 | 
|  |      2jetyang      2021-08-11 09:19:21 +08:00 解决了记得通知我 | 
|  |      3swulling      2021-08-11 09:20:30 +08:00 via iPhone 这个是文件系统实现,目前主流的文件系统都没有这么傻。 结论是不会 | 
|  |      6passerbytiny      2021-08-11 09:30:04 +08:00 via Android @dtgxx 普通文件系统应该没有能能支持 2T 文件的吧,分布式文件系统印象中保存时都是只追加。 | 
|      7Mithril      2021-08-11 09:35:25 +08:00  1 会的,除非你刚好插了一个 block 大小的内容进去。但这个你也得特殊处理,没法直接用系统的文件操作 API 。 比如你可以先把这些数据写成一个小文件,然后 cat 到原始文件前面。 也可以直接 fallocate 或者 dd | 
|      9myd      2021-08-11 09:52:08 +08:00 刚刚试了一下,在文件开头插入一样确实很慢,但在文件结尾追加很快:    ``` [root@VM-0-8-centos file_test]# ls -lh total 4.8G -rw-r--r-- 1 root root 4.8G Aug 11 09:39 big.txt [root@VM-0-8-centos file_test]# head -n 2 big.txt Hello World !!!!!!!!!!!!!!!!!!!!!!!!!!!!! Hello World !!!!!!!!!!!!!!!!!!!!!!!!!!!!! [root@VM-0-8-centos file_test]# time sed -i '1 i\add first line' big.txt real 2m12.840s user 0m32.787s sys 1m39.221s [root@VM-0-8-centos file_test]# head -n 2 big.txt add first line Hello World !!!!!!!!!!!!!!!!!!!!!!!!!!!!! ``` 建议:实际存储时把文件切割,比如 20M 一个。读取的时候再拼接。 | 
|  |      10dynastysea      2021-08-11 10:26:59 +08:00 哪个符合 posix 规范的文件系统还支持中间插入的?标准文件系统语义压根就没有插入这个概念呀 |