小编Dut*_*IFF的帖子

(cp is to cat AS mv is to ?) mv 多个文件到一个文件而不是 cat * rm *

对于这个问题中的所有内容,假设系统只有一个磁盘和文件系统。(我们不会写入不同的分区、磁盘或文件系统)

我正在处理一个将cat非常大的 .MTS 文件转换为一个巨大的 .MTS 文件的项目。这需要读取每个小文件并将它们写入一个新的大文件,然后删除小文件。对于这么大的文件,这需要很长时间。

我的理解-cpmv因为cp读取文件并将其写入磁盘上的不同位置需要更长的时间。mv另一方面不复制或移动文件。mv删除对文件的引用并在新位置创建一个新文件。例如,mv /tmp/foo /tmp/bar将文件原样保留在磁盘上,并删除指向/tmp/foo磁盘上文件的引用,并添加指向/tmp/bar磁盘上文件的新引用。

问题:

cat就像cp是因为它将文件复制到新位置。有了这么大的文件,完成后不需要较小的文件,是否有类似的东西而不是cat使用?mvcp

理论(我可能错了)

文件分散存储在驱动器周围已经很常见。例如,一个 2GB 的文件可能有几个较小的块存储在驱动器的不同部分。这样,当 5K 文件被删除时,它可以被 20MB 文件的一部分覆盖。如果我们将 2GB 的文件留在原处,只引用所有部分,似乎我们可以cat foo/* >> bar/bigfile.MTS; rm foo/*在很短的时间内产生相同的效果。

如果没有任何东西可以做到这一点并且这是一个坏主意,谁能给我举个例子说明为什么?鼓励用分散的文件块弄乱磁盘是不是很糟糕?

cat mv

4
推荐指数
1
解决办法
245
查看次数

标签 统计

cat ×1

mv ×1