Эй, не уверен на 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
Кстати, в этом случае вы можете просто сделать:
% cp * ../backup/
* не должно быть в кавычках:
*
for f in * ; do cp $f ../backup/$f ; done
Когда вы используете кавычки, это предотвращает расширение оболочки оболочкой, поэтому она ищет файл с именем *, а не все файлы в каталоге, что вы и имели в виду.
Или может быть это:
cp -b * ../backup
Если вы хотите, чтобы они были переименованы:
% for f in * ; do cp "$f" "../backup/${f}-backup" ; done