mac commands macos command-line command-line-arguments

macos - commands - command line osx



cp--opciĆ³n de los padres en mac (4)

Esto me molestó bastante también. Una solución para esto podría ser usar rsync.

rsync -R test/withintest/go.rb test2

tiene el mismo efecto que cp --parents y OS X viene de serie con rsync.

En Linux, tengo una opción --parents disponible para el comando cp, así que puedo hacer

cp --parents test/withintest/go.rb test2

http://www.gnu.org/software/coreutils/manual/html_node/cp-invocation.html

En Mac, no tengo esta opción disponible. ¿Hay alguna manera de hacer esto en Mac? ¿Por qué esta opción no está disponible?

PD. El propósito de --parents es el siguiente:

''--parents'' Forme el nombre de cada archivo de destino agregando al directorio de destino una barra y el nombre especificado del archivo de origen.

El último argumento dado a cp debe ser el nombre de un directorio existente.

Por ejemplo, el comando:

cp --parents a/b/c existing_dir

copia el archivo a / b / c a dir_existente / a / b / c, creando cualquier directorio intermedio faltante.


No reemplazaría Mac cp con GNU cp. Tampoco lo usaría porque no es multiplataforma. En su lugar, use herramientas multiplataforma, como rsync:

rsync <srcDir/srcFile> <dst>

Resultado: dst / srcDir / srcFile


Puede instalar la versión GNU de cp usando MacPorts .

Después de instalar MacPorts, puede instalar los paquetes de coreutils:

sudo port install coreutils

Luego podrá usar la versión de GNU cp y otros servicios básicos ( ls , date , cat , etc.) prefijando el comando con una g :

gcp --parents test/withintest/go.rb test2

Si desea que estas versiones de GNU se usen de forma predeterminada, puede agregar la actualización de la ruta de GNU bin. Agregue lo siguiente a su ~/.bash_profile :

export PATH="/opt/local/libexec/gnubin:$PATH"


Puede usar el comando ditto en Mac OS X:

La forma basica

ditto <src-path> <dst-path>

hace lo que tu quieras También hay muchas más opciones, echa un vistazo a la página de manual .