Sunteți pe pagina 1din 8

Conceptos Fundamentales sobre UNIX

Laboratorio 14.4.5 – Personalización de los Shells Korn y Bash


(Tiempo estimado: 45 min.)

Objetivos:

• Desarrollar una comprensión de la personalización de los shells Korn y Bash


• Repasar archivos de inicialización, variables y comandos
• Repasar archivos de inicialización de todo el sistema
• Repasar archivos de inicialización específicos del usuario
• Modificar el archivo .profile o .bash_profile
• Crear el archivo .kshrc o .bashrc
• Probar los archivos de inicialización personalizados del alumno

Trasfondo:
En este laboratorio, el alumno trabajará con archivos de inicialización UNIX para personalizar el
entorno de login de los shells Korn o Bash y adaptar diversas opciones a las necesidades del
alumno. En el laboratorio anterior, el alumno trabajó con alias y prompts personalizados que sólo
se activaban para la sesión actual. Cuando el alumno cerraba la ventana de terminal o hacía
logout, las configuraciones personalizadas se perdían. Éstas y otras características pueden
hacerse disponibles automáticamente cada vez que el alumno hace login modificando archivos de
inicialización específicos. En este laboratorio el alumno trabajará con diversos archivos de
inicialización para hacer que estos cambios tengan efecto cada vez que el alumno haga login. El
alumno también repasará archivos de inicialización y variables de todo el sistema y específicos del
usuario.

Herramientas / Preparación:
a) Antes de iniciar este laboratorio, el alumno deberá repasar el Capítulo 14, Sección 3 –
Variables del Shell y Prompts Personalizados y Sección 4 – Archivos de Inicialización
del Shell.
b) El alumno necesitará lo siguiente:
1. Una ID de login de usuario, por ejemplo user2 y contraseña asignadas por el
instructor.
2. Una computadora que funcione con el sistema operativo UNIX.
3. Computadoras en red en el aula con el sistema de archivos de la clase instalado.

Notas:
_______________________________________________________________________________
_______________________________________________________________________________
_______________________________________________________________________________
_______________________________________________________________________________
_______________________________________________________________________________
_______________________________________________________________________________
_______________________________________________________________________________
_______________________________________________________________________________
_______________________________________________________________________________
_______________________________________________________________________________

1–8 Conceptos Fundamentales sobre UNIX 2.0—-Laboratorio 14.4.5 Copyright © 2002, Cisco Systems, Inc.
Utilice el diagrama del árbol de directorios del sistema de Archivos de la Clase para que lo
asista en este laboratorio.

Estructura del Árbol de Archivos de la Clase

Paso 1. Hacer login al CDE.


Haga login con el nombre de usuario y la contraseña que le fueron asignados por su instructor en
el recuadro de entradas del CDE.

Paso 2. Acceder a la Línea de Comandos.


Haga clic con el botón derecho en el fondo del espacio de trabajo y haga clic en Tools
(Herramientas). Seleccione Terminal desde el menú para abrir una ventana de terminal.

Paso 3. Repaso de los archivos de inicialización, variables y comandos.


Archivos de inicialización: los archivos de inicialización contienen una serie de comandos y
configuraciones de variables que se ejecutan cuando se inicia un shell. Estos archivos no son
ejecutables pero son leídos por el shell cuando el usuario hace login para personalizar su entorno.
Existen dos niveles de archivos de inicialización. El primer nivel abarca a todo el sistema. Los
archivos de inicialización del sistema son mantenidos por un administrador de sistemas y residen
en el directorio /etc. El segundo nivel abarca a los archivos de inicialización específicos del usuario
que residen en el directorio home del mismo. El usuario del shell Korn tiene dos archivos,
.bash_profile y .bashrc (Bash shell run control – Control de ejecución del shell Bash) para
personalizar su entorno. Nótese que todos estos shells tienen un punto (.) como primer carácter, lo
cual significa que estos shells están ocultos.

