El comando mv confunde el nombre del directorio con la opción de comando
12
Tengo un directorio llamado --pycache--, al cual necesito moverme __pycache__. Usar el mvcomando de la siguiente manera, me da el resultado listado. ¿Cómo puedo usar el CLIpara hacer lo que quiero?
Este es un problema estándar con nombres de archivo / directorios que comienzan con símbolos menos convencionales. Su problema es que mv está tratando --pycache-- como nombre de opción largo (ya que comienza con -, también hay opciones cortas, comienzan con -). Consulte la página de manual de getopt para obtener detalles sobre las opciones largas y cortas.
La solución estándar en esta situación es usar un doble guión vacío , antes de todo argumento, que le dice al comando (mv en su caso, pero funcionará con otros, cp por ejemplo) que deje de tratar lo que sigue como opciones y lo trate como argumentos
buena respuesta, pero creo que quiere decir : le dice al comando que deje de tratar lo que sigue como opciones y lo trate como argumentos, no al revés.
RoundTower
1
Creo que es más portátil a anteponer ./: mv ./--pycache-- __pycache__.
Kevin
3
@ Kevin Eso funciona solo si el argumento es un nombre de archivo.
Starblue
16
Su primer carácter -es ambiguo para el mvcomando (o más bien, significa sin ambigüedad que le sigue un nombre de opción).
./
:mv ./--pycache-- __pycache__
.Su primer carácter
-
es ambiguo para elmv
comando (o más bien, significa sin ambigüedad que le sigue un nombre de opción).Intenta esto en su lugar:
Fuente: linux.about.com
fuente