Differences between Bash Profile and Bashrc
This article explains the difference between ~./bash_profile
and files in Bash.~/.bashrc
What are startup files in Bash?
Startup files are files that are executed after the shell is started. The startup files depend on the type of shell that is started. The shell can be executed as an interactive shell or a non-interactive shell.
An interactive shell is one that reads commands from user input on a terminal and displays output to the terminal. In contrast, a non-interactive shell is not associated with a terminal, for example to run a script.
An interactive shell can be further divided into two. It can be an interactive login shell or an interactive non-login shell.
A login shell is the first process started after a successful login /bin/login
by reading /etc/passwd
the .login file. A login shell is executed under your user ID. A login shell is executed when you log in using a terminal, switch to another user, or use SSH.
A login shell starts a non-login shell. This can be a shell started as a process that is not logged in, or a shell started from another shell. The process starts a non-login shell using the name of the shell executable file.
Difference between ~/.bash_profile
and
in Bash~/.bashrc
Once the shell is started as an interactive login shell, it ~/.profile
reads commands from , but Bash reads ~/.bash_profile
commands from . Bash can only read ~/.bash_profile
, and if the file does not exist, Bash reads it ~/.profile
.
~/.profile
is more commonly used in Linux distributions than ~/.bash_profile
, because it is read and executed by all shells. , in contrast, ~/.bash_profile
is only read and executed by Bash.
When the shell is started as an interactive non-login shell, it ~/.bashrc
reads and executes commands from file.
~/.bash_profile
and ~/.bashrc
as dot files located in the user's home directory. Files in a user's home directory are used to make configurations that apply only to that specific user.
These configurations usually override the system configuration. ~/.bash_profile
Contains launcher configuration and user-specific environment configuration, while ~/.bashrc
the ./configuration.txt file stores user-specific functions and aliases.
The files located /etc/
in the directory are used for system-wide configuration that applies to all users on the system. These files include /etc/profiles
and /etc/bashrc
.
Use ls
the command to view the startup files in Bash
To view ~/.bash_profile
or ~/profile
and ~/.bashrc
, navigate to your home directory and type the command ls -al
.
-a
The option notify ls
command lists all files, including those starting with a dot. -l
The option notify ls
command lists the files using the long listing format.
The following image shows the ~/.bashrc
and ~/.profile
files.
For reprinting, please send an email to 1244347461@qq.com for approval. After obtaining the author's consent, kindly include the source as a link.
Related Articles
How to decompress x.tar.xz format files under Linux
Publish Date:2025/04/08 Views:186 Category:OPERATING SYSTEM
-
A lot of software found today is in the tar.xz format, which is a lossless data compression file format that uses the LZMA compression algorithm. Like gzip and bzip2, it supports multiple file compression, but the convention is not to compr
Summary of vim common commands
Publish Date:2025/04/08 Views:115 Category:OPERATING SYSTEM
-
In Linux, the best editor should be vim. However, the complex commands behind vim's powerful functions also make us daunted. Of course, these commands do not need to be memorized by rote. As long as you practice using vim more, you can reme
Detailed explanation of command return value $? in Linux
Publish Date:2025/04/08 Views:58 Category:OPERATING SYSTEM
-
? is a special variable. This variable represents the return value of the previous command. That is to say, when we run certain commands, these commands will return a code after running. Generally, if the command is successfully run, the re
Common judgment formulas for Linux script shell
Publish Date:2025/04/08 Views:159 Category:OPERATING SYSTEM
-
In shell script programming, predicates are often used. There are two ways to use predicates, one is to use test, and the other is to use []. Let's take a look at how to use these two methods through two simple examples. Example 1 # test –
Shell script programming practice - specify a directory to delete files
Publish Date:2025/04/08 Views:98 Category:OPERATING SYSTEM
-
Usually, in Linux system we need to frequently delete some temporary files or junk files. If we delete them one by one manually, it will be quite troublesome. I have also been learning shell script programming recently, so I tried to write
Use of Linux command at - set time to execute command only once
Publish Date:2025/04/08 Views:158 Category:OPERATING SYSTEM
-
This article mainly involves a knowledge point, which is the atd service. Similar to this service is the crond service. The functions of these two services can be similar to the two functional functions of javascript. Those who have learned
Use of Linux command crontab - loop execution of set commands
Publish Date:2025/04/08 Views:170 Category:OPERATING SYSTEM
-
Compared with at , which executes a command only once, crontab, which we are going to talk about in this article, executes the set commands in a loop. Similarly, the use of crontab requires the support of the crond service. The service is s
Linux practice - regularly delete files under the directory
Publish Date:2025/04/08 Views:198 Category:OPERATING SYSTEM
-
Since we want to delete the files under the directory regularly, we need to use the Linux crontab command. And the content format of each work routine is also introduced in the format of each crontab work. Similarly, we need to use shell sc
How to use the Linux file remote copy command scp
Publish Date:2025/04/08 Views:151 Category:OPERATING SYSTEM
-
Scp copies files between two hosts over the network, and the data is encrypted during transmission. Its underlying layer uses ssh for data transmission. And it has the same authentication mechanism and the same security level as ssh. When u