Según lo descrito por @ssssteffff, con mv *
, el shell está haciendo una expansión comodín desde los archivos en el directorio actual. Sin embargo, el comportamiento del mv
comando depende de cuántos argumentos se *
expanden. Si hay más de dos argumentos, el último argumento debe ser un directorio:
mv [OPTION]... SOURCE... DIRECTORY
Entonces,
Creé 5 archivos
$ touch 1 2 3 4 5
$ ls
1 2 3 4 5
$ mv *
mv: target ‘5’ is not a directory
$ ls
1 2 3 4 5
Ahora, si creo un directorio que viene como último parámetro para la expansión de comodines, entonces:
$ mkdir 6
$ mv *
$ ls
6
$ ls 6
1 2 3 4 5
Deberías verificar dos veces cuál fue el último argumento.
- Si el último argumento fue un directorio, entonces sus datos tal vez estén seguros.
- Si el número total de argumentos fue 2, y el último argumento fue un directorio, entonces sus datos tal vez estén seguros.
- Si el número total de argumentos fue 2, y el último argumento fue un archivo, entonces el segundo archivo se ha ido con seguridad.
¿Estás seguro de que no viste el error algo como esto?
mv: target ‘5’ is not a directory`