Ambiente de Inicio en Linux

Table of contents

Algunos sabores de sistemas operativos son más facil de usar desde punto de vista del usuario casual, mientras que otros son para uso serio en un ambiente de producción en los que las exigencias requieren mas potencia de CPU y Memoria.

Una de los mejores características de Linux es que puede personalizarse de la manera que deseamos.

El ambiente del usuario es un conjunto de elementos que vienen a hacer la manera en la que el usuario puede interactuar con el sistema operativo.

Cuenta de Usuario

Para poder entrar a un sistema de Linux, necesitamos una cuenta de usuario. Una cuenta típica de usuario se ve de esta manera:

devuser:x:2085:2086::/home/devuser:/bin/bash

Esa entrada muestra el nombre del usuario devuser, el directorio de inicio /home/devuser y el shell /bin/bash. Cada uno de esos detalles puede ser personalizado. Para mas información ver la página referente a Usuarios.

Directorio de Inicio

Cada usuario puede organizar su Directorio de Inicio en manera differente.

El directorio puede referirse usando el símbolo de tilde ~ o la variable de ambiente $HOME.

Si estamos en algun directorio diferente de $HOME y queremos ir al directorio de inicio, podemos usar el comando cd como en los ejemplos que siguen.

  • Usar ~
    devuser@ubuntu2204-1 [DevEsp]
    hist:60 -> cd ~
    
  • Usar $HOME
    devuser@ubuntu2204-1 [DevEsp]
    hist:61 -> cd $HOME
    

Para verificar que estamos en nuestro directorio hogar $HOME podemos usar varias opciones.

  • el comando echo
  • el comando pwd
  • la variable de ambiente PWD
devuser@ubuntu2204-1 [DevEsp]
hist:62 -> echo $HOME
/home/devuser

devuser@ubuntu2204-1 [DevEsp]
hist:62 -> pwd
/home/devuser

devuser@ubuntu2204-1 [DevEsp]
hist:63 -> echo $PWD
/home/devuser

Las Variables de Ambiente

Linux provee varias variables de ambiente precargadas con información útil que estan disponibles para uso immediato. Por ejemplo, podemos usar el comando env para ver las variables disponibles en nuestro entorno.

Generalmente, las variables de ambiente estan definidas en /etc/profile, /etc/bashrc, ~/.bashrc, o ~/.bash_profile.

En RHEL, el archivo del usuario ~/.bashrc muestra un bloque indicando que lee ajustes encontrados en /etc/bashrc.

[devuser@rhel9-1-devesp ~]$  cat ~/.bashrc
# .bashrc

# Source global definitions
if [ -f /etc/bashrc ]; then
	. /etc/bashrc
fi

En RHEL, el archivo /etc/bashrc tiene la definición para el SHELL predeterminado.

SHELL=/bin/bash

En RHEL podemos usar el comando env para ver todas las variables de ambiente que tenemos disponibles.

devuser@rhel9-1-devesp [DevEsp]
hist:18 -> env
LANG=en_US.UTF-8
HISTCONTROL=ignoreboth:erasedups
HOSTNAME=rhel9-1-devesp
which_declare=declare -f
USER=devuser
PWD=/home/devuser
HOME=/home/devuser
MAIL=/var/spool/mail/devuser
SHELL=/bin/bash
TERM=xterm
SHLVL=1
LOGNAME=devuser
PATH=/home/devuser/bin:/home/devuser/Library/Python/3.9/bin:/home/devuser/bin:/home/devuser/Library/Python/3.9/bin:/home/devuser/bin:/home/devuser/Library/Python/3.9/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin
HISTSIZE=1000
LESSOPEN=||/usr/bin/lesspipe.sh %s
BASH_FUNC_which%%=() {  ( alias;
 eval ${which_declare} ) | /usr/bin/which --tty-only --read-alias --read-functions --show-tilde --show-dot "$@"
}
_=/usr/bin/env

El comando set muestra información aún mas expandida organizada alfabeticamente (parcialmente extraida abajo).

devuser@rhel9-1-devesp [DevEsp]
hist:30 -> set
BASH=/bin/bash
BASH_VERSINFO=([0]="4" [1]="4" [2]="20" [3]="1" [4]="release" [5]="x86_64-redhat-linux-gnu")
BASH_VERSION='4.4.20(1)-release'
COLUMNS=128
DIRSTACK=()
ENVS=/vagrant/shared/DATAM2/learning/learning_env01
EUID=2074
GROUPS=()
HISTCONTROL=ignoreboth:erasedups
HISTFILE=/home/devuser/.bash_history
HISTFILESIZE=1000
HISTSIZE=1000
HOME=/home/devuser
HOSTNAME=rhel9-1-devesp

Notese que cada una de las variables es en letras mayúsculas.

La salida de los comandos arriba se ve de manera muy similar en Ubuntu 22.04. El uso y propósito de estas variables es consistente a travéz de todos los sabores de Linux

El propósito de cada una es a seguir:

SHELL
el interfaz que permite entrar comandos que permite al usuario interactuar con el sistema operativo.
PWD
el paso al directorio en el que nos encontramos en un momento dado
LOGNAME
el nombre del usuario reconocido como el nombre para entrar al sistema
HOME
el directorio de inicio
TERM
el tipo de terminal asignada por defecto por el sistema operativo
USER
el nombre de usuario, lo mismo que LOGNAME
PATH
colección de directorios con paso absoluto para dar accesso a utilidades y comandos
MAIL
paso absolute para donde el usuario recibe correo electrónico
HISTIZE
valor configurable para la longitud del almacenamiento de comando ejecutados

Terminal de Acceso

Una que que tenemos la cuenta de usuario y directorio de inicio, necesitamos acceder el sistema a travez de un shell usando como interfaz la terminal. La página acercal de el Shell expande en este asunto.

La terminal es el area de trabajo donde podemos escribir comandos para interactuar con el sistema.

Return to main page.