Ini adalah masalah standar dengan nama file / direktori yang dimulai dengan simbol yang kurang konvensional. Masalah Anda adalah bahwa mv memperlakukan --pycache-- sebagai nama opsi yang panjang (sejak dimulai dengan -, ada juga opsi pendek, mereka mulai dengan -). Silakan lihat manual untuk getopt untuk detail tentang opsi panjang dan pendek.
Solusi standar dalam situasi ini adalah dengan menggunakan tanda hubung ganda kosong - sebelum semua argumen, yang memberi tahu perintah (mv dalam kasus Anda, tetapi akan bekerja dengan orang lain, cp misalnya) untuk berhenti memperlakukan yang berikut sebagai opsi dan memperlakukannya sebagai argumen.
Dengan demikian, perintah Anda akan menjadi:
$ mv -- --pycache--/ __pycache__
dan tidak akan gagal.