Linux cp 命令并非静默

Linux cp 命令并非静默

我知道使用 -f cp 应该会保持沉默,但事实并非如此!我知道

cp -rf Functional Functionalssssssss

如果 Functional 不存在,它会说无法统计“Functional”... 但我只是不想看到错误消息!!我想自己处理它们

答案1

输出cannot stat...实际上是发送到stderr,而不是stdout。对于您在问题中提供的具体示例,以下内容将通过重定向到stderr来抑制错误输出/dev/null

cp -rf Functional Functionalssssssss 2>/dev/null

另外,至少对于cp我的 Debian Linux 服务器上的版本来说,-f它不是一个通用的“静默”标志。相反,它是的同义词--force,这意味着它将cp在复制之前静默地删除任何现有的目标文件。

答案2

如果您使用 bash 或 sh(posix 标准),[ -f file ] && cp file target 这就是您想要的。

这个命令会检查文件是否存在并复制它。告别错误。

相关内容