Sigo la información sobre herramientas de Unix en Twitter y es interesante que muchos de los consejos publicados no estén disponibles en OS X.
Por ejemplo:
cp - u solo copiará archivos que no existen, o son más nuevos que sus equivalentes existentes, en el directorio de destino.
Probar esto en mi máquina da como resultado:
cp: illegal option -- u
usage: cp [-R [-H | -L | -P]] [-fi | -n] [-apvX] source_file target_file
cp [-R [-H | -L | -P]] [-fi | -n] [-apvX] source_file ... target_directory
¿Por qué estas opciones no están disponibles y es posible acceder a ellas en OS X?
macos
terminal
command-line
DQdlM
fuente
fuente
brew install coreutils findutils gnu-sed gawk
. Ver apple.stackexchange.com/questions/69223/… .gcp
para evitar confusiones) no sabe cómo copiar los metadatos complejos que pueden tener los archivos OS X (atributos extendidos, etc.); así que si lo usagcp
en un archivo de alias, a la copia le faltará información crítica y no funcionará.gcp -R
lo copiará junto con todo lo demás). Si quiere decir._somefilename
, ese es un archivo AppleDouble utilizado para almacenar metadatos (la información de la que estoy hablando) en algunos tipos de volúmenes extranjeros, lo cual es ... complicado ...Respuestas:
Obtenga homebrew y haga que instale las utilidades principales. Luego puede ver si la versión GNU de cp admite los indicadores que desea. Aquí hay una buena respuesta en un sitio asociado y extraeré los pasos exactos que necesitará para que cp sea reemplazado por la versión GNU si lo desea:
Aquí está homebrew: http://mxcl.github.com/homebrew/
Aquí está la larga historia: /superuser/476575/replace-os-xs-shell-commands-with-the-linux-versions/ 476594 # 476594
Un ejemplo de dicho entorno es [Homebrew] ( http://mxcl.github.com/homebrew/ ) que, por ejemplo, tiene GNU,
sed
entre otras cosas. Una vez que haya instalado Homebrew, puede escribire instale los GNU Coreutils . Estos le proporcionará
sed
,date
,printf
,wc
y muchas otras herramientas que se incluyen con GNU / Linux, pero no OS X. Sin embargo, a fin de no "override" binarios OS X por defecto, van a tener el prefijog
por defecto. Entonces, después de instalar Coreutils, si desea usar GNU sed, escribaSi esto es demasiado complicado de escribir cada vez, puede agregar un directorio "gnubin" a su RUTA y simplemente llamar a GNU sed con
sed
. Deberá agregar lo siguiente a su~/.bash_profile
:fuente
port
?La razón es que OSX usa herramientas de línea de comando BSD y los usuarios de información sobre herramientas de Unix probablemente estén usando Linux que usa herramientas de línea de comando GNU.
Puede instalar herramientas GNU en OSX (y BSD en Linux).
La forma más fácil es usar un administrador de paquetes como Macports, Homebrew o Fink
fuente