我想将某个文件复制到某个位置,而不管目标中是否存在该文件。我正在尝试复制shell脚本。但是文件没有被复制。我正在使用以下命令
/bin/cp -rf /source/file /destination
但这不起作用。
答案 0 :(得分:13)
您的问题可能是由默认情况下在系统中创建的cp命令的别名引起的(您可以通过键入“alias”来查看别名)。 例如,我的系统默认具有以下alis:alias cp ='cp -i',其中-i覆盖-f选项,即cp将始终提示覆盖确认。
在这种情况下你需要的东西(即使你没有别名也能实际工作)是对该确认提供“是”。为此,只需将cp命令修改为如下所示:
是的cp / source / file / destination
答案 1 :(得分:10)
这个问题已经讨论过,但你可以写一个像这样的小脚本:
#!/bin/bash
if [ ! -d "$2" ]; then
mkdir -p "$2"
fi
cp -R "$1" "$2"
答案 2 :(得分:10)
使用
cp -fr /source/file /destination
这应该可以解决问题。
答案 3 :(得分:1)
/ bin / cp -rf src dst 要么 / usr / bin / env cp -rf