mv: no puede stat con *

Respuestas:

7

Puedo pensar en 2 posibles razones por las que esto puede suceder:

  1. El directorio de origen puede no existir (O)
  2. El directorio de origen puede estar vacío.

Ignorar si ninguno!

l0n3sh4rk
fuente
5

Debe usar $USERpara que el usuario se expanda a su nombre de usuario. /home/usersolo es válido si tiene un usuario llamado user. Esto funcionará si temp1y temp2existe en su directorio

mv /home/$USER/temp1/* /home/$USER/temp2
Rinzwind
fuente
3

Trataré de ayudar y aclarar un poco la confusión:

  • Si desea mover una carpeta y su contenido a otra, ingrese:

    mv ~/Scripts ~/Podcasts

  • Si desea mover el contenido de una carpeta pero no la carpeta en sí a otra carpeta, debe ingresar, por ejemplo mv ~/Scripts/* ~/Podcasts,. Puede ingresar echo ~/Scripts/*para verificar el contenido de la carpeta

  • (Si también necesita saber globstar, lo que le permitirá recurrir a todos los niveles de directorio, consulte este artículo y este . Se puede habilitar con shopt -s globstar, pero eso tendrá que ponerse en .bashrc para que funcione de forma permanente .)

(El tilde~ in ~ / Scripts se expande a /home/mike/su nombre de usuario automáticamente por el shell)

Comunidad
fuente
0

Si está usando bash y el directorio de origen está vacío, puede modificar el comportamiento de expansión glob predeterminado del shell con:

shopt -s nullglob

para habilitar el nullglob y hacer que los comandos posteriores se mvcomporten correctamente cuando el directorio de origen está vacío. Tenga en cuenta que esto puede provocar que otros comandos se lscomporten inesperadamente.

Puede deshabilitar el nullglob nuevamente con:

shopt -u nullglob

Para más información, mira aquí y aquí .

Comunidad
fuente