CentOS7 establece las variables de entorno del sistema

Uno, el concepto de variables ambientales

1. El significado de las variables ambientales

La ejecución de programas (comandos y aplicaciones del sistema operativo) requiere un entorno de ejecución, que se compone de múltiples variables de entorno.

2. Clasificación de variables ambientales

1) Clasificados según el alcance efectivo.

Variables de entorno del sistema : público, efectivo para todos los usuarios.

Variables de entorno de usuario : la configuración personalizada privada y personalizada del usuario, que solo surte efecto para el usuario.

2) Clasificados por ciclo de vida.

Variables de entorno permanentes : configuradas en el archivo de script de variables de entorno, estos scripts se ejecutarán automáticamente cada vez que el usuario inicie sesión, lo que equivale a un efecto permanente.

Variables de entorno temporales: se definen temporalmente en el Shell durante el uso y dejan de ser válidas después de salir del Shell.

3. Variables de entorno de Linux

Las variables de entorno de Linux también se denominan variables de entorno de Shell. Comienzan con guiones bajos y letras, y constan de guiones bajos, letras (distingue entre mayúsculas y minúsculas) y números. Se suelen utilizar letras mayúsculas, como PATH, HOSTNAME, LANG, etc.

Dos variables de entorno de uso común

1. Ver variables de entorno

1) comando env

En Shell, use el comando env para ver todas las variables de entorno del usuario actual.

Inserte la descripción de la imagen aquí

La figura anterior solo intercepta parte de las variables de entorno, no todas.

Cuando se usa el comando env, se muestran muchas variables de entorno en la pantalla completa, lo cual no es conveniente para ver. Puede usar grep para filtrar.

env|grep 环境变量名

Por ejemplo, verifique la variable de entorno que contiene PATH en el nombre de la variable de entorno.

env|grep PATH

Inserte la descripción de la imagen aquí

2) comando de eco

echo $环境变量名

Inserte la descripción de la imagen aquí

Tenga en cuenta que no puede faltar el símbolo $, esta es una regla gramatical.

2. Variables de entorno de uso común

1) RUTA

Directorio de búsqueda de programas ejecutables, los programas ejecutables incluyen comandos del sistema Linux y aplicaciones de usuario El uso específico de la variable PATH se describe en detalle en los capítulos posteriores de este artículo.

Inserte la descripción de la imagen aquí

2) IDIOMA

El idioma, la región, el juego de caracteres y el uso específico de la variable LANG del sistema Linux se describen en detalle en los capítulos posteriores de este artículo.

Inserte la descripción de la imagen aquí

3) NOMBRE DEL HOST

El nombre de host del servidor.

4) CONCHA

El analizador de shell que utiliza actualmente el usuario.

5) HISTSIZE

Guarde el número de comandos históricos.

6) USUARIO

El nombre de usuario del usuario actualmente conectado.

7) INICIO

El directorio de inicio del usuario actualmente conectado.

8) PWD

El directorio de trabajo actual.

9) LD_LIBRARY_PATH

El directorio buscado por los archivos de biblioteca de vínculos dinámicos del lenguaje C / C ++ no es la variable de entorno predeterminada de Linux, pero es muy importante para los programadores de C / C ++. El uso específico se describe en detalle en los capítulos posteriores de este artículo.

10) CLASSPATH

El directorio buscado por los archivos de la biblioteca de lenguaje JAVA no es una variable de entorno predeterminada de Linux, pero es muy importante para los programadores de JAVA. El uso específico se describe en detalle en los capítulos posteriores de este artículo.

Tres, establece la cantidad de ambiente

变量名='值'
export 变量名

o

export 变量名='值'

Si el valor de la variable de entorno no tiene símbolos especiales como espacios, se puede encerrar sin comillas simples.

Ejemplo:

export ORACLE_HOME=/oracle/home
export ORACLE_BASE=/oracle/base
export ORACLE_SID=snorcl11g
export NLS_LANG='Simplified Chinese_China.ZHS16GBK'
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin:.
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib:.

Las variables de entorno establecidas por la exportación dejarán de ser válidas después de salir del Shell y deberán restablecerse la próxima vez que inicie sesión. Si desea que la variable de entorno tenga efecto de forma permanente, debe configurarla en el archivo de secuencia de comandos de inicio de sesión.

1. Variables de entorno del sistema

Las variables de entorno del sistema son efectivas para todos los usuarios Hay tres formas de configurar las variables de entorno del sistema.

1) Establecer en el archivo / etc / profile.

Cuando el usuario inicia sesión, ejecute el archivo / etc / profile para configurar las variables de entorno del sistema. Sin embargo, Linux no recomienda configurar las variables de entorno del sistema en el archivo / etc / profile.

2) Agregue archivos de script de variables de entorno en el directorio /etc/profile.d Este es el método recomendado para Linux.

/ etc / profile ejecutará todos los archivos de script en /etc/profile.d cada vez que se inicie. /etc/profile.d es más fácil de mantener que / etc / profile. Si no desea ninguna variable, simplemente elimine el script de shell correspondiente en /etc/profile.d.

Hay muchos archivos de script en el directorio /etc/profile.d, por ejemplo:

Inserte la descripción de la imagen aquí

En el ejemplo anterior, oracle.sh en el directorio /etc/profile.d es el archivo de configuración de la variable de entorno de la base de datos Oracle. El contenido es el siguiente:

Inserte la descripción de la imagen aquí

3) Configure las variables de entorno en el archivo / etc / bashrc.

Las variables de entorno configuradas en este archivo afectarán el shell bash utilizado por todos los usuarios. Sin embargo, Linux no recomienda configurar las variables de entorno del sistema en el archivo / etc / bashrc .

