相关疑难解决方法(0)

如何使用cp以幂等方式递归复制文件夹?

当我使用

cp -R inputFolder outputFolder
Run Code Online (Sandbox Code Playgroud)

结果取决于上下文

  1. 如果outputFolder不存在,则创建,克隆的文件夹路径为outputFolder.
  2. 如果outputFolder存在,则创建的克隆将是outputFolder/inputFolder

这太可怕了,因为我想创建一些安装脚本,如果用户错误地运行了两次,他将outputFolder第一次创建,然后在第二次运行时所有的东西都将在outputFolder/inputFolder.

  • 我总是想要第一个行为:在原始(作为兄弟)旁边创建一个克隆。
  • 我想使用cp便携(例如 MINGW 没有rsync发货)
  • 我检查过,cp -R --parents但这会重新创建一直向上到目录树的路径(因此克隆不会outputFolder但是some/path/outputFolder
  • --remove-destination或者--update如果 2 不改变任何东西,仍然将东西复制到outputFolder/inputFolder

有没有办法在不首先检查outputFolder(如果文件夹不存在则......)或使用的情况下做到这一点rm -rf outputFolder

公认的、可移植的 UNIX 方式是什么?

cp recursive

58
推荐指数
3
解决办法
3万
查看次数

标签 统计

cp ×1

recursive ×1