Zu 写道:
> 有2个文件,file1和file2,大小都是4G,如果想合并file1和file2,可以 cat
> file2>>file1来实现,这样要花几分钟时间。有没有一种办法,能把file2 "剪切"
> 到file1中?也就是说把file2在文件系统中占用的数据块分配给file1?使用的是ext3文件系统。
>
>
>
有点困难,因为根据我的理解,任何文件在磁盘中都是"块"的集合存储的。如果头
一个文件正好放满N块还好说,如果正好差一点,那么后面的数据按照规则必须先
填充前面的块。这样会造成后一个文件全面的内容位移,其读写数据量没有比直接
附加低多少。
--
To
两个文件在物理硬盘中的数据和1个文件不一样吧,这种不经过特殊处理的话,应该不行...而且限定了ext3了...
2008/6/7 Zu <[EMAIL PROTECTED]>:
> 有2个文件,file1和file2,大小都是4G,如果想合并file1和file2,可以 cat
> file2>>file1来实现,这样要花几分钟时间。有没有一种办法,能把file2 "剪切"
> 到file1中?也就是说把file2在文件系统中占用的数据块分配给file1?使用的是ext3文件系统。
>
>
> --
> 瑞豪开源VPS - 基于Linux/Xen - 最低58元/月 - 免费试用
> h
hehe,好注意。
可能需要手工修改 inode 表了,第一个文件的末尾的block中,没有用到的空闲 bit,估计就会保留在合并后的大文件中间了。
后面哪个文件的目录信息,也需要处理。
在2008-06-07,Zu <[EMAIL PROTECTED]> 写道:
有2个文件,file1和file2,大小都是4G,如果想合并file1和file2,可以 cat
file2>>file1来实现,这样要花几分钟时间。有没有一种办法,能把file2 "剪切"
到file1中?也就是说把file2在文件系统中占用的数据块分配给file1?使用的是ext3文件系统。
有2个文件,file1和file2,大小都是4G,如果想合并file1和file2,可以 cat
file2>>file1来实现,这样要花几分钟时间。有没有一种办法,能把file2 "剪切"
到file1中?也就是说把file2在文件系统中占用的数据块分配给file1?使用的是ext3文件系统。
--
瑞豪开源VPS - 基于Linux/Xen - 最低58元/月 - 免费试用
http://www.RasHost.com
4 matches
Mail list logo