ねえ、このエラーが何を意味するのか 100% わかりません。
% for f in "*" ; do cp $f ../backup/backup$f ; done
cp: ../backup/backup* not found
目的は、フォルダー内のすべてのファイルをバックアップ フォルダーにコピーし、ファイルの名前をバックアップに変更することです。
を引用符で囲んでは*
いけません:
for f in * ; do cp $f ../backup/$f ; done
*
引用符を使用すると、シェルがシェルを展開できなくなるため、意味するディレクトリ内のすべてのファイルではなく、というファイルを探します。
あなたは間違ったことを引用しています: ワイルドカードではなく、変数を引用してください!
% for f in *; do cp "$f" "../backup/$f" ; done
ところで、この場合、次のように簡単に実行できます。
% cp * ../backup/
またはこれかもしれません:
cp -b * ../backup
名前を変更したい場合:
% for f in * ; do cp "$f" "../backup/${f}-backup" ; done