¿Cómo copiar directorios en OS X 10.7.3?

109

Hola, estoy tratando de copiar mi directorio rails_projects de haseebjaved / Desktop / rails_projects a mi directorio de inicio, que es haseebjaved.

¿Cómo puedo hacer esto a través de la línea de comandos?

Además, ¿puedo ver mi directorio de inicio en la interfaz de usuario o solo a través de la línea de comandos en Mac OS X?

¿Es posible copiar directorios hacia y desde mi directorio personal a través de la interfaz de usuario? ¿O solo a través de la línea de comandos?

Gracias

hjaved
fuente

Respuestas:

251

¿Hay algo especial con ese directorio o realmente solo pregunta cómo copiar directorios?

Copie de forma recursiva a través de CLI:

cp -R <sourcedir> <destdir>

Si solo está viendo los archivos que se sourcedirestán copiando (en lugar de sourcedirtambién), eso está sucediendo porque mantuvo la barra al final para sourcedir:

cp -R <sourcedir>/ <destdir>

Lo anterior solo copia los archivos y sus directorios dentro de sourcedir. Por lo general, desea incluir el directorio que está copiando, así que suelte la barra diagonal:

cp -R <sourcedir> <destdir>
Andy Friese
fuente
Gracias Peter. Estoy tratando de copiar tres subdirectorios dentro de rails_projects a mi directorio de inicio haseebjaved. Cuando emito el siguiente comando: cp -r ~ / Desktop / rails_projects haseebjaved, el comando copia efectivamente los tres subdirectorios de rails_projects a haseebjaved y crea una nueva carpeta llamada haseebjaved en mi directorio de inicio haseebjaved. Lo que quiero es que el directorio rails_projects se muestre en mi directorio de inicio haseebjaved al igual que otras carpetas como Descargas, Escritorio, etc.
hjaved
Ahora estoy usando la función de búsqueda con Finder y es mucho mejor, pero no veo mi directorio de inicio en Favoritos ni en ningún otro lugar. Muy nuevo en Mac OS X y Rails.
Salió el
cp -r ~/Desktop/rails_projects ~es lo que quieres
Andy Friese
5
Aquí está el manual de cp:-R If source_file designates a directory, cp copies the directory and the entire subtree connected at that point. **If the source_file ends in a /, the contents of the directory are copied rather than the directory itself.** This option also causes symbolic links to be copied, rather than indirected through, and for cp to create special files rather than copying them as normal files. Created directories have the same mode as the corresponding source directory, unmodified by the process' umask.
Xiao
2
Solo dos centavos sobre copiar carpetas desde la línea de comandos: comando ditto ss64.com/osx/ditto.html PS. A diferencia de cp -R, si la carpeta de destino ya existe, el contenido existente se fusionará con el contenido de la carpeta que se está copiando.
Alexander Hramov
2

tl; dr

cp -R "/src/project 1/App" "/src/project 2"

Explicación:

El uso de comillas se adaptará a los espacios en los nombres de directorio

cp -R "/src/project 1/App" "/src/project 2"

Si el directorio de la aplicación se especifica en el directorio de destino:

cp -R "/src/project 1/App" "/src/project 2/App"

y "/ src / project 2 / App" ya existe, el resultado será "/ src / project 2 / App / App"

Es mejor no especificar el directorio copiado en el destino para que el comando pueda repetirse una y otra vez con el resultado esperado.

Dentro de un script de bash:

cp -R "${1}/App" "${2}"
Gary Davies
fuente