Estás buscando el cp
dominio. Debe cambiar los directorios para estar fuera del directorio que está tratando de copiar.
Si el directorio que estás copiando se llama dir1
y quieres copiarlo en tu /home/Pictures
carpeta:
cp -r dir1/ ~/Pictures/
Linux distingue entre mayúsculas y minúsculas y también necesita el /
después de cada directorio para saber que no es un archivo. ~
es un carácter especial en la terminal que evalúa automáticamente el directorio de inicio del usuario actual. Si necesita saber en qué directorio se encuentra, use el comando pwd
.
Cuando no sepa cómo usar un comando de Linux, hay una página de manual que puede consultar escribiendo:
man [insert command here]
en un indicador de terminal.
Además, para completar automáticamente rutas largas de archivos al escribir en la terminal, puede pulsar Tab después de que haya comenzado a escribir la ruta, se le presentarán opciones o se insertará la parte restante de la ruta.
Hay una distinción importante entre Linux y Unix en la respuesta porque para Linux (GNU y BusyBox) -R
, -r
y --recursive
son todos equivalentes, como se menciona en esta respuesta. Para la portabilidad, es decir, el cumplimiento de POSIX, querrá usar -R
debido a algunas diferencias dependientes de la implementación con -r
. Es importante leer las páginas de manual para conocer cualquier idiosincrasia que pueda surgir (este es un buen caso de uso para mostrar por qué los estándares POSIX son útiles).
La opción que estás buscando es -R
.
cp -R path_to_source path_to_destination/
- Si
destination
no existe, se creará. -R
significacopy directories recursively
. También puedes usar-r
ya que no distingue entre mayúsculas y minúsculas.- Para copiar todo dentro la carpeta de origen (enlaces simbólicos, archivos ocultos) sin copiar la carpeta de origen misma usa
-a
bandera junto con/.
final en la fuente (según@muni764
's /@Anton Krug
comentario de):
cp -a path_to_source/. path_to_destination/
Usar:
$ cp -R SRCFOLDER DESTFOLDER/