Acelere el flujo de trabajo de su terminal con alias de comando y .profile

¿Cuáles son esos misteriosos archivos ".profile" y ".bash_profile" que has escuchado? ¿Cómo puede agregar algo a PATH, que muchas aplicaciones le piden que haga (pero ninguna explica cómo)? ¿Qué son los alias y cómo pueden ayudar a su flujo de trabajo? Aprende todo esto y mucho más en este artículo sobre cómo profundizar en el control de OS X.


Aprendiendo a usar .profile para configurar alias

Si has hecho algo más que navegar en las redes sociales y ver películas en tu Mac, sabes que hay algunas cosas misteriosas que suceden bajo el capó. Tal vez haya instalado una aplicación como el administrador de paquetes de Homebrew que le pidió que hiciera algo oscuro como "Agregar / usr / local / sbin a su ruta", o tal vez haya escuchado la palabra "comando alias" mencionada o incluso haya tenido una La aplicación te dice que "agregues X a tu perfil".

Los alias presentados en este artículo acelerarán su flujo de trabajo.

A través de este artículo, tengo la intención de cubrir los conceptos básicos de estas acciones de magia aparentemente negra y de introducirte en el maravilloso mundo de los alias. Si bien la configuración de los alias de la manera descrita en este artículo será invaluable para los desarrolladores de software, los usuarios ocasionales también encontrarán un uso para ellos fácilmente.

Que son los alias?

Los alias son atajos a comandos. Por ejemplo (y uno simple en eso), si usa Terminal para hacer algo, como entrar en su / Usuarios / [nombre de usuario] / Sitios / carpeta, probablemente use

$ cd / Usuarios / [nombre de usuario] / Sitios

o

$ cd ~ / Sitios

Una vez allí, es probable que deba ingresar un proyecto específico (por ejemplo, "myProject") y lo hace escribiendo

$ cd myProject

Mientras lo escribes todo en un comando, así:

$ cd ~ / Sites / myProject

no consume mucho tiempo, puede ser tedioso, especialmente en carpetas profundamente anidadas o si necesita cambiar las carpetas con frecuencia.

Con alias, puedes hacerlo más rápido..

Los alias te ayudan a acortar comandos largos o cadenas de comandos.

Intente abrir Terminal (yendo a Aplicaciones -> Utilidades -> Terminal) y escribiendo

$ alias goto_web = "cd ~ / Sites"

Asegúrese de que exista una carpeta llamada Sitios en su carpeta de inicio y cree una carpeta myProject dentro de ella. Luego, ejecute el siguiente comando en la terminal:

$ alias goto_myP = "goto_web; cd myProject"

Ahora escribe "goto_myP" y observa cómo sucede la magia cuando presionas Enter. Entró automáticamente en ~ / Sites / myProject, independientemente de dónde se encontraba cuando lo escribió. Las ventajas son dobles:

  1. Puede escribir goto_ y presionar la tecla TAB para obtener una lista de posibles alias goto que haya definido hasta ahora.
  2. Si la carpeta raíz de sus proyectos web alguna vez cambia (por ejemplo, Sitios a MySites), todo lo que necesita hacer es cambiar el alias principal de goto_web y los cambios en cascada a todos los demás que lo utilizan.

Configurando alias manualmente

Problemas en el paraiso

Sin embargo, hay un problema. Tan pronto como salgamos, los alias que definimos de esta manera desaparecen. No se guardan en ninguna parte, y no se les pidió al sistema operativo que los configurara nuevamente una vez que iniciamos sesión nuevamente. Entonces, ¿cómo manejamos este problema? El archivo .profile.

Tan pronto como el usuario cierra la sesión, los alias definidos por el terminal desaparecen.

Empecemos con lo básico.

¿Qué es .profile?

Si el nombre de un archivo comienza con el "." Carácter (punto), ese archivo está oculto.

Los "." (punto) delante de ciertos nombres de archivos significa que el archivo está "oculto". Esta notación suele estar ahí para los archivos del sistema que no deberían ser visibles de forma predeterminada y se interpondrían por molestos o por ser volátiles, ya que su cambio podría afectar al sistema de manera indeseable..

Los archivos .DS_Store, por ejemplo, pertenecen a la categoría "molesto" y son creados por la aplicación "Finder" en cada carpeta que abres con él. Si recorre las carpetas a través del terminal usando "cd folderName", no se crearán los archivos .DS_Store. Sin embargo, Finder almacena cierta información en ellos que le permite realizar un seguimiento de su sistema de archivos y mejorar la navegación y la capacidad de búsqueda..

