Respuestas:
El punto ( .
) es solo el .
directorio dentro de un directorio que es el mismo que el directorio en sí ( ls -la /foo
se lo mostrará). Entonces, si copia en foo/.
otro lugar, efectivamente copia todo el árbol a continuación foo
sin copiarse a foo
sí mismo (lo está copiando en lo foo2/.
que es lo mismo foo2
).
/foo/*
se expande por la cáscara a la lista de archivos que no son ocultos y directorios en /foo
, por lo que sería copiar la misma estructura de directorios bajo /foo
en /foo2
así, a excepción de los dotfiles / dotdirs. Efectivamente, cp
recibirá (potencialmente) muchos argumentos. Si la lista es demasiado grande, incluso puede provocar cp
que falle la ejecución de .
set -x
o echo cp -pr /foo/* /foo2
para ver qué está pasando. Es importante darse cuenta de que es el caparazón que expande los comodines. cp
No ve la estrella.
cp -r /foo/*
hace lo mismo quecp /foo/*
?