The uses and differences of three types of important Linux files
In Linux systems, there are three file types that appear very frequently, namely profile, bash_profile, and bashrc files. Because of the names, many people confuse the functions of these three types of files, so today we will take a detailed inventory of the functions and differences of these three types of files.
1. profile file
1.1 The role of profile file
profile(/etc/profile) is used to set system-level environment variables and startup programs. Configurations in this file will take effect for all users.
When the user logs in, the file will be executed and the shell settings will be found from the configuration file in the /etc/profile.d directory.
1.2 Add environment variables in profile
It is generally not recommended to add environment variables to the /etc/profile file because the settings added in this file will affect all users.
When it must be added, we can add it as follows:
For example, add an environment variable with a HOST value of magedu.com:
export HOST=magedu.com
When adding, you can use the ; sign at the end of the line or not.
A variable name can correspond to multiple variable values. Multiple variable values need to be separated by:.
After adding the environment variable, you need to log in again to take effect. You can also use the source command to force it to take effect immediately:
source /etc/profile
To check whether it takes effect, you can use the echo command:
HOST
magedu.com
2. bashrc file
The bashrc file is used to configure functions or aliases. There are two levels of bashrc files:
The system-level one is located in /etc/bashrc, and the user-level one is located in ~/.bashrc. Both will take effect on all users and the current user respectively.
The bashrc file will only work on the specified shell type, and bashrc will only be called by the bash shell.
3. bash_profile file
bash_profile is only valid for a single user. The file is stored in ~/.bash_profile. This file is a user-level setting and can be understood as the profile directory of a certain user.
This file can also be used to configure environment variables and start programs, but it is only valid for a single user.
Similar to the profile file, bash_profile will also take effect when the user logs in and can also be used to set environment changes.
But unlike profile, bash_profile will only take effect for the current user.
4. Summary of differences
The difference between these three file types can be expressed in one sentence:
/etc/profile, /etc/bashrc are the system global environment variable settings; ~/.profile, ~/.bashrc are the private environment variable settings in the user's home directory.
When a shell process is obtained when logging into the system, the environment configuration file is read as follows:

4.1 First read the global environment variable configuration file /etc/profile, and then read additional setting documents based on its content, such as /etc/profile.d and /etc/inputrc;
4.2 According to different user accounts, read ~/.bash_profile in their home directory;
If the reading fails, ~/.bash_login will be read;
If it fails again, read ~/.profile (these three document settings are basically the same, only the reading has priority);
4.3 Finally, read ~/.bashrc according to the user account.
As for ~/.profile and ~/.bashrc, both have personalized customization functions, but ~/.profile can set paths, environment variables, etc. unique to this user. It can only be executed once when logging in.
~/.bashrc is also a user-specific setting document. You can set the path and command alias. It will be used every time the shell script is executed.
The above is the detailed content of The uses and differences of three types of important Linux files. For more information, please follow other related articles on the PHP Chinese website!

The core of the Linux operating system is its command line interface, which can perform various operations through the command line. 1. File and directory operations use ls, cd, mkdir, rm and other commands to manage files and directories. 2. User and permission management ensures system security and resource allocation through useradd, passwd, chmod and other commands. 3. Process management uses ps, kill and other commands to monitor and control system processes. 4. Network operations include ping, ifconfig, ssh and other commands to configure and manage network connections. 5. System monitoring and maintenance use commands such as top, df, du to understand the system's operating status and resource usage.

Introduction Linux is a powerful operating system favored by developers, system administrators, and power users due to its flexibility and efficiency. However, frequently using long and complex commands can be tedious and er

Linux is suitable for servers, development environments, and embedded systems. 1. As a server operating system, Linux is stable and efficient, and is often used to deploy high-concurrency applications. 2. As a development environment, Linux provides efficient command line tools and package management systems to improve development efficiency. 3. In embedded systems, Linux is lightweight and customizable, suitable for environments with limited resources.

Introduction: Securing the Digital Frontier with Linux-Based Ethical Hacking In our increasingly interconnected world, cybersecurity is paramount. Ethical hacking and penetration testing are vital for proactively identifying and mitigating vulnerabi

The methods for basic Linux learning from scratch include: 1. Understand the file system and command line interface, 2. Master basic commands such as ls, cd, mkdir, 3. Learn file operations, such as creating and editing files, 4. Explore advanced usage such as pipelines and grep commands, 5. Master debugging skills and performance optimization, 6. Continuously improve skills through practice and exploration.

Linux is widely used in servers, embedded systems and desktop environments. 1) In the server field, Linux has become an ideal choice for hosting websites, databases and applications due to its stability and security. 2) In embedded systems, Linux is popular for its high customization and efficiency. 3) In the desktop environment, Linux provides a variety of desktop environments to meet the needs of different users.

The disadvantages of Linux include user experience, software compatibility, hardware support, and learning curve. 1. The user experience is not as friendly as Windows or macOS, and it relies on the command line interface. 2. The software compatibility is not as good as other systems and lacks native versions of many commercial software. 3. Hardware support is not as comprehensive as Windows, and drivers may be compiled manually. 4. The learning curve is steep, and mastering command line operations requires time and patience.

Linuxisnothardtolearn,butthedifficultydependsonyourbackgroundandgoals.ForthosewithOSexperience,especiallycommand-linefamiliarity,Linuxisaneasytransition.Beginnersmayfaceasteeperlearningcurvebutcanmanagewithproperresources.Linux'sopen-sourcenature,bas


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

MinGW - Minimalist GNU for Windows
This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

DVWA
Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

EditPlus Chinese cracked version
Small size, syntax highlighting, does not support code prompt function

SublimeText3 Linux new version
SublimeText3 Linux latest version

SublimeText3 Chinese version
Chinese version, very easy to use