513372 - Linux, Scripts y GMT

CLASE 1 - INTRODUCCIÓN

1.1 El sistema operativo Linux:

Todo en Linux es un archivo o un proceso. Un proceso es un ejecutable que se identifica con un PID (process identifier) único. Un archivo es una colección de datos  en una variedad de formas (como texto).

Linux tiene un GUI (Graphical User Interface) similar a otros sistemas operativos, no obstante, algunas operaciones no tienen  interface gráfica, por lo cual se necesita conocer los detalles de bash para acoplar esas operaciones en la  manipulación de datos.
Para ello, trabajamos en un terminal.

En alguna parte del menú (probablemente aplicaciones) se puede encontrar el terminal. Tome unos minutos para familiarizarse con el menu, y poner el terminal como un ícono de escritorio.

ls.jpg

1.2 Hacer una lista de archivos:

El comando ls presenta los contenidos del directorio en que usted esta trabajando. Simplemente teclee ls en el terminal. También prueba el comando ls -l (lista formato largo); este tiene más información, por ejemplo los permisos, el dueño, tamaño y la fecha de la última modificación.

Prueba el comando ls -a (list all). Con eso recibe información sobre los archivos/directorios escondidos también. ¿Cómo se esconde un archivo?

1.3 Creando directorios y cambiando entre ellos:

El comando cd le permite cambiar de directorio. Cuando se pone cd sólo en el terminal, se va al directorio  home $. Es posible verificar dónde estas exáctamente con el comando pwd, por ejemplo:

pwd.jpg
Ahora vamos a crear un directorio que se llama bin (revisen que estan en su directorio home primero con pwd):

mkdir bin

(literalmente, make directory bin). Hace una lista  ls  para corroborar que ahora ese directorio existe. Podemos ir al directorio bin con el comando

cd bin

Una lista aquí va a mostrar que por ahora ese directorio esta vacío. Use pwd para notar donde está el directorio bin en relación con tu espacio "home". El comando

cd ..

te lleva a un directorio más arriva en jerarquía (organización de archivos del sistema linux), en este caso el espacio "home". (Note que cd también sirve para ir a su "home" desde cualquier lugar en su computadora).

1.4 La magia de "Tab", y wildcards (*):

Crean un directorio con un nombre muy, muy, muy largo, por ejemplo

mkdir DIRECTORIO_CON_UN_NOMBRE_MUY_LARGO

Para cambiar al este directorio, no es necesario poner su nombre entero. Si, después de poner los primeros letras del directorio, si este es único, simplemente tocando la llave "Tab" completará la frase. De otra manera, la estrella (*) puede completar frases únicas también.

Para borrar un archivo, hay que usar el comando rm. Para un directorio, rm -r

rm -r
DIRECTORIO_CON_UN_NOMBRE_MUY_LARGO

wildcard.jpg
Si tienen tiempo, traten a navegar por el sistema (empieza en cd /) usando "Tab"

1.5 Copiando y moviendo archivos:

Primeramente vamos a bajar dos archivos que pueden ser útiles.

calday

julday

Probablemente estos archivos van a bajar automaticamente al escritorio o al home. Para moverlos al directorio bin, use (por ejemplo)

mv Escritorio/calday    bin/calday

Note: Para copiar archivos, se usa cp en el lugar de mv.

1.6 Ejecutables y Permisos:

Si tienen calday y julday en su directorio ~/bin (~ significa su espacio "home"), revisaremos si podemos ejecutarlos. Primeramente van a su bin, y después hagan una lista en formato largo:

cd ~/bin
ls -l

ls-l.jpg
Hay que fijarse en los primeros 10 carácteres:

1) d para un directorio, - para un archivo
2,3,4) Permisos para el usario
5,6,7) Permisos para el grupo (si el espacio esta compartido)
8,9,10) Permisos para los demás

r indica permiso de leer (read)
w indica permiso de guardar/borrar (write)
x indica permiso para ejecutar (execute)

Unos ejemplos:

-rwxrwxrwx: Un archivo que todos pueden leer, cambiar/borrar, ejecutar
-rw-------: Un archivo que solamente puede ser leido y cambiado por el dueño de la cuenta. Por ejemplo, algo de email.
______________________________________________________________________________

julday y calday, deben estar ejecutable. Se puede hacer eso con una de las siguientes instrucciones :

chmod a+rxw julday (para todos/all)
chmod u+rxw julday (para usario)
chmod g+rwx julday (para grupo)
chmod o+rwx julday (para otros)

Note que con chmod, se usa + para dar permisos, y - para sacar permisos.

Ahora hacen una lista a ver si esos programas son ejecutables. Si lo son, deben estar listos para usar.

¿Qué hacen los comandos :

./julday 02 20 2010

y

./calday 261 2010

?

Más tarde en el curso, vamos a usar uno de estos para hacer un gráfico.

1.7 Variables en bash:

Existen varias variables en el terminal. Se puede usar echo para pedir sus valores. Por ejemplo:

echo $USER
echo $HOME
echo $PATH

El valor del $PATH especifica los directorios en que existen ejecutables, comandos y programas. Volveremos a eso en la próxima clase, porque queremos que nuestros Scripts, y GMT, esten dentro de este $PATH.

1.8 Espacio en el disco:

Para revisar el espacio en el disco, use

cd (para ir a su directorio "home")
df -k .

1.9 Un archivo de datos:

gmt_files/global_seismicity_feb27-apr19_2010.txt


Si tienen tiempo, bajan este archivo de la sismicidad global para feb 27 - abr 19. Crean un directorio para su trabajo en este curso y muevan el archivo de sismicidad allá.

Traten a abrir el archivo (con gedit es mi sugerencia - gedit global_seismicity_feb27-apr19_2010.txt
). Tiene 2160 lineas, así que vamos a querer extraer información de ello usando comandos. Eso es la próxima clase.