我有一个这样的文件夹:
./folder-a/index.html
./folder-b/index.html
./folder-c/subdir/index.html
./new-content/folder-a/index.html
./new-content/folder-b/index.html
./new-content/folder-c/subdir/index.html
该new-content
文件夹包含我更新的持续更新的内容。当我想更新我的内容时,我将复制它们以覆盖现有的内容,如下所示:
\cp -rf new-content/* ./
但是如何为将要被覆盖的文件设置备份呢?
有什么简单的方法可以实现这个吗?
答案1
来自man cp
(GNU 版本,在 Linux 和 Cygwin 上找到)
--备份[=控制]
备份每个现有的目标文件
-b 类似 --backup 但不接受参数
例子
touch 1 2
cp -bv 2 1
‘2’ -> ‘1’ (backup: ‘1~’)
请注意,这不会检查现有的备份文件,即如果1~
存在,它将被覆盖。使用长版本可以避免这种情况。例如
cp -v --backup=numbered 2 1
‘2’ -> ‘1’ (backup: ‘1.~1~’)
cp -v --backup=numbered 2 1
‘2’ -> ‘1’ (backup: ‘1.~2~’)
cp -v --backup=numbered 2 1
‘2’ -> ‘1’ (backup: ‘1.~3~’)