Ответы:
Это стандартная проблема с именами файлов / каталогов, начинающимися с менее условных символов. Ваша проблема в том, что mv рассматривает --pycache-- как длинное имя опции (так как оно начинается с -, есть также короткие опции, они начинаются с -). Пожалуйста, смотрите man-страницу для getopt для получения подробной информации о длинных и коротких опциях.
Стандартный обходной путь в этой ситуации заключается в использовании пустого двойного тире - перед всем аргументом, который говорит команде (mv в вашем случае, но будет работать с другими, например, cp) прекратить обрабатывать то, что следует, как опции и рассматривать это как аргументы.
Таким образом, ваша команда станет:
$ mv -- --pycache--/ __pycache__
и не подведет.
./
: mv ./--pycache-- __pycache__
.
Ваш первый символ -
неоднозначен для mv
команды (точнее, это однозначно означает, что за именем опции следует).
Попробуйте это вместо этого:
mv ./--ppycache-- __pycache__
Источник: linux.about.com