Diferencia entre el perfil Bash y Bashrc

Fumbani Banda 30 enero 2023
  1. ¿Qué son los archivos de inicio en Bash?
  2. Diferencia entre ~/.bash_profile y ~/.bashrc en Bash
  3. Utilice el comando ls para ver los archivos de inicio en Bash
Diferencia entre el perfil Bash y Bashrc

Este tutorial explica la diferencia entre el archivo ~./bash_profile y ~/.bashrc en Bash.

¿Qué son los archivos de inicio en Bash?

Los archivos de inicio son archivos que se ejecutan una vez que se inicia el shell. Los archivos de inicio dependen del tipo de shell que se inicia. Un shell se puede ejecutar como un shell interactivo o como un shell no interactivo.

Un shell interactivo es un shell que lee los comandos de la entrada del usuario en el terminal y muestra la salida en el terminal. Por el contrario, un shell no interactivo no está asociado con el terminal, como ejecutar un script.

Un caparazón interactivo se puede dividir en dos. Puede ser un shell de inicio de sesión interactivo o un shell de no inicio de sesión interactivo.

Un shell de inicio de sesión es el primer proceso que se inicia después de iniciar sesión con éxito usando /bin/login leyendo el archivo /etc/passwd. El shell de inicio de sesión se ejecuta bajo su ID de usuario. Se ejecuta un shell de inicio de sesión cuando inicia sesión con el terminal, cambia a otro usuario o usa SSH.

El shell de inicio de sesión inicia un shell que no es de inicio de sesión. Puede ser un shell que comience con un proceso sin inicio de sesión o que comience desde otro shell. Un proceso usa el nombre del ejecutable de shell para iniciar un shell sin inicio de sesión.

Diferencia entre ~/.bash_profile y ~/.bashrc en Bash

Una vez que un shell comienza como un shell de inicio de sesión interactivo, lee los comandos de ~/.profile, pero Bash los lee desde ~/.bash_profile en su lugar. Bash solo puede leer el ~/.bash_profile, y si el archivo no existe, Bash lee el ~/.profile en su lugar.

El ~/.profile se usa más comúnmente en las distribuciones de Linux que ~/.bash_profile porque es leído y ejecutado por todos los shells. Por el contrario, el ~/.bash_profile solo lo lee y ejecuta Bash.

Cuando el shell se inicia como un shell interactivo sin inicio de sesión, lee y ejecuta los comandos del archivo ~/.bashrc.

El ~/.bash_profile y ~/.bashrc se encuentran en el directorio de inicio del usuario como dotfiles. Los archivos en el directorio de inicio del usuario se utilizan para realizar configuraciones que solo se aplican a ese usuario en particular.

Estas configuraciones generalmente anulan las configuraciones del sistema. El ~/.bash_profile contiene configuraciones de programa de inicio y configuraciones de entorno específicas del usuario, mientras que el archivo ~/.bashrc almacena funciones y alias para un usuario específico.

Los archivos ubicados en el directorio /etc/ se utilizan para realizar configuraciones en todo el sistema que se aplican a todos los usuarios del sistema. Estos archivos incluyen /etc/profiles y /etc/bashrc.

Utilice el comando ls para ver los archivos de inicio en Bash

Para ver el ~/.bash_profile o ~/profile y ~/.bashrc, navegue por su directorio de inicio y escriba el comando ls -al.

La opción -a informa al comando ls para enumerar todos los archivos, incluidos los que comienzan con un punto. La opción -l informa al comando ls para listar los archivos usando un formato de lista larga.

La siguiente imagen muestra los archivos ~/.bashrc y ~/.profile.

archivos de inicio

Fumbani Banda avatar Fumbani Banda avatar

Fumbani is a tech enthusiast. He enjoys writing on Linux and Python as well as contributing to open-source projects.

LinkedIn GitHub

Artículo relacionado - Linux Bash