Ste*_* Lu 5 command-line bash posix
cat a > b
Run Code Online (Sandbox Code Playgroud)
和
cp a b
Run Code Online (Sandbox Code Playgroud)
如果它们的所有意图和目的在功能上都相同,那么哪个更快?
在功能方面,我认为它们是相同的。
如果我不得不冒险猜测哪个更快,我会说cp命令,因为它的目的是仅出于复制目的进行文件操作,因此它将为此进行优化。
相比之下,cat意味着连接文件,意味着将几个文件连接成一个系列。如果没有指定文件,它会向控制台显示一个文件(感谢@bahamat 提醒我们)。在这个例子中,输出被重定向到另一个文件。我认为这种间接方式的效率会低于直接cp.
我不知道对于常规大小的文件,差异是否会很明显,尽管在非常大的文件上计时会很有趣。我想可以用 /usr/bin/time 反复试验,看看一个是否总是比另一个更快/更慢。
你有什么特别的理由要问这个吗,还是只是单纯的好奇(当然这没什么错)