310 likes | 485 Vues
Unidad 3 . La shell Bash. Ejemplo 1. Inicie una subshell Revise dentro de los procesos cuantas shell están iniciadas [madonna@station madonna]$ bash [madonna@station madonna]$ ps PID TTY TIME CMD 9750 pts/5 00:00:00 bash 9786 pts/5 00:00:00 bash 9814 pts/5 00:00:00 ps
E N D
Unidad 3 La shell Bash
Ejemplo 1 • Inicie una subshell • Revise dentro de los procesos cuantas shell están iniciadas [madonna@station madonna]$ bash [madonna@station madonna]$ ps PID TTY TIME CMD 9750 pts/5 00:00:00 bash 9786 pts/5 00:00:00 bash 9814 pts/5 00:00:00 ps [madonna@station madonna]$ exit exit [madonna@station madonna]$
Actividad 1 • Ejecute el Comando history Comando Orden del Comando
Actividad 2 • Cree un directorio llamado bin • Quite los permisos al grupo propietario y a otros grupos • Mueva un archivo (ejemplo1.txt) al directorio bin
Ejemplo 3 Inhibición del historial de comandos [madonna@station madonna]$ rm .bash_history [madonna@station madonna]$ ln -s /dev/null .bash_history [madonna@station madonna]$ ls -l .bash_history lrwxrwxrwx 1 madonna madonna 9 Aug 26 16:35 .bash_history -> /dev/null [madonna@station madonna]$ cat .bash_history [madonna@station madonna]$
Ejercicio 3 • Use un editor de texto para modificar el archivo .bashrc desde su directorio de inicio, agregando la siguiente línea al final del archivo. • date >> .bash_timestamps • Observe el archivo .bash_timestamps, y confirme si se agrega una nueva marca de tiempo cada vez que inicia una nueva shellbash. • De nuevo, mediante un editor de texto, agregue una línea de comentario a su archivo .bashrc que describa brevemente por qué el comando de fecha fue agregado e incluya su nombre de usuario como la persona que hizo la modificación
Capitulo 2 Listas de comandos y scripts
Ejercicio 1 • Que diferencia tienen los siguientes comandos • cd /dev/; ls –l; cat null • (cd /dev/; ls –l; cat null)
Ejercicio 2 • Cree un archivo bash llamado ejemplo.sh que muestre la hora y los usuarios que esté conectados
Ejercicio 3 • Agregue una línea al final del archivo ejemplo.sh en su directorio de inicio. • La línea debe ejecutar los comandos cd /usr/nombre_usuario, ls –l nombre_archivoy en caso de existir el archivo desplegarlo • nombre_usuario: Nombre del usuario que inicia la sesion • Nombre_archivo: archivo de texto que se despliega al inicio de la shell. Se debe considerar que puede no existir.
Capitulo 3 Variable de bash
Ejercicio 1 • Imprima la variable $LANG • Cambie su valor a de_DE y despliegue la fecha de hoy • Cambie su valor a es_ES y despliegue la fecha de hoy • ¿Qué ocurre?
Listado de variables • Lista las variables de entornos con set • Liste las variables exportado en env
Ejercicio 2 • Inicie sesión con un usuario (nero) • Cree una variable llamada google • google=www.google.cl • Inicie una subconsola y trate de acceder a la variable • Salga de la consola y exporte la variable (variable de entorno) • Inicie otra subconsola y trate de acceder a la variable de la siguiente forma • links $google
Ejercicio 3 • Tras el arranque, su shell debería crear la variable de shellCLICHE, la cual debería apuntar a la frase en inglés thatishowthe cookie crumbles. Asegúrese que la variable no se convierta en una variable de entorno. • Tras el arranque, su shell debe redirigir la salida del comando date al archivo en su directorio de inicio titulado ppid_is_my_parent, en donde ppid es remplazado por su id del proceso padre de shell (almacenado en la variable de shell PPID).
Capitulo 4 Expansión de la línea de comandos
Ejemplo 1 • Ejemplo de expansión de la línea de comandos • find /etc -name *.txt • touch a.txt b.txt • find /etc -name *.txt • find /etc -name “*.txt”
Ejemplo 2 [prince@station prince]$ mkdir ogg [prince@station prince]$ mkdir ogg/{blues,folk} [prince@station prince]$ touch ogg/{blues,folk}/playlist
Ejercicios 1 • Configure su archivo ~/.bashrc para que, tras el arranque, la variable LINUX_VERS contenga toda la primera línea del archivo /var/log/dmesg, (el archivo /var/log/dmesg se regenera cada vez que se arranca la máquina, por lo que deberá establecer la variable de modo dinámico. Recuerde que el comando head -1 mostrará la primera línea del archivo). • En su directorio de inicio, cree archivos con los sigu¡entes nombres de archivo, (el contenido de los archivos es irrelevante). a. archivo sin título b. **'s y ||'s c. >> README!! <<
Ejercicios 2 • En su directorio de inicio, cree un subdirectorio denominado shirts. Dentro del subdirectorio, cree 108 archivos de la forma estilo.tamaño.color.ext, donde cada archivo contenga una combinación de valores a partir del cuadro siguiente Por ejemplo, el directorio debería contener archivos titulados tee.XXL.red.info, tee.XXL.red.inv, tee.XL.red.info, tee.XL.red.inv y así sucesivamente.
Capítulo 5 Personalización de la shell
Ejemplo 1 • Which ps • /bin/ps • Which cd • cd –help • help • help cd
Ejemplo 3 set -x
Ejercicio 1 Edite su archivo ~/.bashrc para que las shellsbashrecién creadas tengan las siguientes propiedades. • El alias dir ejecuta el comando ls -l. • El alias globoff inhabilita la expansión de nombre de ruta (habilitando la bandera de shell apropiada). • El alias complementario globon habilita la expansión del nombre de ruta (inhabilitando la bandera de shell apropiada). • La shell tiene la opción de shellcdspell habilitada.
Capítulo 6 Lectura de scripts de shell e inicialización de shell
Ejercicio 1 Utilizando los siguientes caracteres
Ejercicio 1 Modifique la variable PS1 para que tenga las siguientes salidas • ¿Qué hay de nuevo viejo? • [user@localhostdir actual]$ • [user@localhostFecha actual]$
Ejemplo • Existen más de una opción de utilizar el comando su • Su nombre usuario (no inicio) • Su – nombre usuario (inicio) Para Nero • Vaya al archivo ~/bash_profile y agregue al final “echo bash_profile “ • Vaya al archivo ~/.bashrc y agregue al final “echo .bashrc “