如何为目录中的所有文件创建备份副本?

How do I create backup copies of all files in a directory?

我有一个包含一些文件的目录,我想为同一目录中的所有文件创建备份。

我尝试 cp ./* ./*.bak(或 cp * *.bak 和其他几种变体,包括引文)创建所有文件的副本,并在文件名后附加 .bak,但这没有用。

我怀疑我遗漏了什么,但我不知道是什么。

我怎样才能做到这一点?

如果相关,我在 Windows 10 上使用 Cygwin 和鱼 shell。

使用循环。

for f in *
    cp -r -- "$f" "$f.bak"
end
  • -r表示递归复制目录,
  • -- 标记选项的结尾,没有它,以破折号开头的文件名可能会导致问题。