Respostas:
Esse é um problema padrão com nomes de arquivos / diretórios começando com símbolos menos convencionais. Seu problema é que o mv está tratando --pycache-- como nome da opção longa (desde que começa com -, também existem opções curtas, eles começam com -). Consulte a página de manual do getopt para obter detalhes sobre opções longas e curtas.
A solução padrão nessa situação é usar um traço duplo vazio - antes de todo argumento, que informa o comando (mv no seu caso, mas funcionará com outras pessoas, por exemplo, cp) para parar de tratar o que se segue como opções e tratá-lo como argumentos.
Assim, seu comando se tornará:
$ mv -- --pycache--/ __pycache__
e não falhará.
./
: mv ./--pycache-- __pycache__
.
Seu primeiro caractere -
é ambíguo para o mv
comando (ou melhor, significa inequivocamente que o nome de uma opção segue).
Tente isso:
mv ./--ppycache-- __pycache__
Fonte: linux.about.com