Quiero cp aaa/deep/sea/blob.psdabbb/deep/sea/blob.psd
¿Cómo hago la copia si los directorios deepy seano existen bbbpara que la copia cree los directorios necesarios y copie el archivo?
Ahora mismo me pongo
No such file or directorytan profundo y el mar no existe.
Miré a través de las páginas de ayuda del hombre y otras preguntas, pero nada salta a la vista.
Lo más cercano que tengo es usar rcppara el directorio:
rcp -r aaa/deep/sea/ bbb/deep/sea/
aunque esto copia todo el directorio y el contenido y solo quiero un archivo. Intentar hacer eso sin embargo diocp: cannot create regular file bbb/deep/sea/blob.psd' such file or directory

rsyncrespuesta solo creará 1 directorio, ypaxno parece ser común.-dlugar de-Den una Mac.755(rwxr-xr-x), lo que probablemente no se desea. puede especificar algo más con el-minterruptor, pero no pude encontrar una manera de mantener los permisos del archivo :(Con los comandos estándar (POSIX / Unix), tienes:
fuente
info tar- en algún lugar de la sección de preocupaciones de portabilidad - creo que encontrarás que GNUtarafirma ser totalmentepaxcompatible. Lo hice de todos modos, aunque todavía no he podido poner a prueba esas afirmaciones.No conozco una forma de hacerlo usando
cp, pero ciertamente es posible usandorsync:donde
dires un directorio que no tiene que existir. Hay muchas otras formas de lograr lo mismo con otros comandos.fuente
rsync -Rpara preservar la jerarquía de directoriosrsyncnecesidades necesita más opciones, pero la pregunta era simplemente sobre la creación de un directorio de destino inexistente, de ahí mi breve respuesta :)cptiene la--parentsopción.Si no tiene
pax(es obligatorio por POSIX, como un reemplazo estándar de cpio y tar que tenía demasiadas incompatibilidades para estandarizar), usecpio -po en sutar -cf - … | tar -xf -lugar.fuente