¿Dónde se encuentra el archivo .bashrc en Linux?

No encuentro mi .bash_login y .bash_profile

root@linux:~# locate .bash* /etc/bash.bashrc /etc/skel/.bashrc /etc/skel/.bashrc.original /home/noroot/.bashrc /home/noroot/.bashrc.original /root/.bash_history /root/.bashrc /usr/share/base-files/dot.bashrc /usr/share/doc/adduser/examples/adduser.local.conf.examples/bash.bashrc /usr/share/doc/adduser/examples/adduser.local.conf.examples/skel/dot.bashrc /usr/share/kali-defaults/.bashrc root@linux:~# 

¿Siempre hay ¿Solo un archivo .bashrc y .bash_profile para cada usuario?

Y, ¿.bashrc y .bash_profile siempre se encuentran en el directorio / home / «nombre de usuario»?

Respuesta

Los únicos que bash mira por defecto están en el directorio de inicio del usuario, sí. También hay típicamente una fuente única para ellos en Linux – / etc / skel. Sin embargo, el directorio de inicio del usuario no necesita estar debajo de / home.

Veo que ha editado su pregunta para preguntar dónde están sus archivos .bash_login y .bash_profile. en el indicador #, voy a asumir que está ejecutando esto como root. En ese caso, sus archivos son

/root/.bash_history /root/.bashrc 

Vea mi respuesta original anterior con respecto al directorio de inicio de un usuario; no siempre es / home; en este caso, el directorio de inicio de root es /root .

Respuesta

De acuerdo con man bash:

Cuando se invoca bash como un shell de inicio de sesión interactivo, o como un shell no interactivo con la opción –login, primero lee y ejecuta comandos desde el archivo / etc / profile, si ese archivo existe. Después de leer ese archivo, busca ~ / .bash_profile, ~ / .bash_login y ~ / .profile, en ese orden, y lee y ejecuta los comandos del primero que existe y es legible.

~/.bash_profile The personal initialization file, executed for login shells ~/.bashrc The individual per-interactive-shell startup file 

También hay /etc/bashrc ( /etc/bash.bashrc en Linux basado en Debian) que contiene System wide functions and aliases. De forma predeterminada, esto está configurado, incluso para shells que no son interactivos ni de inicio de sesión.

EDIT:

El tilde en las rutas indica el home directory del usuario actualmente conectado. Bash solo puede usar uno de ~/.bash_profile, ~/.bash_login, or ~/.profile (por usuario actualmente conectado), en ese orden, para leer y ejecutar comandos. (Los sistemas operativos basados en Debian normalmente no tienen ~/.bash_profile or ~/.bash_login. Usan el archivo ~/.profile. Este archivo explica que se leerá y usará a menos que ~/.bash_profile or ~/.bash_login se crean.

#~/.profile: executed by the command interpreter for login shells.

#This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login existe.

Comentarios

  • ¿De qué manera responde esto a mi pregunta?
  • @BROY Responde a la pregunta que debería haberte hecho en lugar de la que hiciste.
  • He visto a algunas personas poner un archivo .bash_profile en los directorios del proyecto, ¿realmente bash lo detecta? Se supone que div> debe suceder de forma predeterminada.

Respuesta

Su bashrc la ubicación del archivo depende de la distribución … Aquí hay una lista básica para el sistema bashrc:
/etc/bashrc (Redhat, Fedora, etc.)
/etc/bash.bashrc (Debian, Ubuntu, Linux Mint, Backtrack, Kali, etc.)
/etc/bash.bashrc.local (Suse, OpenSuse, etc.)
Luego está el usuario único privado bashrc, que, en su mayor parte, se almacena en ~/.bashrc básicamente para todas las distribuciones … Si no tienes una de las distribuciones en la lista, o tienes un sistema especial, siempre puedes buscar bashrc ubicación en Google para esa distribución o sistema …
Saludos,
Interesante …

Respuesta

Como la gente ya ha dicho, puede encontrar un esqueleto de bashrc en /etc/skel/.bashrc. Si diferentes usuarios desean diferentes configuraciones de bash, entonces debe colocar un archivo .bashrc en la carpeta de inicio de ese usuario.

Cuando se trata de .bash_profile y .bash_login, el usuario debe crearlos manualmente y vincularlos a través de bashrc . bash_profile y bash_login existen para crear una sensación más organizada para las diferentes configuraciones que carga. Personalmente, mantengo todos mis alias en bash_profile para no tener que ordenar un desorden en bashrc para hacer una edición rápida.

Aquí hay un ejemplo de lo que tendría en su archivo .bashrc:

if [ -f ~/.bash_profile ]; then . ~/.bash_profile fi 

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *