in

Unix / Linux – Entorno


En este capítulo, discutiremos en detalle sobre el entorno Unix. Un concepto importante de Unix es el medio ambiente, que se define mediante variables de entorno. Algunos son configurados por el sistema, otros por usted, otros por el shell o cualquier programa que cargue otro programa.

Una variable es una cadena de caracteres a la que le asignamos un valor. El valor asignado podría ser un número, texto, nombre de archivo, dispositivo o cualquier otro tipo de datos.

Por ejemplo, primero establecemos una variable TEST y luego accedemos a su valor usando el eco comando –

$TEST="Unix Programming"
$echo $TEST

Produce el siguiente resultado.

Unix Programming

Tenga en cuenta que las variables de entorno se establecen sin utilizar el PS sign pero al acceder a ellos usamos el signo $ como prefijo. Estas variables conservan sus valores hasta que salimos del caparazón.

Cuando inicia sesión en el sistema, el shell pasa por una fase llamada inicialización para configurar el medio ambiente. Este suele ser un proceso de dos pasos que implica que el shell lea los siguientes archivos:

El proceso es el siguiente:

  • El shell comprueba si el archivo / etc / profile existe.

  • Si existe, el shell lo lee. De lo contrario, se omite este archivo. No se muestra ningún mensaje de error.

  • El shell comprueba si el archivo .perfil existe en su directorio personal. Su directorio de inicio es el directorio en el que comienza después de iniciar sesión.

  • Si existe, el shell lo lee; de lo contrario, el caparazón lo salta. No se muestra ningún mensaje de error.

Tan pronto como se hayan leído ambos archivos, el shell muestra un mensaje:

$

Este es el indicador donde puede ingresar comandos para ejecutarlos.

Nota – El proceso de inicialización de shell detallado aquí se aplica a todos Bourne shells de tipo, pero algunos archivos adicionales son utilizados por intento y ksh.

El archivo .profile

El archivo / etc / profile es mantenido por el administrador del sistema de su máquina Unix y contiene información de inicialización de shell requerida por todos los usuarios en un sistema.

El archivo .perfil está bajo tu control. Puede agregar tanta información de personalización de shell como desee a este archivo. El conjunto mínimo de información que necesita configurar incluye:

  • El tipo de terminal que está utilizando.
  • Una lista de directorios en los que ubicar los comandos.
  • Una lista de variables que afectan la apariencia de su terminal.

Puedes comprobar tu .perfil disponible en su directorio personal. Ábralo usando el editor vi y verifique todas las variables configuradas para su entorno.

Configuración del tipo de terminal

Por lo general, el tipo de terminal que está utilizando lo configura automáticamente el acceso o getty programas. A veces, el proceso de configuración automática adivina su terminal incorrectamente.

Si su terminal está configurada incorrectamente, la salida de los comandos puede parecer extraña, o es posible que no pueda interactuar con el shell correctamente.

Para asegurarse de que este no sea el caso, la mayoría de los usuarios configuran su terminal al mínimo común denominador de la siguiente manera:

$TERM=vt100
$

Configuración de la RUTA

Cuando escribe cualquier comando en el símbolo del sistema, el shell debe ubicar el comando antes de que pueda ejecutarse.

La variable PATH especifica las ubicaciones en las que el shell debe buscar comandos. Por lo general, la variable Path se establece de la siguiente manera:

$PATH=/bin:/usr/bin
$

Aquí, cada una de las entradas individuales separadas por dos puntos (:) son directorios. Si solicita al shell que ejecute un comando y no puede encontrarlo en ninguno de los directorios dados en la variable PATH, aparece un mensaje similar al siguiente:

$hello
hello: not found
$

Hay variables como PS1 y PS2 que se analizan en la siguiente sección.

Variables PS1 y PS2

Los caracteres que muestra el shell como símbolo del sistema se almacenan en la variable PS1. Puede cambiar esta variable para que sea lo que desee. Tan pronto como lo cambie, el shell lo usará a partir de ese momento.

Por ejemplo, si emitió el comando:

$PS1='=>'
=>
=>
=>

Su mensaje se convertirá en =>. Para establecer el valor de PS1 para que muestre el directorio de trabajo, emita el comando –

=>PS1="[u@h w]$"
[root@ip-72-167-112-17 /var/www/tutorialspoint/unix]$
[root@ip-72-167-112-17 /var/www/tutorialspoint/unix]$

El resultado de este comando es que el indicador muestra el nombre de usuario del usuario, el nombre de la máquina (nombre de host) y el directorio de trabajo.

Hay unos cuantos secuencias de escape que se pueden utilizar como argumentos de valor para PS1; trate de limitarse a lo más crítico para que el mensaje no lo abrume con información.

No Señor. Secuencia de escape y descripción
1

t

Hora actual, expresada como HH: MM: SS

2

D

Fecha actual, expresada como día de la semana Mes Fecha

3

norte

Nueva línea

4

s

Entorno de shell actual

5

W

Directorio de trabajo

6

w

Ruta completa del directorio de trabajo

7

u

Nombre de usuario del usuario actual

8

h

Nombre de host de la máquina actual

9

#

Número de comando del comando actual. Aumenta cuando se ingresa un nuevo comando

10

PS

Si el UID efectivo es 0 (es decir, si ha iniciado sesión como root), finalice el mensaje con el carácter #; de lo contrario, use el signo $

Puede realizar el cambio usted mismo cada vez que inicie sesión, o puede hacer que el cambio se realice automáticamente en PS1 agregándolo a su .perfil expediente.

Cuando emite un comando que está incompleto, el shell mostrará un indicador secundario y esperará a que complete el comando y presione Ingresar de nuevo.

El mensaje secundario predeterminado es > (el signo mayor que), pero se puede cambiar redefiniendo el PS2 variable de shell –

A continuación se muestra el ejemplo que utiliza el indicador secundario predeterminado:

$ echo "this is a
> test"
this is a
test
$

El ejemplo que se muestra a continuación redefine PS2 con un mensaje personalizado:

$ PS2="secondary prompt->"
$ echo "this is a
secondary prompt->test"
this is a
test
$

Variables de entorno

A continuación se muestra la lista parcial de variables de entorno importantes. Estas variables se configuran y se accede a ellas como se menciona a continuación:

No Señor. Variable y descripción
1

MONITOR

Contiene el identificador de la pantalla que X11 los programas deben usar por defecto.

2

HOGAR

Indica el directorio de inicio del usuario actual: el argumento predeterminado para el cd incorporado mando.

3

IFS

Indica el Separador de campo interno que utiliza el analizador para la división de palabras después de la expansión.

4

LANG

LANG se expande a la configuración regional predeterminada del sistema; LC_ALL se puede utilizar para anular esto. Por ejemplo, si su valor es pt_BR, el idioma se establece en portugués (brasileño) y la configuración regional en Brasil.

5

LD_LIBRARY_PATH

Un sistema Unix con un enlazador dinámico, contiene una lista separada por dos puntos de directorios en los que el enlazador dinámico debe buscar objetos compartidos cuando construye una imagen de proceso después de exec, antes de buscar en cualquier otro directorio.

6

SENDERO

Indica la ruta de búsqueda de comandos. Es una lista de directorios separados por dos puntos en los que el shell busca comandos.

7

PWD

Indica el directorio de trabajo actual según lo establecido por el comando cd.

8

ALEATORIO

Genera un número entero aleatorio entre 0 y 32,767 cada vez que se hace referencia a él.

9

SHLVL

Se incrementa en uno cada vez que se inicia una instancia de bash. Esta variable es útil para determinar si el comando de salida integrado finaliza la sesión actual.

10

TÉRMINO

Se refiere al tipo de pantalla.

11

TZ

Se refiere a la zona horaria. Puede tomar valores como GMT, AST, etc.

12

UID

Se expande al ID de usuario numérico del usuario actual, inicializado al inicio del shell.

A continuación se muestra el ejemplo de muestra que muestra algunas variables de entorno:

$ echo $HOME
/root
]$ echo $DISPLAY

$ echo $TERM
xterm
$ echo $PATH
/usr/local/bin:/bin:/usr/bin:/home/amrood/bin:/usr/local/bin
$

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

error tarjeta grafica 10553

Cómo corregir el error de pantalla azul ‘ATIKMPAG.SYS’ en Windows 10, 8 y 7

apple touch icon@2

java – ¿Qué significa «atómico» en programación?