jdPerez Logo Header
3 minutos de lectura | 24/07/2024

Diferencia y usos de los ficheros ZSH en MacOS

¿Qué son los ficheros .ZSH?

Los ficheros .ZSH son los responsables de ayudar a "customizar" nuestra terminal Shell en nuestro MacOS. Estos ficheros siempre irán en nuestra carpeta raíz de usuario (para saber esa ruta podríamos lanzar el comando pwd), siempre será un fichero oculto y en caso de ser editado alguno de los ficheros tendríamos que actualizar la terminal o bien cerrando la sesión o si no lanzando el comando source.

¿Cuántos ficheros disponemos y cuáles son sus usos?

  1. zlogin: Son comandos lanzados al login del sistema, este fichero debería contener comandos que sólo deberán ser ejecutados en el login.
  2. zprofile: Es similar al anterior, con la diferencia de que este se ejecuta antes.
  3. zlogout: Al igual que el zlogin este fichero se ejecutará al hacer logout en el sistema.
  4. zshenv: Este fichero ejecutará comandos de edición de rutas y variables de entorno pero no puede tener comandos que de algún tipo de resultado.
  5. zshrc: Para mí el más "importante", es el lugar donde poder crear alias, funciones o comandos externos que ejecutar.

¿Cuál es el orden de ejecución de los ficheros?

.zshenv -> .zprofile -> .zshrc -> .zlogin -> .zlogout

Usos principales del .zshrc

Este fichero, como hemos comentado antes, se encontrará en nuestra ruta principal como usuarios, si hacemos cd ~ && ls -a, nos iremos a la ruta principal de nuestro usuario y mostraremos los ficheros ocultos. Si este fichero no lo vemos no hay de que preocuparse, es posible que no lo tengamos creado, haremos sencillamente touch .zshrc.

Aquí podríamos crear:

-> Alias: Un shortcut de un comando largo que usemos bastante a menudo. En mi caso por ejemplo tengo un atajo para conectarme a MySQL. Ejemplo: alias mysql-connect='mysql -uroot -p -P3307 -h 127.0.0.1'

-> Functions: Un shortcut de funciones a los cuales le podemos añadir parámetros para facilitar/crear una función dinámica. Ejemplo: function docker-logs() { docker logs --follow $1 }, en este caso es una función que facilita el ver los logs de un ID concreto de un contenedor Docker.