Guía 5

Anuncio
Arquitectura de computadoras. Guía 5
1
Facultad: Ingeniería
Escuela: Electrónica
Asignatura: Arquitectura de computadoras
Lugar de ejecución: Lab. de arquitectura
de computadoras, edif. de electrónica.
Tema: Uso de Bash en Linux.
Objetivo general
•
Aplicar el uso de un interprete de comandos en Linux.
Objetivos específicos
•
•
Ejecutar comandos del sistema Linux.
Realizar tareas de mantenimiento y configuración de Linux usando
programación del shell..
Materiales y equipo
•
1 Computadora personal con sistema operativo Linux (Cualquier
distribución que incluya gnome y bash, preferiblemente CentOS o
Ubuntu).
Introducción teórica
Dentro del ámbito de los sistemas operativos, existen diferentes
tipos de interfases de usuario, de las cuales las más comunes son las
de tipo gráfico y las de línea de comando; sin embargo, las
interfases de tipo gráfico requieren muchos más recursos (poder de
procesamiento) y la correcta configuración del hardware de vídeo de
la PC, cosa que no siempre ha estado disponible históricamente.
Inicialmente, cuando las computadoras no poseían el poder de
procesamiento que las caracteriza hoy día, y los sistemas operativos
no contaban con interfases de tipo gráfico, sino que en vez
utilizaron interfases mucho mas “simples” desde el punto de vista de
programación. Tales interfases se trataban comúnmente de terminales
de texto (sin capacidades gráficas), donde el usuario indica a la
computadora qué hacer por medio de escribir comandos a la PC,
mostrándose en pantalla dichos comandos así como los resultados de
los mismos.
Arquitectura de computadoras. Guía 5
2
Si bien las interfases de línea de comando han decaído en uso a lo
largo de los años, muchos sistemas operativos modernos todavía
cuentan con interfases de ese tipo, pero con propósitos únicamente de
mantenimiento, reparación o diagnóstico. En este sentido, incluso
sistemas operativos como Windows o Linux en sus versiones más
modernas incluyen tales interfases.
El caso particular que se
(Bourne again shell), el
Bourne y que se ha vuelto
estando disponible en una
abordará en la guía es el del programa bash
cual fue creado para GNU/Linux por Stephen
un estándar defacto a lo largo de los años,
gran cantidad de distribuciones de Linux.
Bash es un potente intérprete de comandos, el cual no sólo permite
ejecutar otros programas, sino que además, posee capacidades de
manejo de archivos, ejecución de guiones automatizados (scripts), un
lenguaje estructurado con sentencias de control de flujo, variables
de entorno, redirección de entradas y salidas, etc. Todas estas
capacidades, así como su estabilidad y robustez son las que le han
permitido establecerse como la interfase de línea de comandos por
defecto en muchas distribuciones de Linux.
A continuación se detalla brevemente una lista de algunos de los
comandos o programas que se pueden ejecutar desde bash.
•
•
•
•
•
•
•
PWD
Imprime el directorio actual
LS (opciones) (directorio)
Muestra los contenidos del directorio seleccionado.
CD (directorio)
Cambia el directorio actual.
MKDIR (directorio)
Crea un directorio en la ubicación seleccionada.
CP (origen) (destino)
Copia el archivo o directorio origen al nombre de archivo o
directorio de destino.
MV (origen) (destino)
Mueve (o también renombra) el archivo o directorio origen al
archivo o directorio de destino.
RM (archivo)
Elimina el archivo seleccionado.
Arquitectura de computadoras. Guía 5
•
•
•
•
•
•
•
•
•
3
RMDIR (directorio)
Elimina el directorio seleccionado.
CHMOD (Opciones) (archivo o directorio)
Cambia los permisos del archivo o directorio seleccionado.
CHOWN (Nombre de usuario) (archivo o directorio)
Cambia el usuario que es dueño del archivo o directorio
seleccionado
CHGRP (Nombre de grupo) (archivo o directorio)
Cambia el grupo actual que es dueño el archivo o directorio
seleccionado.
MAN (nombre de comando)
Muestra la ayuda del comando seleccionado
INFO (nombre de comando)
Muestra información detallada del comando seleccionado.
CAT (nombre de archivo)
Muestra el contenido del archivo de texto seleccionado.
CLEAR
Limpia la pantalla de todo texto existente y deja únicamente la
linea de comandos actual.
EXIT
Cierra la sesión de bash o la ventana donde se está ejecutando.
Procedimiento
PARTE I - Manejo de archivos y directorios.
1. Arranque su computadora utilizando el sistema operativo Linux e
inicie sesión con el nombre de usuario y clave que su docente le
indique.
2. Inicie una ventana de bash, ya sea presionando las teclas Alt+F2 y
digitando “gnome-terminal”, o bien desde el menú de Gnome:
Aplicaciones->Accesorios->Terminal.
3. Utilice el comando “pwd” para ver el directorio actual. Anote la
ruta que obtuvo: __________________________________. Note que por
defecto, bash inicia en el directorio home del usuario que tiene
la sesión activa.
4. Haga un listado de los directorios que existen en su ubicación
actual con los siguientes comandos:
Arquitectura de computadoras. Guía 5
4
$ls
$ls -l
$ls -a
Note las diferencias de cada comando y vea cómo las opciones
afectan la salida del mismo. El caso del parámetro -l provoca que
se muestre información mucho más detallada de cada archivo,
mientras que el parámetro -a provoca que se listen todos los
archivos y directorios ocultos (cuyo nombre comienza con un
punto). Note también que es posible mezclar los parámetros para
obtener mucha más información en conjunto:
$ls -a -l
5. Ahora cámbiese al directorio del escritorio, para ello utilice el
comando:
$cd Desktop
Nótese que el directorio Desktop (cuidado con la D mayúscula) fue
listado en el comando anterior. Note también cómo ahora el prompt
(el texto que aparece antes del símbolo de dólar) ahora refleja la
nueva ruta actual.
6. Proceda a crear un nuevo directorio con el siguiente comando:
$mkdir practica5
Vea cómo el nuevo directorio aparece automáticamente en el entorno
gráfico del escritorio. Proceda a cambiarse a ese directorio de
manera similar al paso anterior.
7. Ahora se verá cómo puede iniciar un programa desde la línea de
comandos. Crearemos un nuevo archivo de texto por medio del editor
de texto gedit, de la siguiente manera:
$gedit documento1.txt
Esto provocará que se inicie el programa en una nueva ventana.
Como se le dio un nombre de archivo, el mismo editor reconoce que
lo queremos hacer dentro del directorio actual (practica5).
Escriba cualquier texto de prueba y salve el archivo con las
teclas ctrl+S. Luego cierre el programa. Puede confirmar que el
archivo de texto realmente existe dentro del directorio que se
creó abriéndolo con doble click.
8. Proceda a visualizar el texto que está en el archivo de la
siguiente manera:
$cat documento1.txt
Arquitectura de computadoras. Guía 5
5
9. Ahora proceda a cambiar los permisos del archivo para que ya no se
pueda realizar ninguna acción en él (ni escritura ni lectura)
$chmod -rw documento1.txt
Intente utilizar cat para ver si puede visualizar el contenido del
archivo y note como esto no es posible ahora. Utilice el comando
“ls -l” y vea cómo los permisos aparecen como una serie de
guiones, indicando que no se puede realizar ninguna acción con el
archivo.
10. Restablezca únicamente el permiso de escritura con el siguiente
comando:
$chmod +r documento1.txt
Utilice ahora “ls -l” y vea que aparece la letra r indicando el
permiso de lectura. Note también que es posible utilizar cat para
ver el contenido del archivo.
11. Edite nuevamente el archivo de texto con gedit (“gedit
documento1.txt”). Note que el archivo se puede abrir y leer, pero
al editarlo, el programa no permite guardar, dado que no se tiene
permiso de escritura. Cierre gedit (sin salvar) y restablezca los
permisos de escritura de la siguiente manera:
$chmod +w documento1.txt
Abra de nuevo el archivo con gedit y note cómo ahora es posible
salvar. Use el comando “ls -l” y vea como aparecen las letras r y
w indicando que es posible tanto leer como escribir en el archivo.
12. Una vez hechas todas las operaciones sobre el archivo, proceda a
borrarlo con el siguiente comando:
$rm documento1.txt
Note que para poder borrar archivos, es necesario que tengan el
permiso de escritura habilitado. Liste el directorio con “ls” para
confirmar que está vacío.
13. Cámbiese un directorio arriba (de nuevo a Desktop) con el
siguiente comando:
$cd ..
14. Proceda a borrar el directorio practica5 de la siguiente manera:
$rmdir practica5
Note cómo al realizar la operación el directorio desaparece
automáticamente en el entorno gráfico. Cabe aclarar que para poder
borrar un directorio, es necesario que el mismo esté vacío (cosa
Arquitectura de computadoras. Guía 5
6
que se realizó al borrar primeramente el documento de texto).
PARTE II – Realización de guiones automatizados.
15. Utilice el programa gedit para crear el archivo “guion.sh” en el
directorio Desktop, de manera similar a lo visto en el paso 7, y
digite el siguiente contenido:
#!/bin/bash
#puede insertarse comentarios como este con el carácter numeral
mkdir parte2 #crea el directorio
cd parte2 #se cambia al directorio
#crea un archivo con el texto deseado
echo este es un archivo de solo lectura > solo_lectura.txt
chmod -w solo_lectura.txt #quita el permiso de escritura
Una vez digitado el guión, proceda a salvarlo y cierre gedit
16. Para poder ejecutar el guión, es necesario establecerle el
permiso de ejecución (indicado por la letra x). Proceda a agregar
dicho permiso:
$chmod +x guion.sh
17. Ahora puede ejecutar el guión desde la
invocando su nombre de la siguiente manera:
linea
de
comandos
./guion.sh
Note cómo al ejecutarlo, aparece de inmediato el directorio
“parte2”
y
en
su
interior
tiene
el
archivo
de
texto
“solo_lectura.txt” con el contenido “ este es un archivo de solo
lectura” y los permisos establecidos acordemente. Puede constatar
esto utilizando la interfase gráfica (haciendo doble click en la
carpeta).
18. Proceda ahora a diseñar su propio guión automático que elimine
los archivos creados por el primer guión utilizando todos los
comandos vistos anteriormente. Recuerde los siguientes puntos al
realizarlo:
•
El guión debe comenzar con la linea “#!/bin/bash” para que el
Arquitectura de computadoras. Guía 5
sistema lo reconozca como
permiso de ejecución (x).
tal.
Además,
el
guión
debe
7
tener
•
Es necesario que el permiso de escritura esté presente en el
archivo antes de borrarlo. Además, se debe estar dentro del
directorio del archivo (parte2) para poder interactuar con él.
•
Es necesario que el directorio esté vacío al borrarlo y no debe
estar trabajando dentro de él al momento de hacerlo (hay que
cambiarse al directorio que lo contiene).
19. Una vez termine su trabajo, avise a su docente para que le sea
evaluado. Procure dejar una copia de los archivos generados
durante la práctica para que quede constancia. Cuando termine su
evaluación, apague su equipo.
Análisis de resultados
•
•
•
Al listar los directorios “ls -l”, ¿qué otra información aparte
de los permisos se puede obtener?
¿Considera que es posible renombrar un archivo de manera
automática con un guión? ¿De que manera se puede lograr?
¿Que ocurre si al ejecutar un guión se produce algún error?
Arquitectura de computadoras. Guía 5
Hoja de cotejo: 5
Guía 5: USO DE BASH EN LINUX.
Puesto No:
Alumno:
GL:
Docente:
Fecha:
EVALUACION
%
1-4
5-7
8-10
CONOCIMIENTO
25
Explica la utilización
de los comandos
para manipulación
de archivos de
manera deficiente.
Explica claramente
todos los conceptos.
APLICACIÓN DEL
CONOCIMIENTO
35
No realizó
correctamente la
parte de
manipulación de
archivos.
No realizó
correctamente la
parte de guiones
automatizados.
Explica bien los
comandos para
manipulación de
archivos, pero
desconoce el proceso
de creación de
guiones.
Realizó la
manipulación de
archivos, pero falló
en uno o varios
punto.
Realizó bien el primer
guión automatizado,
pero el segundo falló
al ejecutarlo.
35
ACTITUD
TOTAL
2.5
Es un observador
pasivo.
2.5
Es ordenado pero no
hace un uso
adecuado de los
recursos.
100
Participa
ocasionalmente o lo
hace
constantemente pero
sin coordinarse con
su compañero.
Hace un uso
adecuado de lo
recursos, respeta las
pautas de seguridad,
pero es desordenado.
Realizó
correctamente todos
los puntos asociados
a la manipulación de
archivos.
Realizó
correctamente el
primer guión y el
segundo guión
funcionó
correctamente.
Participa propositiva
e integralmente en
toda la práctica.
Hace un manejo
responsable y
adecuado de los
recursos conforme a
pautas de seguridad
e higiene.
Nota
8
Descargar