Variables: en el laboratorio anterior, el alumno trabajó con variables tales como PS1 (prompt string
1) para personalizar el prompt del shell Korn o Bash. Puesto que estas variables estaban definidas
desde la línea de comandos y no se colocaban en un archivo de inicialización, sólo permanecían
activas para el shell actual y cuando ese shell se cerraba, las variables se perdían. En este
laboratorio, el alumno editará los archivos de inicialización y agregará variables y comandos para
que dichas variables y comandos estén disponibles cada vez que el alumno hace login. Las
variables son predefinidas y se configuran automáticamente al hacer login, o son configuradas por
el usuario. El administrador del sistema también puede configurar variables para el usuario. Las
variables pueden aplicarse al shell actual o local únicamente o a todos los shells y subshells, como
shells globales, dependiendo de en qué archivo de inicialización se encuentran. Los usuarios
pueden personalizar muchas de estas variables para su propio entorno colocando las variables en

2–8 Conceptos Fundamentales sobre UNIX 2.0—-Laboratorio 14.4.5 Copyright © 2002, Cisco Systems, Inc.
los archivos de inicialización del directorio home del usuario. Para hacer que las personalizaciones
estén disponibles para todos los shells subsecuentes, la variable debe exportarse.

Comandos: a diferencia de las variables, los comandos (de manera similar a los alias) no pueden
exportarse. Los comandos no pueden hacerse disponibles para todos los subshells. Si los
comandos han de hacerse disponibles en un subshell, deben colocarse en el archivo de
inicialización secundario que se lee cada vez que un subshell se abre tal como .kshrc (shell Korn) o
.bashrc (shell Bash).

Utilizando la información anterior complete los espacios en blanco de las siguientes


oraciones.

a. Los dos niveles de archivos de inicialización son del sistema y


específicos
b. Para el usuario del shell Korn, el archivo .bash_profile y el archivo
.bashrc residen en el directorio home del usuario y pueden utilizarse para
personalizar su entorno de login.
c. Para el usuario del shell Bash, el archivo .bash_profile y el archivo
.bashrc residen en el directorio home del usuario y pueden utilizarse para
personalizar su entorno de login.
d. Las variables PS1 se utilizan para personalizar el shell del usuario y son globales o
locales.
e. Para que una variable esté disponible para todos los subshells, debe ser
exportada
f. Si los comandos han de estar disponibles en un subshell, éstos deben colocarse en un
archivo de inicialización secundaria que se lee cada vez que se abre un subshell,
como .kshrc o .bashrc.

Paso 4. Repaso de los archivos de inicialización de todo el sistema.


El archivo de inicialización principal de todo el sistema es el archivo profile que se guarda en el
directorio /etc. El archivo /etc/profile es creado por defecto cuando se instala el sistema operativo y
puede ser editado y personalizado por un administrador del sistema. El archivo /etc/profile se aplica
a todos los usuarios de los shells Bourne, Korn y Bash. Cuando un usuario de los shells Bourne,
Korn o Bash hace login, el sistema lee el archivo /etc/profile en primer lugar, y luego lee el archivo
.profile del usuario, en el caso de los usuarios de los shells Bourne y Korn o el archivo .bash_profile
en el caso de los usuarios del shell Bash. Esto significa que las preferencias del usuario para las
configuraciones de variables pueden anular las configuraciones por defecto configuradas y
mantenidas por un administrador de sistemas en el archivo /etc/profile. El archivo /etc/profile lleva a
cabo varias funciones, algunas de las cuales aparecen a continuación:

Exporta variables del entorno: Export Environment Variables (Exportar Variables del
Entorno) pone las variables del entorno a disposición de los subshells tal como LOGNAME
para nombre de login.

Exporta la variable PATH (RUTA) para la ruta de comandos por defecto: la ruta por
defecto es una lista de directorios donde mirará el shell cuando se ejecuta un comando.
Exportarlo pone la lista de directorios a disposición de todos los shells y subshells.

Configura el tipo de terminal por defecto de la variable TERM (TÉRMINO): esto define
las características de la pantalla y el teclado de la estación de trabajo del usuario.

Muestra el contenido del archivo /etc/motd: el archivo ‘mensaje del día’ [‘message of the
day’] puede personalizarse para mostrar saludos o proporcionar información acerca del
sistema.

3–8 Conceptos Fundamentales sobre UNIX 2.0—-Laboratorio 14.4.5 Copyright © 2002, Cisco Systems, Inc.
Configura permisos de creación de archivos por defecto: configura valores umask que
determinan los permisos por defecto cuando se crea un nuevo archivo o directorio.

Utilizando la información anterior complete los espacios en blanco en las siguientes oraciones.

a. El archivo de inicialización principal que abarca todo el sistema es el archivo


