
In Ubuntu, the .bash_profile
file is a shell script that Bash runs whenever you launch a new shell. However, in Ubuntu 14.04 and later versions, you might not find the .bash_profile
file in the home directory by default. So, where is it? Let’s explore this topic in detail.
The .bash_profile
file is not present in Ubuntu by default. Instead, Ubuntu uses a similar file called .profile
. You can check if the .profile
file exists in your home directory by using the ls -a
command in the terminal. If it is not present, you can create it by copying it from the /etc/skel
directory. Alternatively, you can create a symbolic link to the .profile
file with the name .bash_profile
.
Understanding .bash_profile
The .bash_profile
file is a startup script which generally runs once upon the launch of the Terminal. This file is used to set up environmental settings and variables. It is typically located in the user’s home directory. However, in Ubuntu, the .bash_profile
file is not created by default. Instead, Ubuntu uses a similar file called .profile
.
The .profile File in Ubuntu
The .profile
file in Ubuntu serves a similar purpose to the .bash_profile
file. It is a shell script that is run at the start of a new shell and is used to configure the shell environment.
You can check if the .profile
file exists in your home directory by using the ls -a
command in the terminal. This command lists all files in the directory, including hidden files (those starting with a .
).
ls -a
If the .profile
file is present, it will be listed in the output. If it is not present, you can create it by copying it from the /etc/skel
directory.
Creating the .profile File
To create the .profile
file, you can use the cp
command to copy it from the /etc/skel
directory. The cp
command is used for copying files and directories. The /etc/skel
directory contains files and directories that are automatically copied over to a new user’s home directory when such user is created.
Here is the command to copy the .profile
file:
cp /etc/skel/.profile ~/.profile
In this command, cp
is the copy command, /etc/skel/.profile
is the source file, and ~/.profile
is the destination file. The ~
symbol is a shortcut for the current user’s home directory.
Creating a Symlink to .profile
Alternatively, if you prefer to use the .bash_profile
name, you can create a symbolic link (or symlink) to the .profile
file. A symlink is a type of file that points to another file or directory.
Here is the command to create a symlink:
ln -s ~/.profile ~/.bash_profile
In this command, ln -s
is the command to create a symbolic link, ~/.profile
is the source file, and ~/.bash_profile
is the destination file.
By creating a symlink, when you open a new bash shell as a login shell, the .bash_profile
file (which is actually the .profile
file) will be sourced.
Important Note
It’s important to note that the default behavior of Ubuntu’s display manager, gdm3
, is to source the .profile
file when logging in via the GUI. So, if you are using a GUI to log in, it’s recommended to keep the file named .profile
to ensure that the correct variables and settings are loaded.
Conclusion
In summary, while the .bash_profile
file may not be present in Ubuntu 14.04 by default, you can use the .profile
file instead, create it if it doesn’t exist, or create a symlink to it. The default behavior of Ubuntu’s display manager is to source the .profile
file, so it’s important to keep it named as such if you are using a GUI to log in.
For more information on this topic, you can visit Stefaan Lippens’ page.
In Ubuntu, the .bash_profile
file is not created by default. Instead, Ubuntu uses a similar file called .profile
. You can find the .profile
file in your home directory.
To check if the .profile
file exists in your home directory, you can use the ls -a
command in the terminal. This command lists all files in the directory, including hidden files (those starting with a .
). If the .profile
file is present, it will be listed in the output.
If the .profile
file is not present in your home directory, you can create it by copying it from the /etc/skel
directory. Use the cp /etc/skel/.profile ~/.profile
command to create the .profile
file in your home directory.
Yes, you can use the .bash_profile
name instead of .profile
. To do this, you can create a symbolic link (symlink) to the .profile
file using the ln -s ~/.profile ~/.bash_profile
command. This way, when you open a new bash shell as a login shell, the .bash_profile
file (which is actually the .profile
file) will be sourced.
Yes, if you are using a GUI to log in, it is recommended to keep the file named .profile
. The default behavior of Ubuntu’s display manager, gdm3
, is to source the .profile
file when logging in via the GUI. This ensures that the correct variables and settings are loaded.