Aquí está la solución paso a paso:
-
Descargue la aplicación gratuita TextWrangler ( http://www.barebones.com/products/TextWrangler/ )
-
Cree un archivo .profile en su carpeta de inicio si no existe
$ touch ~/.profile
$ open -e ~/.profile
-
Edita el archivo y dale los siguientes alias, junto con cualquier otro que quieras añadir:
alias edit_hosts='sudo open -a /Applications/TextWrangler.app/Contents/MacOS/TextWrangler /etc/hosts'
alias edit_vhosts='sudo open -a /Applications/TextWrangler.app/Contents/MacOS/TextWrangler /etc/apache2/extra/httpd-vhosts.conf'
alias edit_httpd='sudo open -a /Applications/TextWrangler.app/Contents/MacOS/TextWrangler /etc/apache2/httpd.conf'
alias edit_alias='open -a /Applications/TextWrangler.app/Contents/MacOS/TextWrangler ~/.profile'
alias reload_alias='. ~/.profile'
-
Guarde el archivo y ejecútelo:
$ reload_alias
Ahora cuando ejecute edit_hosts o los otros alias de edit_*, la aplicación TextWrangler debería abrir el archivo hosts. Todavía estará bloqueado, pero esta aplicación puede desbloquearlo una vez que empieces a editarlo, te lo pedirá. Ahora tienes un comando de una sola línea para editar los archivos propiedad de root que elijas.
También puedes ponerle un alias sólo a la primera parte de la ruta:
alias edit='sudo open -a /Applications/TextWrangler.app/Contents/MacOS/TextWrangler'
que le permitirá ejecutar comandos como
$ edit /etc/hosts
y seguir consiguiendo los mismos resultados.
Edición: la otra respuesta parece ser una mejor solución ya que no requiere la descarga e instalación de otra aplicación.