.profile , que se guarda en el directorio /etc
b. El archivo /etc/profile se crea por defecto cuando se instala el sistema operativo y
puede ser editado y personalizado por un Administrador
c. Cuando un usuario del shell Korn hace login, el sistema lee primero el archivo
.profile , y luego lee el archivo .bashrc del usuario, y luego
el archivo .profile
d. Cuando un usuario del shell Bash hace login, el sistema lee primero el archivo
.profile , y luego lee el archivo .bashrc del usuario, y luego
el archivo /etc
e. El archivo /etc/profile exporta la variable las variavles ya no existen que define una lista
de directorios donde el shell mirará cuando se ejecuta un comando.
f. El archivo /etc/profile configura la variable las variavles ya no existen que define las
características de pantalla y teclado de la estación de trabajo del usuario.

Paso 5. Repaso de los archivos de inicialización específicos del usuario.


Una vez leído el archivo de inicialización de todo el sistema que configura las opciones por defecto
de todo el sistema, se leen los archivos de inicialización del usuario para el shell. Los archivos de
inicialización del usuario proporcionan una gran flexibilidad para que el usuario personalice su
entorno. La inicialización y personalización de login puede lograrse utilizando el archivo para todo
el sistema /etc/profile sin opciones o en combinación con los archivos de inicialización específicos
del usuario.

Los archivos de inicialización del usuario pueden ser configurados en forma de patrones por el
administrador del sistema, y luego ser modificados por el usuario. El o los archivos de inicialización
específicos del usuario tales como .profile, .kshrc y .bashrc se almacenan en el directorio home del
usuario. El archivo .kshrc es el archivo principal de los que se utilizan para personalizar el entorno
del usuario del shell Korn y el archivo .bashrc se utiliza para personalizar el entorno del usuario del
shell Bash. Dependiendo de la política de administración de red, los archivos de inicialización
específicos del usuario pueden llevar a cabo todo o parte de lo siguiente:

• Configurar el prompt por defecto como en el laboratorio anterior.


• Definir la impresora por defecto proporciona acceso a una impresora.
• Configurar los permisos por defecto configura umask para nuevos archivos y
directorios.
• Configurar el tipo de terminal por defecto – es utilizado por vi y otras herramientas.
• Configurar noclobber – para evitar la sobrescritura de archivos durante el
redireccionamiento.
• Configurar la ruta de comandos – define los directorios en los cuales buscar archivos
ejecutables.
• Definir comandos personalizados – define los alias según se describieron en el
laboratorio anterior.

Utilizando la información anterior complete los espacios en blanco de las siguientes oraciones.

a. Después de que El archivo de inicialización es leído, en lo que se refiere


a las opciones por defecto de todo el sistema, se leen
Los archivos de inicialización del usuario en lo que se refiere al shell.

4–8 Conceptos Fundamentales sobre UNIX 2.0—-Laboratorio 14.4.5 Copyright © 2002, Cisco Systems, Inc.
b. La inicialización y personalización puede lograrse utilizando el archivo de todo el
sistema /etc/profile por sí mismo o en combinación con los archivos de inicialización
propios del usuario de .profile y .kshrc para los usuarios del shell
Korn o .profile y .bashrc para los usuarios del shell Bash.

c. El archivo .kshrc es el archivo principal que se utiliza para personalizar el


entorno del usuario del shell Korn y el archivo .bashrc es el archivo
principal que se utiliza para personalizar el entorno del usuario del shell Bash.

d. Entre otras cosas, los archivos de inicialización del usuario .kshrc y .bashrc pueden
utilizarse para definir Configuración del prompt según se describe en el laboratorio previo
como sustitutos para comandos.

Paso 6. Modificar el archivo del alumno .profile o .bash_profile.


El administrador del sistema, como parte de la creación de una cuenta de usuario, asigna el shell
de login. El shell de login determina qué archivos de inicialización se leen durante el login. Los
shells Korn y Bash utilizan dos archivos del entorno específicos del usuario para configurar el
entorno del usuario: los archivos ~/.profile y ~/.kshrc (shell Korn) o .bash_profile y .bashrc (shell
Bash). Los archivos ~/.profile y ~/.bash_profile contienen típicamente comandos de una sola vez y
definiciones de variables.