2. Variables del entorno del usuario

Las variables de entorno de usuario solo tienen efecto para el usuario actual y hay muchas formas de configurar las variables de entorno de usuario.

En el directorio de inicio del usuario, hay varios archivos especiales, que lsson invisibles y ls .bash_* pueden ser vistos por los usuarios  .

Inserte la descripción de la imagen aquí

1) .bash_profile (primera opción recomendada)

Se ejecuta cuando el usuario inicia sesión y cada usuario puede utilizar este archivo para configurar sus propias variables de entorno.

2) .bashrc

El archivo se leerá cuando el usuario inicie sesión y cada vez que se abra un nuevo Shell. No se recomienda configurar variables de entorno específicas del usuario en él, ya que cada vez que se abre un Shell, el archivo se leerá una vez y el la eficiencia definitivamente se verá afectada.

3) .bash_logout

Este archivo se ejecuta cada vez que sale del sistema (sale del shell bash).

4) .bash_history

Guarde los comandos históricos utilizados por el usuario actual.

3. El orden de ejecución de los archivos de script de variables de entorno

La secuencia de ejecución de los archivos de script de variables de entorno es la siguiente:

/etc/profile->/etc/profile.d->/etc/bashrc->用户的.bash_profile->用户的.bashrc

Si la variable de entorno con el mismo nombre está configurada en varios scripts, prevalecerá la configuración en el último script ejecutado.

Hay otro problema que necesita atención. El script de /etc/profile.d se ejecuta en / etc / profile. El código es el siguiente:

for i in /etc/profile.d/*.sh ; do
    if [ -r "$i" ]; then
        if [ "${-#*i}" != "$-" ]; then
            . "$i"
        else
            . "$i" >/dev/null
        fi
    fi
done

Por lo tanto, el orden de ejecución de /etc/profile.d y / etc / profile depende de cómo esté escrito el código.

Cuatro, explicación detallada de importantes variables ambientales.

1. Variable de entorno PATH

Directorio de búsqueda de programas ejecutables, los programas ejecutables incluyen comandos del sistema Linux y aplicaciones de usuario. Si el directorio del programa ejecutable no está en el directorio especificado por PATH, debe especificar el directorio al ejecutar.

1) La variable de entorno PATH almacena una lista de directorios, separados por dos puntos: y el punto al final representa el directorio actual.

export PATH=目录1:目录2:目录3:......目录n:.

2) Por defecto, PATH contiene el directorio donde se encuentran los comandos del sistema Linux (/ usr / local / bin: / usr / bin: / usr / local / sbin: / usr / sbin). Si estos directorios no están incluidos, Linux Los comandos también son No se pueden ejecutar (debe ingresar la ruta absoluta para ejecutar).

Ejemplo:

Inserte la descripción de la imagen aquí

3) En el archivo .bash_profile del usuario, PATH se expandirá de la siguiente manera:

export PATH=$PATH:$HOME/bin

4) Si no hay un punto en la variable PATH, debe agregar ./o usar una ruta absoluta para ejecutar el programa en el directorio actual.

Ejemplo:

Inserte la descripción de la imagen aquí

2. Variables de entorno LANG

La variable de entorno LANG almacena el idioma, la región y el conjunto de caracteres del sistema Linux. No es necesario que el administrador del sistema lo configure manualmente. / Etc / profile llamará al script /etc/profile.d/lang.sh para completar el ajuste PATH.

El archivo de configuración del juego de caracteres CentOS6.x se encuentra en el archivo / etc / syscconfig / i18n.

El archivo de configuración del juego de caracteres CentOS7.x está en el archivo /etc/locale.conf, el contenido es el siguiente:

Inserte la descripción de la imagen aquí

3. Variable de entorno LD_LIBRARY_PATH

Directorio de búsqueda de archivos de biblioteca de vínculos dinámicos del lenguaje C / C ++, no es una variable de entorno predeterminada de Linux, pero es muy importante para los programadores de C / C ++.

La variable de entorno LD_LIBRARY_PATH también almacena una lista de directorios, que están separados por dos puntos: y el punto al final representa el directorio actual, que tiene el mismo formato que PATH.

export LD_LIBRARY_PATH=目录1:目录2:目录3:......目录n:.

4 、 CLASSPATH

El directorio buscado por los archivos de la biblioteca de lenguaje JAVA no es una variable de entorno predeterminada de Linux, pero es muy importante para los programadores de JAVA.

La variable de entorno CLASSPATH también almacena una lista de directorios, que están separados por dos puntos: y el punto al final representa el directorio actual, que tiene el mismo formato que PATH.

Cinco, la entrada en vigor de las variables ambientales

1) En Shell, las variables de entorno establecidas por la exportación entran en vigor inmediatamente para el Shell actual y dejan de ser válidas una vez que el Shell sale.

2) La variable de entorno configurada en el archivo de secuencia de comandos no entrará en vigor inmediatamente. Entrará en vigor cuando vuelva a iniciar sesión después de salir del Shell, o utilice el comando de origen para que surta efecto inmediatamente, por ejemplo:

source /etc/profile

Seis, experiencia de aplicación

Aunque hay muchas formas de establecer variables de entorno, se recomienda que las variables de entorno del sistema se configuren en el directorio /etc/profile.d , y las variables de entorno del usuario se configuren en el .bash_profile del usuario . No se recomienda configurar los cambios de entorno en Otros archivos de script Aumente los problemas de operación y mantenimiento, fácil de cometer errores.

Supongo que te gusta

Origin blog.csdn.net/JineD/article/details/112967573
Recomendado
Clasificación