Laboratorio No1
Introducción a Linux modo usuario y
uso de C/C++
Descripción y objetivos
Este laboratorio está orientado a introducir a los
alumnos en Linux en modo usuario junto con hacerlos recordar un poco de C o C++.
Recomendable usar estructuras de datos de C++/STL. Aunque, problablemente,
muchos ya han experimentado en Linux modo usuario, la idea es uniformar el
curso completo. Por otro lado, la metodología a utilizar está orientada a
fomentar el trabajo autónomo y en equipo.
Metodología
Este laboratorio consistirá en una lista de
actividades simples a resolver por los estudiantes. Podrá ser desarrollado por
los estudiantes en sus casas o en los laboratorios disponibles. Los estudiantes
podrán trabajar individualmente o en grupos de 2 o 3 personas. Cada grupo debe
ser capaz de realizar la lista de tareas utilizando el material de apoyo
entregado y cualquier información adicional que deseen.
Dado que la lista de actividades a realizar esta
orientada a nivelar el curso, el conjunto de actividades aquí propuesto es
optativo por lo que no será evaluado.
Lista de
enlaces con material de apoyo
Lista de comandos unix
más importantes
-
http://www.inf.udec.cl/~chernand/sc/labs/linuxcommands.html
-
http://www.inf.udec.cl/~chernand/sc/labs/regexpr.html
-
http://www.inf.udec.cl/~chernand/sc/labs/crontab.htm
-
http://www.esscc.uq.edu.au/~ksteube/Bshell/
Lista de
tareas a resolver
Recordando C/C++
- En su directorio home los directorios
necesarios con el siguiente path
- sc/labs/lab1
- En el directorio lab1 escriba un programa en C o C++ que realice lo
siguiente
- Pida por pantalla un texto hasta que el usuario presione una tecla de
escape puede ser ‘q’.
- Crear un vector y almacenar en él cada línea ingresada. Una nueva
línea la encuentra cuando encuentra un control de carro.
- El programa debe imprimir “número de lineas
totales ” y el número de lineas de acuerdo al
entrada ingresada
- Una vez creado el programa compilarlo y ejecutarlo
- Redirija la salida estándar a un archivo llamado “texto.txt”, usando
el comando ‘>’
- Usar comando ‘time’ para medir tiempo de ejecución de proceso
- Usar el comando ‘size’ para ver detalles de
memoria
Utilizando algunos comandos Unix
- Desplegar el número de líneas y palabras del programa fuente creado en
punto anterior (usar comando wc)
- Desplegar el número de líneas y palabras del archivo “texto.txt”
creado en punto anterior (usar comando wc)
- Desplegar las líneas donde aparece el string
de impresión (printf o cout)
de salida en el programa, junto con el número de línea en el programa
donde aparecen (usar comando grep)
- Desplegar el número de líneas blancas que aparecen en el programa
fuente
- Desplegar la línea del programa creado donde aparece “palabras
totales” mediante la ejecución del programa creado.
- Desplegar el las primeras 5 líneas del programa fuente creado
- Desplegar las últimas 5 líneas del programa fuente creado
- Desplegar las líneas del archivo “texto.txt” que empiezan con la letra
‘a’
- Ordenar alfabéticamente las líneas del archivo “texto.txt” y almacenar
el resultado en otro archivo. Usar comando sort
- Sustituir los espacios (“ ”) por tabuladores
(“\t”) en el archivo “texto.txt” y redigirlo a
otro archivo llamado “texto1.txt”. Usar editor de flujo “sed” o “awk”
Compresores
1.
Crear un
archivo “uno.tar” en el directorio sc
2.
Comprimir el
archivo “uno.tar” con gzip
3.
Descomprimir
archivo .gz
4.
Comprimir
archivo “uno.tar”con bzip2
5.
Descomprimir
archivo .bz2
Redirección “>”
- Crear 2 archivos de texto con el texto que deseen usando el comando echo. Debe usar control de carro también.
- Crear un archivo comprimido a partir de los dos archivos mencionados
con un solo comando
- Desplegar por pantalla las líneas de uno de los archivos creado con
echo que terminen con ‘la’
- Desplegar por pantalla las líneas de uno de los archivos creado con
echo todas las líneas excepto las que empiezan con ‘A’
Generales sistema
- Desplegar por pantalla los procesos en ejecución en el sistema
- Desplegar por pantalla los procesos en ejecución en el sistema por
página
- Desplegar por pantalla los procesos en ejecución que pertenecen a
usted
- Desplegar por pantalla los procesos que están utilizando la mayor
cantidad de recursos del sistema
- Desplegar por pantalla el nombre del host
- Desplegar por pantalla la IP del sistema
- Desplegar por pantalla el nombre del usuario
- Desplegar vista dinámica de sistema en ejecución, información de
resumen de sistema así como la lista de tareas siendo ejecutadas por el
sistema
- Poniendo procesos en ejecución background y foreground.
Utilizando comando “&”. Puede usar el comando sleep
para probar.
Otros: Planificando procesos para ejecución,
usando crontab
1.
Usar comando crontab para ejecutar proceso a cierta mes, dia, hora, minuto
a.
Probar con un
comando cualquiera como ‘date’ a diferentes horas
b.
Asegurarse de
eliminar todas las planificaciones con crontab antes
de salir del sistema.