(cp f1.txt f2.txt) & (less f1.txt > f2.txt) 有什么区别

Sho*_*san 2 command-line file-copy

我知道两者都会将数据从 f1.txt 复制到 f2.txt,但真正的区别是什么?

(cp f1.txt f2.txt) 
Run Code Online (Sandbox Code Playgroud)

对比:

(less f1.txt > f2.txt)
Run Code Online (Sandbox Code Playgroud)

sou*_*edi 6

不同之处在于,这cp对人类来说要清楚得多。这是您应该优化的第一件事。

less以这种方式使用是如此晦涩难懂,除非您尝试一下,否则它是否有效并不是很明显。另一个答案指出它不起作用 - 如果您的文件包含某些字符,并且您希望该命令在没有用户交互的情况下工作,例如作为脚本的一部分。这个限制也很模糊(至少我没有想到,尽管已经多次看到这种行为)。

less碰巧更慢,一个原因是它以较小的块传输数据。在 下运行它们strace,我看到less块 1023 字节(1KiB - 1);cp 块 64KiB。