如何强制 cp 命令覆盖而不确认
cp 命令(代表复制)是 Linux 和其他类 UNIX 操作系统上常用的命令之一,用于复制文件和目录。在本指南中,我们将展示如何在 Linux 中强制 cp 命令覆盖复制操作而无需确认。
通常,当您运行cp命令时,它会覆盖目标文件或目录,如图所示。
cp bin/git_pull_frontend.sh test/git_pull_frontend.sh
要以交互模式运行 cp 以便在覆盖现有文件或目录之前提示您,请使用 -i
标志,如图所示。
cp -i bin/git_pull_frontend.sh project1/git_pull_frontend.sh
默认情况下,现代 Linux 发行版,尤其是 Red Hat Enterprise Linux (RHEL) 系列中的发行版,都带有 cp 命令 的别名,这使得用户在交互模式下运行cp命令。在 Debian 和 Ubuntu 衍生产品上情况可能并非如此。
要检查所有默认别名,请运行alias 命令,如下所示。
alias
上面屏幕截图中突出显示的别名意味着当您运行该命令时,默认情况下它将在交互模式下运行。即使您使用 yes 命令,shell 仍会提示您确认覆盖。
yes | cp -r bin test
强制覆盖的最佳方法是在 cp 命令 之前使用反斜杠,如以下示例所示。在这里,我们将 bin
目录的内容复制到 test
目录。
\cp -r bin test
或者,您可以为当前会话unalias cp 别名,然后在非交互模式下运行cp 命令。
unalias cp
cp -r bin test
有关详细信息,请参阅cp 命令手册页。
man cp
如果您有任何疑问,请通过下面的反馈表询问我们。