如果我想使内容file2与的内容匹配file1,我显然可以运行cp file1 file2。
但是,如果我想保留一切有关file2 除了内容所有者,权限,扩展属性,ACL的,硬链接,等等等等,那么我就不会想运行cp。*在这种情况下,我只是想在扑通内容file1成file2。
似乎可以做到以下几点:
< file1 > file2
但这是行不通的。 file2被截断为空且未写入。然而,
cat < file1 > file2
确实有效。
令我惊讶的是第一个版本不起作用。
第二个版本是UUOC吗?有没有一种方法,仅通过使用重定向就可以在不调用命令的情况下做到这一点?
注意:我知道UUOC不仅仅是真正的反模式,更是一个学问点。
* 如tniles09发现的,实际上在这种情况下cp 将起作用。
<... 的无用使用
file1不存在或不可读时发生的情况,并在打开输出< 之前 >将其打开,然后考虑允许cat尝试打开它时发生的情况。
cat(默认情况下),实际上运行第二个命令。请参阅下面的StéphaneChazelas的答案,以获取更多的信息,而不是在评论中。
< file1 > file2你想要做什么是壳依赖。