Cuando se define un nuevo usuario de los shells Korn o Bash, se crea una versión básica de los
archivos .profile o .bash_profile y se la coloca en el directorio home del usuario. Los usuarios del
shell Korn necesitan modificar el archivo .profile y definir y exportar la variable ENV. Esto le indica
al shell Korn la ubicación y el nombre del archivo de control de ejecución a ser leído cada vez que
se inicia un nuevo shell, como es el caso de una ventana de terminal, según se muestra más
abajo. El archivo de control de ejecución del shell Korn no tiene que tener como nombre .kshrc
pero usualmente lo tiene. De igual forma, es necesario que los usuarios del shell Bash modifiquen
el archivo .bash_profile y definan y exporten la variable BASH_ENV que señala al archivo .bashrc.
Estos comandos usualmente son agregados al final del archivo .profile o .bash_profile. Este
comando configura la variable del entorno para que señale al archivo .kshrc o .bashrc en el
directorio $HOME. HOME es una variable definida por el sistema para que sea la ruta absoluta al
directorio de login del usuario.

Formato del Comando (shell Korn): ENV=$HOME/.kshrc; export ENV


Formato del Comando (shell Bash); BASH_ENV=$HOME/,bashrc; export BASH_ENV

a. Verifique que el alumno se encuentre en el directorio home y luego utilice el comando


ls –la (listado largo de todos [all] los archivos) para determinar si existe el archivo
.profile o .bash_profile. El alumno deberá incluir los archivos ocultos y es posible que
necesite utilizar el pipe para redirigir el resultado del comando ls –la a more para
encontrar los archivos ocultos. En la mayoría de los casos el archivo .profile o
.bash_profile se crea automáticamente cuando se configura una nueva cuenta de
usuario. De no ser así, será necesario que el alumno lo cree. ¿Quién es el propietario
del archivo .profile? User 2 ¿Cuáles son los permisos del alumno para
este archivo? De lectura y escritura ¿Podrá el alumno efectuar cambios en él?
Si

b. Utilice el comando more para visualizar el contenido del archivo .profile o .bash_profile.
Nótese la variable PATH (RUTA) en el principio, que define los directorios donde
mirará el sistema cuando el alumno emita un comando. ¿Cómo está configurada la
variable PATH? PATH="$HOME/.local/bin:$PATH"

5–8 Conceptos Fundamentales sobre UNIX 2.0—-Laboratorio 14.4.5 Copyright © 2002, Cisco Systems, Inc.
c. ¿Se ha exportado la variable PATH para poder utilizarla en subshells?
si

d. Las rutas del directorio en la definición de la variable PATH están separadas por dos
puntos (:). ¿Es /usr/bin una de las rutas de la lista? Si Haga una lista del
contenido del directorio /usr/bin y utilice un pipe para dirigirlo al comando more.
Escriba al menos cinco de los comandos de la lista con el cual el alumno esté
familiarizado. Calendar, clear, edit, find, install

e. Copie el archivo .profile o .bash_profile para crear una copia de seguridad del archivo
llamada .profile.bak o .bash_profile.bak para su salvaguardia. Si el alumno comete
errores y necesita el archivo copia de seguridad, puede borrar .profile o .bash_profile y
hacer una copia del archivo copia de seguridad utilizando el nombre de archivo
original.

f. Utilice vi para modificar el archivo .profile o .bash_profile. Agregue ENV o BASH_ENV


y los comandos de exportación que figuran más arriba, en la línea de formato de
comandos, al final del archivo y luego guarde y salga de vi. Visualice nuevamente el
contenido del archivo. ¿Están presentes los comandos que introdujo el alumno?
Si Verifique los comandos para asegurarse de haberlos tipeado
correctamente.

Paso 7. Crear el archivo .kshrc o .bashrc del alumno.


Los comandos y funcionalidades de los shells Korn y Bash deberán colocarse en el archivo .kshrc
(Korn shell run control) o .bashrc (Bash shell run control). El contenido de los archivos .kshrc y
.bashrc incluye normalmente: un prompt personalizado, alias, activación de funcionalidades del
shell y variables personalizadas.

a. Usualmente no hay una versión básica del archivo .kshrc o .bashrc en el directorio
home del usuario a menos que un administrador lo coloque allí como patrón para saber
dónde comenzar. El alumno debe crear uno o en algunos casos puede copiar uno ya
existente de otro usuario.

b. Cree un nuevo archivo .kshrc o .bashrc utilizando vi. ¿Qué comando se introdujo?
Nano.bashrc

