Diferencia entre el perfil Bash y Bashrc
- ¿Qué son los archivos de inicio en Bash?
-
Diferencia entre
~/.bash_profile
y~/.bashrc
en Bash -
Utilice el comando
ls
para ver los archivos de inicio en Bash
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
.