What is linux etc profile

藏色散人
Release: 2023-04-11 11:00:57
Original
1809 people have browsed it

linux etc profile is a file related to Linux environment variables. The content modified in this file is effective for all users; Linux users can customize their own operating environment by modifying the corresponding system. environment variables.

What is linux etc profile

#The operating environment of this tutorial: linux5.9.8 system, Dell G3 computer.

Linux /etc/profile file detailed explanation

linux /etc/profile file changes will involve the system environment, and also It’s about Linux environment variables. To learn Linux, you need to understand the relevant principles of Linux profile files. Here, we will use files for detailed analysis. This change will affect all users.

 1. Linux is a multi-user operating system. After each user logs into the system, he will have a dedicated operating environment. Usually the default environment for each user is the same. This default environment is actually the definition of a set of environment variables. Users can customize their own running environment by modifying the corresponding system environment variables.

 2. Often modify environment variables in the /etc/profile file. The modified content here will affect all users. The following main operations will be performed in this file.

 3. How to add environment variables.

For example, add "NAME=liheng". Add the following content at the end of the profile file: export NAME=liheng

The variable value liheng can be quoted or not, and the effect is the same.

 4. Content added or modified in the profile file needs to be logged out of the system to take effect.

 5. How to understand the repeated definition of variables.

What often appears is the definition of the PATH variable.

For example: PATH variable is set by default in the peofile file PATH=¥¥¥¥¥¥¥ (can’t remember). In the future, PATH may be set, which is usually added at the end of the profile file. PATH=······(for example). The PATH recognized in the system is ········¥¥¥¥¥¥¥¥¥, which means that for environment variables with the same name, the one written later will take effect first (in layman's terms). Everyone must pay attention.

 6. Introduction to special characters.

For example, there is the following content in the profile. The following content explains the usage of special symbols.

export A=/q/jing:aaa/cc/ld

export B=.:/liheng/wang export A=/cd/cdr:$A

Everyone Pay attention to the red symbols:

 : indicates parallel meaning. For example, if there are multiple values ​​of variable A, use the : symbol to separate them.

 . Indicates the current directory you are operating in. For example, the pap command will look for the B environment variable.

Type the pap command in /home. The system first searches for the content about B in the /home directory (i.e. the current path), linuxidc. com">www.linuxidc.com If there is no content about B in the /liheng/wang directory. $ represents the value of the variable before this definition, for example, $A represents /q/jing:aaa/cc/ld. In other words, A=/cd/cdr:/q/jing:aaa/cc/ld

 7. Use the env command to display all environment variables. Just type env at the command prompt.

The set command displays all locally defined Shell variables.

8. Common environment variables

PATH: Determines which directories the shell will search for commands or programs

HOME: The current user’s home directory

MAIL: refers to the current user's mail storage directory.

SHELL: refers to what kind of Shell the current user is using.

HISTSIZE: refers to the number of historical command records saved.

LOGNAME: refers to the login name of the current user.

HOSTNAME: refers to the name of the host. If many applications want to use the host name, it is usually obtained from this environment variable.

LANG/LANGUGE: It is an environment variable related to language. Users who use multiple languages ​​​​can modify this environment variable.

PS1: It is the basic prompt, which is # for root users and $ for ordinary users.

PS2: It is a subsidiary prompt, the default is ">". You can modify the current command prompt by modifying this environment variable. For example, the following command will modify the prompt into the string "Hello, My NewPrompt :)".

 # PS1="Hello,My NewPrompt:) "

 9. Use the modified .bashrc file (in the user's home directory) to edit environment variables, which is only useful to the current user. Editing environment variables by modifying the /etc/profile file is useful for all users. Everyone must pay attention to the difference.

 10. The Linux profile file will be run when the system starts. You can add other commands in it, but they must be added correctly, otherwise the system will not start.

Continued

  • /etc/profile, /etc/profile.d, ~/.bashrc, ~/.bash_file, what are the differences between these files? Many newcomers may be confused. Even many people who configure some software environment variables are very confused.

~/.bashrc and ~/.bash_file are consistent. You should understand that this is the host directory. , that is, the environment variables inside are also called shell variables. They are local and only valid for a specific shell. Don’t forget to use the source command after modification.

/etc/profile, /etc/profile.d, the first one is the file, and you will understand at a glance later that .d represents the directory, and the variables in /etc/profile are global and apply to all users’ shells. efficient.

  • Whenever we enter a command in the terminal, the system will respond. The most important thing is the search path. You can see it through echo $PATH. The search path of the system command is: Meet separate.

When we download a software, if we want to start the program without adding a path, if we enter eclipse anywhere in the shell, that is, to start the program, we can add the eclipse program Just add the path of the executable program to PATH.

In fact, we can have another method, please see the following code

# The default umask is now handled by pam_umask.
# See pam_umask(8) and /etc/login.defs.


if [ -d /etc/profile.d ]; then              # 判断/etc/profile.d 是不是一个目录
  for i in /etc/profile.d/*.sh; do       #如果是一个目录,到该目录下,取出每一个shell程序
    if [ -r $i ]; then                             #如果该shell可以执行
      . $i                                               # 则执行它
    fi
  done
  unset i
fi
Copy after login

The modified code is part of /etc/profile, indicating that /etc/profile will execute /etc/ first All *.sh files in the profile.d/ directory. This also gives us an scalable idea. If we need to configure JDK, then create the jvm.sh file under /etc/profile.d/. If we need to configure ant, then create the ant.sh file under /etc/profile.d/
The effect obtained in this way Consistent, if you don’t believe me, try it yourself.

Then, just add your own configuration in the corresponding configuration file.

Recommended study: "linux video tutorial"

The above is the detailed content of What is linux etc profile. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template