En una nota relacionada, el archivo .profile mencionado anteriormente es un archivo oculto. Es un archivo opcional que le dice al sistema qué comandos ejecutar cuando el usuario cuyo archivo de perfil está conectado. Por ejemplo, si mi nombre de usuario es bruno y hay un archivo .profile en / Users / bruno /, todo su contenido Se ejecutará durante el procedimiento de inicio de sesión..

Puedes ver a dónde vamos con esto, ¿verdad? Usaremos el archivo .profile para guardar nuestros comandos de alias desde arriba, a fin de ejecutarlos en cada inicio de sesión para que estos alias se vuelvan persistentes..

El contenido de un archivo .profile se ejecuta en cada inicio de sesión del propietario del archivo

¿Cuál es el .bash_profile entonces? Es exactamente lo mismo, pero con un nombre diferente. El shell de Unix en el que está iniciando sesión, en este caso OS X, busca etc / profile y lo carga si existe. Luego busca ~ / .bash_profile, ~ / .bash_login y finalmente ~ / .profile, y carga el primero de estos que encuentra.

Utilizo .profile pero si prefieres o tienes alguno de los otros, siéntete libre de renombrarlos / fusionarlos en uno, haz lo que quieras con ellos. Su sintaxis es idéntica: solo tenga en cuenta que solo se carga una, y el sistema operativo las busca en el orden mencionado anteriormente. Más información sobre estos archivos se puede encontrar aquí..

Buscando .profile

Pero si está oculto, ¿cómo lo vemos? ¿Cómo podemos editar un archivo que no se supone que veamos? Como diría el gran comandante Aníbal, "encontraremos un [archivo de perfil] o crearemos uno". Ok, él dijo "camino", pero la esencia es la misma. Estas son las dos formas más comunes de mostrar archivos ocultos:

Lo primero es hacerlos visibles para ti, pero aún ocultos. De esta manera no es recomendable para usuarios ocasionales. Ingrese el siguiente comando en la Terminal:

los valores predeterminados escriben com.apple.finder AppleShowAllFiles TRUE

Siga esto con un reinicio del Finder:

$ killall Finder

Esto le dijo al Finder que dejara de ignorar los archivos ocultos en las carpetas que abre, y luego lo forzó a reiniciar y a reconocer la nueva configuración. Si abres cualquier carpeta en el Finder ahora, deberías ver un archivo .DS_Store dentro de ella, y tal vez incluso otras carpetas y archivos ocultos como en mi propia carpeta de inicio a continuación..


Después de hacer el método uno, podrás ver los archivos y carpetas ocultos en el Finder

El segundo método es buscar solo los archivos que necesita, a través de la Terminal. Inicie el terminal y vaya a su carpeta de inicio escribiendo lo siguiente:

$ cd ~ /

Propina: También puede ir a su carpeta de inicio simplemente escribiendo cd y siguiéndolo con un carácter de espacio.

Una vez allí, escriba esto:

$ ls -a

Esto enumera (ls) el contenido de la carpeta en la que se encuentra, y el -una el parámetro que agregamos le indica que muestre "todos" los archivos, incluidos los ocultos.


Al usar el método dos, los archivos y carpetas ocultos se revelarán en Terminal

Use cualquiera de los dos métodos anteriores para averiguar qué archivos ocultos contiene su carpeta de inicio y asegúrese de que haya un archivo .profile o .bash_profile. Si alguno de ellos existe, genial. Si no están presentes, cree el archivo .profile utilizando el Terminal, de esta manera:

$ touch ~ / .profile

De una forma u otra, ahora estamos seguros de que el archivo .profile existe. Ahora vamos a añadirle algunos comandos.!

Rellenando el archivo .profile

Primero necesitamos abrir el archivo para editarlo. Ya que es más fácil editar un archivo en una aplicación de edición de texto con una GUI real, no editaremos a través de terminal, sino a través de TextEdit. Escriba lo siguiente:

$ open -e ~ / .profile

O simplemente haga doble clic en el archivo si utilizó el método uno para mostrar los archivos ocultos y elija TextEdit en la ventana Selección de la aplicación. El comando "abrir" abre cualquier archivo usando la aplicación predeterminada si puede averiguar qué es eso, -mi le dice que use el editor de texto predeterminado para el sistema operativo actual, y la parte final es el archivo que queremos abrir.

Una vez que el archivo está abierto, podemos agregar las siguientes líneas:

 alias goto_web = "cd ~ / Sites" alias goto_myP = "goto_web; cd myProject" alias reload_profile = ". ~ / .profile"

