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 Linux(RHEL)系列中的发行版,都带有cp命令的别名(alias),该别名使用户可以以交互方式运行cp命令。在Debian和Ubuntu衍生版上情况可能并非如此。
要检查所有默认别名,请按如下所示运行alias命令。
[root@localhost /www.linuxmi.com]$alias
上面的屏幕快照中高亮显示的alias表示,当您运行命令时,默认情况下它将以交互模式运行。即使使用该yes
命令,shell仍会出现提示,但无须你确认覆盖。
# yes | cp -r www.linuxmi.com test
强制覆盖的最佳方法是在cp命令之前使用反斜杠,如以下示例所示。在这里,我们将目录的内容复制bin
到test
目录中。
# \cp -r bin test
或者,您可以取消当前会话的cp别名,然后在非交互模式下运行cp命令。
# unalias cp # cp -r bin test
有关更多信息,请参见cp命令手册页。
如果您还有其他疑问,请在下面的评论栏里留言告诉我们。