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++

  1. En su directorio home los directorios necesarios con el siguiente path
    1. sc/labs/lab1
  2. En el directorio lab1 escriba un programa en C o C++ que realice lo siguiente
    1. Pida por pantalla un texto hasta que el usuario presione una tecla de escape puede ser ‘q’.
    2. Crear un vector y almacenar en él cada línea ingresada. Una nueva línea la encuentra cuando encuentra un control de carro.
    3. El programa debe imprimir “número de lineas totales ” y el número de lineas de acuerdo al entrada ingresada
  3. Una vez creado el programa compilarlo y ejecutarlo
  4. Redirija la salida estándar a un archivo llamado “texto.txt”, usando el comando ‘>’
  5. Usar comando ‘time’ para medir tiempo de ejecución de proceso
  6. Usar el comando ‘size’ para ver detalles de memoria

 

 

 

Utilizando algunos comandos Unix

  1. Desplegar el número de líneas y palabras del programa fuente creado en punto anterior (usar comando wc)
  2. Desplegar el número de líneas y palabras del archivo “texto.txt” creado en punto anterior (usar comando wc)
  3. 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)
  4. Desplegar el número de líneas blancas que aparecen en el programa fuente
  5. Desplegar la línea del programa creado donde aparece “palabras totales” mediante la ejecución del programa creado.
  6. Desplegar el las primeras 5 líneas del programa fuente creado
  7. Desplegar las últimas 5 líneas del programa fuente creado
  8. Desplegar las líneas del archivo “texto.txt” que empiezan con la letra ‘a’
  9. Ordenar alfabéticamente las líneas del archivo “texto.txt” y almacenar el resultado en otro archivo. Usar comando sort
  10. 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 “>”

  1. Crear 2 archivos de texto con el texto que deseen usando el comando echo. Debe usar control de carro también.
  2. Crear un archivo comprimido a partir de los dos archivos mencionados con un solo comando
  3. Desplegar por pantalla las líneas de uno de los archivos creado con echo que terminen con ‘la’
  4. 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

  1. Desplegar por pantalla los procesos en ejecución en el sistema
  2. Desplegar por pantalla los procesos en ejecución en el sistema por página
  3. Desplegar por pantalla los procesos en ejecución que pertenecen a usted
  4. Desplegar por pantalla los procesos que están utilizando la mayor cantidad de recursos del sistema
  5. Desplegar por pantalla el nombre del host
  6. Desplegar por pantalla la IP del sistema
  7. Desplegar por pantalla el nombre del usuario
  8. 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
  9. 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.