Ahora guarda y abandona. Los dos primeros alias ya han sido explicados anteriormente. En cuanto a la tercera, si alguna vez cambia el archivo .profile a mitad de sesión como lo hicimos, debe volver a cargarse para que tenga efecto..

Normalmente harías esto manualmente escribiendo

$ source ~ / .profile

o solo

PS ~ / .profile

Pero también podríamos hacer nuestras vidas más fáciles inmediatamente y definir un alias para eso también. Sin embargo, todavía no podemos usarlo porque el .profile realmente no se ha cargado, así que para evitar que este retén 22 derrita nuestros cerebros, ejecute uno de los comandos anteriores (recarga manual).

Si alguna vez cambia el archivo .profile a mitad de sesión, debe volver a cargarse para que tenga efecto.

Una vez hecho esto, dale una oportunidad. Escribe "goto_web" y ve si funciona. Una vez que reinicie o cierre la sesión y vuelva a iniciarla, el alias debería estar vivo y debería seguir funcionando. El alias "reload_profile" ahora también funcionará.

¡Eso es todo al respecto! Ahora puedes agregar tus propios alias. Tampoco te sientas limitado a solo ir a los alias (nota: en realidad no es necesario que se les llame goto_ *, simplemente los llamo así para agrupar), juega y experimenta con tus comandos favoritos de Terminal. Aquí hay una parte de mi propio archivo con comentarios en línea para su conveniencia:


 # Ver http://www.shellperson.net/using-sudo-with-an-alias/ alias sudo = "sudo" # Esto me ayuda a editar los archivos que mi usuario no es el propietario de alias edit = "SUDO_EDITOR =" open -FWne "sudo -e" # El alias que me lleva aquí - para editar estos alias alias edit_profile = "open -e ~ / .profile" # Hago muchos desarrollos web, por lo que necesito editar estos no. alias edit_hosts = "editar / etc / hosts" alias edit_httpd = "editar /etc/apache2/httpd.conf" alias edit_php = "editar /etc/php.ini" alias edit_vhosts = "editar / etc / apache2 / extra / httpd-vhosts.conf "# Algunos de mis comandos goto, incluido uno para abrir la carpeta de extensión php para cuando necesito instalar alias de extensiones personalizadas goto_mw =" goto_web; cd mindworks "alias goto_web =" cd ~ / Sites "alias goto_phpext = sudo open / usr / lib / php / extensions / no-debug-non-zts-20100525 "# Este alias destruye recursivamente todos los archivos .DS_Store en la carpeta en la que estoy actualmente en el alias killDS =" find. -name *. DS_Store -type f -delete "# Un alias para iniciar mi instalación personalizada de MySQL llation en lugar del alias por defecto mysql = "/ usr / local / mysql-5.5.25-osx10.6-x86_64 / bin / mysql -u root" # Este alias vuelve a cargar este alias de archivo reload_profile = ". ~ / .profile "# Los Mac se atascan muy a menudo y son extremadamente lentos e inestables en los apagados. Esto obliga a un apagado. alias poweroff =" sudo / sbin / shutdown -h now "# Configuración para el nuevo soporte de terminal UTF-8 en Lion / Mountain Lion export LC_CTYPE = en_US.UTF-8 export LC_ALL = en_US.UTF-8 # Agrega todas estas rutas a la variable PATH. Los dos puntos (:) son el separador de ruta. # Cuando necesita "agregar algo a la ruta" se supone que debe agregar la ruta a su archivo ejecutable a esta lista de rutas, separadas por dos puntos. export pATH = "/ usr / local / bin: / usr / local / sbin: / usr / bin: / bin: / usr / sbin: / sbin: / usr / X11 / bin "

Conclusión

Ya sea que el uso de la Terminal sea casual o pesado, el archivo .profile puede hacer su vida infinitamente más fácil. Tener sus comandos más utilizados en un solo lugar donde no solo puede verlos cada vez que olvida algunos de ellos, sino que también puede cargarlos automáticamente en cada inicio de sesión, lo que le permite ahorrar horas de una semana laboral..

Lo mejor es que la mayoría de los comandos son compatibles con * nix, por lo que no solo puede llevar el archivo a otra máquina OS X, sino que también puede incluirlo en sus máquinas Linux si usa alguna. Con el archivo .profile, la actualización rápida de su flujo de trabajo está contenida en un solo archivo que puede llevar fácilmente con usted.

Juegue un poco con él, invente algunos alias más que puedan ser útiles (como mostrar / ocultar archivos ocultos con un solo comando; le permitiré descubrirlo por su cuenta) y le daré un mejor nivel a su flujo de trabajo..