¿Cómo replace las utilidades de Mac OS X con las utilidades básicas de GNU?

Descubrí que hay algunas diferencias entre el command de utilidad que utilicé en Mac OSX y Linux. Quiero hacer mi experiencia unida.

¿Cómo podría replace todas mis utilidades de mac con utilidades de GNU?

  • ¿Dónde se almacena el New Oxford American Dictionary?
  • ¿Cómo enviar posts de text con telnet en la Terminal?
  • Bash o sh no pueden ejecutar ningún file binary
  • ¿Lista los processs colgados en la Terminal?
  • byobu utilizando la opción inválida 'readlink -f' en OS X Mountain Lion
  • ¿Puedo encontrar mi Mac todavía persiste después de borrar el disco duro?
  • nohup o process persistente en Mac OS X ssh
  • ¿Alguna forma de escribir el historial de desplazamiento de la Terminal?
  • Dia en macOS Sierra
  • iTerm2 y Terminal muestran el código de serie de mi Mac
  • ¿Instalando fonts desde la terminal en lugar de Font Book?
  • Abra la window "Acerca de esta Mac"
  • 4 Solutions collect form web for “¿Cómo replace las utilidades de Mac OS X con las utilidades básicas de GNU?”

    Esto agrega enlaces simbólicos para las utilidades de GNU con prefijo g a /usr/local/bin/ :

     brew install coreutils findutils gnu-tar gnu-sed gawk gnutls gnu-indent gnu-getopt 

    Ver brew search gnu para otros packages. Si desea usar los commands sin el prefijo ag, instale las fórmulas con --default-names (o --with-default-names si su versión brew es más reciente), o agregue por ejemplo /usr/local/opt/coreutils/libexec/gnubin antes que otros directorys en su PATH .

     $ brew info coreutils coreutils: stable 8.21 http://www.gnu.org/software/coreutils Depends on: xz /usr/local/Cellar/coreutils/8.20 (208 files, 9.4M) /usr/local/Cellar/coreutils/8.21 (210 files, 9.6M) * https://github.com/mxcl/homebrew/commits/master/Library/Formula/coreutils.rb ==> Caveats All commands have been installed with the prefix 'g'. If you really need to use these commands with their normal names, you can add a "gnubin" directory to your PATH from your bashrc like: PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH" Additionally, you can access their man pages with normal names if you add the "gnuman" directory to your MANPATH from your bashrc as well: MANPATH="/usr/local/opt/coreutils/libexec/gnuman:$MANPATH" 

    Puedes instalar GNU grep tocando homebrew / dupes:

     brew tap homebrew/dupes; brew install grep 

    Además de brew install coreutils , es posible que también necesites instalar algunos otros packages, como gnu-sed , grep (algunos de los packages requieren ejecutar primero brew tap homebrew/dupes ):

     brew install findutils --with-default-names brew install gnu-indent --with-default-names brew install gnu-sed --with-default-names brew install gnutls brew install grep --with-default-names brew install gnu-tar --with-default-names brew install gawk 

    La opción --default-names es opcional, enciéndala si realmente necesita usar estos commands GNU como pnetworkingeterminados, o se comstackrán con un prefijo g .

    Referencia: http://www.topbug.net/blog/2013/04/14/install-and-use-gnu-command-line-tools-in-mac-os-x/

    No estoy seguro de que recomendaría replacelos ; sin embargo, puede instalarlos en una ruta diferente y utilizarlos de esa manera. En general, si vienes de Linux y deseas acceder a utilidades nix más "genéricas", y un sistema similar a apt, entonces recomendaría search en Macports: http://www.macports.org

    Permite, por ejemplo, usar el último GCC "genérico", en lugar de / además del GCC incluido de Apple, solo como ejemplo.

    ¡He escrito un guión para hacer exactamente esto! El script se puede ver aquí (o debajo). Sin embargo, no siempre puedo garantizar que esta publicación refleje la última versión del script vinculado anteriormente.

    Al ejecutar el script, se instalará Homebrew (si no es así), todas las utilidades GNU asociadas se instalarán (si no lo han hecho) y la variable PATH generará a partir de las utilidades instaladas.

     #!/bin/bash # Install Homebrew (if not already installed) ruby -e "$(curl -fsSL "\ "https://raw.githubusercontent.com/Homebrew/install/master/install)" # Install requinetworking packages from Homebrew brew tap homebrew/dupes brew install coreutils binutils diffutils ed findutils gawk gnu-indent gnu-sed \ gnu-tar gnu-which gnutls grep gzip screen watch wdiff wget bash gdb gpatch \ m4 make nano file-formula git less openssh python rsync svn unzip vim \ --default-names --with-default-names --with-gettext --override-system-vi \ --override-system-vim --custom-system-icons # Empty the .bash_path file that holds GNU paths > ~/.bash_path # Build PATH variable script in ~/.bash_path for i in /usr/local/Cellar/*/*/bin; do echo 'export PATH="'$i':$PATH"' >> ~/.bash_path done for i in /usr/local/Cellar/*/*/libexec/gnubin; do echo 'export PATH="'$i':$PATH"' >> ~/.bash_path done for i in /usr/local/Cellar/*/*/share/man; do echo 'export MANPATH="'$i':$MANPATH"' >> ~/.bash_path done for i in /usr/local/Cellar/*/*/libexec/gnuman; do echo 'export MANPATH="'$i':$MANPATH"' >> ~/.bash_path done # Check if .bash_path is being called from .bash_profile PATCH=`grep "~/.bash_path" ~/.bash_profile` if [ "$PATCH" == "" ]; then # Add Ubuntu-style PS1 to .bash_profile cat <<EOF > ~/.bash_profile export PS1="\[\033[1;32m\]\u@\h\[\033[0m\]:\[\033[1;34m\]\w\[\033[0m\]# " EOF # Add .bash_path to .bash_profile echo "source ~/.bash_path" >> ~/.bash_profile fi 
    Loving Apple Products like poisoning (iPhone, iPad, iMac, Macbook, iWatch).