Clase 1
Menu Principal | VIM | Clase 2 | Clase 3 | Clase 4
Todas las instrucciones que se dictan a continuación deben realizarse durante la clase. En caso de consultas puede trabajar junto a su compañero o consultarle al profesor.
Accediendo a un terminal
En primer lugar, desde su cuenta en ubuntu, puede acceder a un terminal desde el menu.
Aplicaciones -> Accesorios -> Terminal
Primera parte : Creando directorios y organizando
Acceda a un terminal
$username@machine:~
Cree un árbol de directorios para organizar sus archivos
mkdir cursoC cd cursoC mkdir Clase_1 cd Clase_1
dentro del directorio Clase_1 cree un nuevo archivo con el comando touch.
touch file.dat
El archivo que se ha generado es un archivo vacío, uno puede ver el contenido de un archivo en el terminal con el comando cat :
cat file.dat
Ahora mueva el archivo a su directorio raiz o home, con :
mv file.dat ~
El símbolo ~ hace referencia directa a su home, puede moverse siempre a su directorio home fácilmente con :
cd ~
Ejecute el comando ls y responda :
- ¿Qué muestra el comando ls?
- Ejecute los siguientes comandos y explique que muestran
## ls -lh ## ls -lah ## ls -l ## ls -c ## ls -C
- Acceda al manual commpleto del comando ls con man ls
- ¿Que información brinda el manual?
- ¿Se pueden listar ficheros según su tamaño?
Segunda parte : Creando archivos de Texto.
El editor principal que vamos a utilizar para trabajar con ficheros y escribir programas es vim. Proceda con lo aprendido en clases para instalar vim.
Si tiene una distribución Ubuntu/Linux, o alguna distribución derivada de Debian, utilice:
sudo apt-get install vim
para instalar vim. Para aquellos que deseen experimentar y practicar todas las fortalezas de vim instalen también vimtutor.
Dirigase a su home y escriba un nuevo archivo de texto llamado datos.dat
cd ~ vim datos.dat
Escriba el siguiente contenido al fichero, recuerde que para comenzar el modo edición en vim, es necesario presionar la tecla i (insert) y para volver al modo de comandos con la tecla esc.
-------------------- #Este es un fichero con datos #los datos corresponden a un resultado #experimental. 0.03 0.005 1.02 0.988 1.98 2.210 3.13 2.990 4.05 3.890 5.00 4.990 --------------------
Para salir de vim, vuelva al modo comando (con la tecla 'esc') y escriba :wq. Ahora observe el fichero, pruebe los siguientes comandos y explique para que sirven cada uno de ellos.
ls -lh datos.dat cat datos.dat
- ¿Para que sirven cada uno de los comandos anteriores?
Vamos a utilizar, para el trabajo de nuestros datos, gnuplot un programa para realizar gráficos de GNU. Para instalar gnuplot en el sistema ejecute :
sudo apt-get install gnuplot
Luego de finalizar la instalación, mueva el fichero datos.dat al directorio ~/cursoC/Clase_1/ y luego dirigase a él.
Dentro del directorio ejecute gnuplot. Verá como se inicializa un intérprete especializado para gnuplot.
G N U P L O T Version 4.2 patchlevel 5 last modified Mar 2009 System: Linux 2.6.31-20-generic Copyright (C) 1986 - 1993, 1998, 2004, 2007 - 2009 Thomas Williams, Colin Kelley and many others Type `help` to access the on-line reference manual. The gnuplot FAQ is available from Terminal type set to 'wxt' gnuplot>
Para graficar los datos con gnuplot, utilizaremos lo siguiente :
gnuplot>plot "datos.dat" u 1:2
Pruebe los siguientes comandos adicionales y comente para qué sirven.
# plot "datos.dat" u 1:2 w l # plot "datos.dat" u 1:2 w lp # plot "datos.dat" u 1:($2*3) w lp
- Explique que le ha parecido gnuplot.
Tercera parte : Comprimiendo Ficheros.
La compresión de ficheros en Linux, puede ser realizada tanto desde un terminal como de ambiente gráfico. Para nuestro caso, trabajaremos principalmente en modo de texto.
La herramienta principal utilizada en la mayoría de las distribuciones GNU/Linux es tar, esta herramienta cumple la función de tarear un fichero (juntar toda la información en un solo archivo) y de comprimir en variados formatos.
Utilizando tar
Tareando un fichero (sin compresión)
tar -cvf nuevo.tar ficheros
Comprimiendo ficheros en formato gZip.
tar -cvzf nuevo.tgz ficheros tar -cvzf nuevo.tgz directorio/
Comprimiendo ficheros en formato bzip2.
Extrayendo ficheros
Revisando el contenido de un fichero comprimido.
Utilizando 7zip
7zip es una herramienta nueva, sin embargo no se encuentra instalado por defecto en la mayoría de las distribuciones GNU/Linux, sin embargo es fácil de instalar, para instalar ejecute
sudo apt-get install p7zip*
El comodin * sirve para instalar todos los paquetes que comiencen con p7zip (en este caso).
Cuarta parte : Finalizando las primeras 3 partes
Ahora, añada un nuevo fichero en su directorio Clase_1, llamado respuestas.txt.
vim respuestas.txt
Y en él responder todas las preguntas de las secciones que lleva hasta ahora.
Este procedimiento lo deberá realizar todas las clases.
Importante!!! en esta sesión sigan los pasos en orden, ya que al final deben comprimir un archivo y enviarlo por mail con todas las respuestas a las preguntas realizadas durante el laboratorio.
Las preguntas que deben responder están en color verde, y son de carácter obligatorio.
Sección 2
Primera Parte: Instalando el compilador GNU
Instalando gcc
sudo apt-get install gcc-4.N
en donde N indica la versión de gcc a instalar, en algunas versiones de ubuntu, esta viene instalada por defecto. Si tiene dudas puede buscar la versión disponible con
apt-cache search gcc
Más comandos en el terminal.
Veremos ejemplos de algunos comandos útiles en el terminal, debido a que no tiene muchos ficheros en su cuenta, descargaremos un directorio de ejemplo que posee algunos archivos, para ir viendo algunas características.
Para descomprimir, una vez descargado el fichero
tar -xvzf directorio-ejemplo.tgz
Eso le generará un directorio llamado directorio-ejemplo, ingrese a ese directorio y ejecute ls
cd directorio-ejemplo ls
Debiera ver algo como esto:
username@machine:~/directorio-ejemplo$ ls apuntes.pdf documento.doc experimentos musica videos archivo.txt ejemplo.odt mfm0-09.pdf programas username@machine:~/directorio-ejemplo$
Se pueden observar, tanto archivos como directorios dentro de nuestro directorio.
Veamos ahora algunos comandos interesantes
pwd : Print Working Directory. Este comando imprime la información del directorio en el cuál estamos trabajando.
username@machine:~/directorio-ejemplo$pwd /home/username/directorio-ejemplo username@machine:~/directorio-ejemplo$
cd : Change Directory. Sirve para cambiarse entre directorios.
username@machine:~/directorio-ejemplo$ cd experimentos/ username@machine:~/directorio-ejemplo/experimentos$ ls datos1.dat datos2.dat datos3.dat username@machine:~/directorio-ejemplo/experimentos$ pwd /home/jperalta/directorio-ejemplo/experimentos username@machine:~/directorio-ejemplo/experimentos$
1.- ¿Con cuál(es) comando(s) puede volver al directorio anterior? (luego de descubrirlo, vuelva al directorio anterior).
mkdir : MaKe DIRectory. Este comando sirve para la creación de directorios desde la terminal.
2.- ¿Como genera un nuevo directorio llamado nuevo?
3.- ¿Es posible generar un nuevo directorio y un subdirectorio a la vez? ¿Que ocurre con mkdir nuevo2/nuevosubdir? intente con la opción -p y explique.
rm ReMove. Este comando sirve para eliminar ficheros, puede además eliminar directorios.
Intente los comandos siguientes, luego de cada comando haga un ls para ver que es lo que ocurre con los directorios.
rm nuevo2/ rm -ir nuevo2/ mkdir nuevo3 rm -r nuevo3/
cat : Muestra el contenido de un archivo que es entregado como argumento.
Ingrese al directorio directorio-ejemplo/experimentos, y vea la información del directorio y luego muestre el contenido de cada uno de los archivos con cat.
username@machine:~/directorio-ejemplo/experimentos$ ls datos1.dat datos2.dat datos3.dat username@machine:~/directorio-ejemplo/experimentos$ cat datos1.dat 0 0 1 1 2 2 3 3.04 4 4.1 5 5.4 username@machine:~/directorio-ejemplo/experimentos$
4.- ¿Explique que ocurre si en lugar de car usa los comandos tail -n 2 datos1.dat y head -n 2 datos1.dat? ¿para que sirven los comandos head y tail?
Pero cat no solo sirve para ver el contenido de un archivo, se puede utilizar además para pegar el contenido de distintos archivos. Pruebe el comando
cat datos1.dat datos2.dat > nuevo.dat
5.- ¿que contiene el fichero nuevo.dat? ¿que ocurre si altera el orden de los ficheros cat datos2.dat datos1.dat? (compare con el contenido de cada uno de los ficheros)
6.- ¿Cómo puede mostrar las lineas del fichero nuevo.dat que contengan el número 1? ¿y el número 4?
GnuPlot
Ejecute el comando gnuplot (recuerde que al inicio de la sesión, debió instalar gnuplot). Deberá ver algo como :
Grafiquemos el archivo datos1.dat, para ello ejecute
gnuplot> plot "datos1.dat"
¿Observa el gráfico?, conteste ahora:
7.- ¿Que diferencia existe entre ejecutar plot "datos1.dat" y plot "datos1.dat" w lp?
8.- ¿Es posible graficar más de dos archivos de forma simultanea, de ser posible como se hace? (hint : use google, siempre puede ayudar).
vim
Será nuestro editor favorito durante las sesiones de programación. Recomendamos que lo utilice siempre y se acostumbre a sus comandos básicos.
- Abriendo un archivo nuevo o existente.
vim archivo
- Entrando al modo edición, presione tecla i. El modo de edición permite escribir libremente en el fichero.
- Saliendo del modo edición, presione tecla esc.
Por ahora, el uso de vim, lo dejaremos principalmente a la práctica.
Luego ejecute vimtutor y siga todas las indicaciones, para practicar vim
vimtutor
Finalice las 2 primeras lecciones y responda :
9.- ¿Como se elimina una linea completa en vim?
10.- ¿Es posible eliminar solo una palabra?¿cómo?
11.- Si se quieren borrar 5 líneas consecutivas, ¿cómo lo haría?.
Sobre el ambiente gráfico.
En el menú de Ubuntu, podrá encontrar muchas utilidades Gráficas, y antes de que de por finalizada esta sesión, es importante revisar algunas cosas pequeñas.
En el menú dirígase a
Lugares -> Carpeta Personal
Una vez ahí muevase libremente, mire sus archivos, examine y explore las opciones gráficas, cuidado con borrar sus datos, ya que debe responder las preguntas realizadas.
Finalizando
Dirigase a su directorio personal
cd ~
Ahora cree un directorio con el nombre de la nueva clase.
mkdir seccion2
Dentro del directorio Escriba un archivo con sus respuestas.
cd seccion2 vim respuestas.txt
Luego de escribir el archivo con todas las respuestas del laboratorio, dirigase a su home :
cd ~
y comprima el directorio completo
tar -cvzf seccion2-nombrealumno.tgz seccion2/
para enviarlo finalmente al profesor, vía e-mail.