cp命令(代表copy)是Linux和其他类Unix操作系统上常用的用于复制文件和目录的命令之一。在本指南中,我们将展示如何在Linux中强制cp命令覆盖一个复制操作,而不需要进行确认。

通常,当您运行cp命令时,它将覆盖目标文件或目录,如下图所示。

root@linuxmi:/# cp www.linuxmi.com/linuxmi.gif test/linuxmi.gif

要以交互方式运行cp,以便在覆盖现有文件或目录之前提示您,请使用-i如下所示的标志(见上图)。

root@linuxmi:/# cp -i /www.linuxmi.com/linuxmi.gif /test/linuxmi.gif
cp:是否覆盖'/test/linuxmi.gif'?

默认情况下,现代Linux发行版,尤其是Red Hat Enterprise LinuxRHEL)系列中的发行版,都带有cp命令的别名(alias),该别名使用户可以以交互方式运行cp命令。在DebianUbuntu衍生版上情况可能并非如此。

要检查所有默认别名,请按如下所示运行alias命令。

[root@localhost /www.linuxmi.com]$alias

上面的屏幕快照中高亮显示的alias表示,当您运行命令时,默认情况下它将以交互模式运行。即使使用该yes命令,shell仍会出现提示,但无须你确认覆盖。

# yes | cp -r www.linuxmi.com test

强制覆盖的最佳方法是在cp命令之前使用反斜杠,如以下示例所示。在这里,我们将目录的内容复制bintest目录中。

# \cp -r bin test

或者,您可以取消当前会话的cp别名,然后在非交互模式下运行cp命令

# unalias cp
# cp -r bin test

有关更多信息,请参见cp命令手册页。

如果您还有其他疑问,请在下面的评论栏里留言告诉我们。

发表评论

电子邮件地址不会被公开。 必填项已用*标注