Documente Academic
Documente Profesional
Documente Cultură
Objetivos:
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.
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).
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.
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:
Utilizando la información anterior complete los espacios en blanco de las siguientes oraciones.
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.
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.
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.
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.
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.
b. Haga login nuevamente como el mismo usuario y abra una ventana de terminal.
d. Pruebe los alias que se definieron en los pasos anteriores. ¿Funcionan todos?
si
f. Edite los archivos .profile y .kshrc o .bash_profile y .bashrc según sea necesario para
que todos los cambios personalizados funcionen.
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’
e. Introduzca el comando que sirva para volver a leer el archivo .kshrc o .bashrc. ¿Qué
línea de comandos se introdujo? More .kshrc
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.