c. Si el alumno desea guardar los cambios y salir del editor vi, ¿qué comando de Última
línea se utilizaría? :wq

d. Si el alumno deseara salir del editor sin guardar ningún cambio, ¿qué comando de
Última línea se utilizaría? :q!

e. Configure el prompt del alumno según el nombre de su máquina con un signo de dólar
y un espacio después de él. ¿Qué se introdujo? Consejo: véase la sección Variables
del Shell y Prompts Personalizados en el Capítulo 14. PS1=’\h$’

f. Configure el editor vi para que se active para la edición de línea de comandos. ¿Qué
se introdujo? específicos

g. Cree un alias llamado h como atajo para representar el comando history y otro alias
llamado c como atajo para el comando clear.

h. Cree un alias llamado p como atajo para representar el comando ps –ef | sort |
more. ¿Qué comando se introdujo? alias p=’ps -ef | sort | more’

6–8 Conceptos Fundamentales sobre UNIX 2.0—-Laboratorio 14.4.5 Copyright © 2002, Cisco Systems, Inc.
i. Cree un alias llamado cp para reemplazar al comando regular cp que preguntaría al
alumno si estuviera a punto de sobrescribir un archivo. ¿Qué comando se introdujo?
alias cp=’cp -i’

j. Guarde los cambios en el archivo .kshrc o .bashrc y salga de vi. El alumno puede salir
sin guardar los cambios si desea comenzar de nuevo.

k. Utilice vi o el comandomore para visualizar el archivo .kshrc del alumno y verifique


que los comandos se hayan introducido correctamente.

Paso 8. Probar los archivos de inicialización personalizados del alumno.


Ahora que el alumno ha modificado el archivo .profile o .bash_profile del directorio home y
también ha creado un nuevo archivo .kshrc o .bashrc, es el momento de probar los resultados.

a. Cierre la ventana de terminal y haga logout (EXIT) del sistema.

b. Haga login nuevamente como el mismo usuario y abra una ventana de terminal.

c. ¿Cambió el prompt del alumno según se esperaba? si

d. Pruebe los alias que se definieron en los pasos anteriores. ¿Funcionan todos?
si

e. Si no funcionó ninguna de las funcionalidades de personalización del shell Korn, el


alumno puede tener un problema con la variable ENV del archivo .profile. Si algunas
funcionaron y otras no, es probable que el alumno haya cometido algunos errores en el
archivo .kshrc o .bashrc.

f. Edite los archivos .profile y .kshrc o .bash_profile y .bashrc según sea necesario para
que todos los cambios personalizados funcionen.

Paso 9. Modificar el archivo .kshrc o .bashrc y volver a leer el archivo.

a. Abra el archivo .kshrc o .bashrc en vi.

b. Modifique la variable PS1 (el prompt) para que sea PS1=’$PWD> ‘.

c. Agregue un nuevo alias llamado hm que lo haga regresar al directorio home del
alumno, despeje la pantalla y muestre un listado largo de a una página a la vez. ¿Qué
línea colocó el alumno en el archivo .kshrc o .bashrc para definir el alias? Consejo:
¿qué símbolo, o metacarácter, se utiliza al ejecutar varios comandos en una única
línea de comandos? alias hm=’cd;clear;ls -l | more’

d. Guarde el archivo y salga de vi.

e. Introduzca el comando que sirva para volver a leer el archivo .kshrc o .bashrc. ¿Qué
línea de comandos se introdujo? More .kshrc

f. ¿Qué muestra ahora el prompt del alumno? La informacion requerida

g. ¿Funciona el alias hm? si

Paso 10. Borrar los archivos y directorios creados en este laboratorio.


Borre todos los archivos y directorios creados en el directorio home del alumno durante este
laboratorio.

7–8 Conceptos Fundamentales sobre UNIX 2.0—-Laboratorio 14.4.5 Copyright © 2002, Cisco Systems, Inc.
Paso 11. Cerrar la ventana de terminal y hacer logout.
Haga doble clic en el botón de raya que se encuentra en el extremo superior izquierdo de la
pantalla, luego haga clic en el ícono EXIT (SALIDA) del panel frontal.

8–8 Conceptos Fundamentales sobre UNIX 2.0—-Laboratorio 14.4.5 Copyright © 2002, Cisco Systems, Inc.

S-ar putea să vă placă și