miércoles, 22 de septiembre de 2010

Curso Básico de Unix (IX)

Hoy vamos a ver dos temas prácticos, pero mas livianos y breves que los anteriores, y así nos tomamos un respiro antes de enfrentarnos con el inmortal VI, después de el intenso tema de los filtros.

Primero hablaremos de  procedimientos de comandos.

Son ficheros de texto en el que se introducen comandos del sistema. Un comando en cada línea. Una vez que tenemos todos los comandos escritos correctamente y el fichero grabado, procedemos a darle permisos de ejecución. Ahora ya podemos utilizarlos como si fueran un comando más del sistema, y con ello ejecutar una lista de comandos complicados o que utilicemos frecuentemente con una sola orden.

Como no suelen estar en la ruta de búsqueda de aplicaciones, debemos indicar su path completo a la hora de ejecutarlos, y aquí surge un pequeño problema. Aunque nos encontremos en la carpeta donde se ubica nuestro fichero, no podemos ejecutarlo solo por su nombre, si no que debemos indicar que se le busque en la carpeta actual anteponiendo a su nombre ./ o usando el path completo.

Si alguno de los comandos que hemos puesto en el fichero necesita que se le pasen unos parámetros, podemos ponerlo directamente si nunca va a cambiar, o pasárselo a nuestro “programa” como una variable cuando lo ejecutemos. Todos los parámetros que pongamos a continuación de nuestro procedimiento se pasaran a las variables $1, $2, $3…$9. Así que si uno de los comandos necesita que le pasemos un parámetro, en su lugar pondremos el $nº correspondiente.

Veámoslo con un ejemplo, que será más fácil. Imagina que cada mes creas unas carpetas para guardar ordenadas las facturas, nominas y demás menesteres de la economía domestica. Cada mes tendrías que teclear algo así:
  • mkdir mesquesea
  • cd mesquesea
  • mkdir facturas
  • mkdir recibos
  • mkdir nominas
Pero te puedes crear un fichero que se llamara crearmes y tuviera estas líneas:
     mkdir $1
     cd $1 
     mkdir facturas
     mkdir recibos
     mkdir nominas
     echo “Listo”
Pues ahora, cada mes solo tendrás que teclear
  • ./crearmes mesquesea
Con esto el valor de $1 será mesquesea y las órdenes se ejecutaran una tras otra como si las teclearas, con el consiguiente aumento de nuestra vaguearía.

Y como segunda parte de  este capítulo, vamos a ver algunas órdenes de comunicación en sistemas Unix, que aunque ya estén muy superadas por los programas de mensajería actual, pueden resultarnos útiles.

write

Envía mensajes de texto entre dos usuarios del sistema. Para desconectar se usa ctrl. C

talk

Similar a write, pero entre usuarios de diferentes sistemas (interconectados). Se usa con talk usuario@maquina

wall

Lo usa el root para mandar un mensaje a todos los usuarios.

/etc/motd

En este fichero se encuentra la famosa “frase del día”. Un mensaje que nos llega cada vez que iniciamos sesión, con supuesta información importante relativa al sistema.

mail

Permite enviar mensajes y ficheros a otros usuarios del mismo sistema, estén o no conectados en ese momento. Es importante indicar, que es interno al sistema, no permite enviar correos como el e-mail. Para enviar, usamos:
  • mail usuario [subject:asuntodelcorreo]
  • texto
  • ctrl. D
Podemos enviar un fichero con:
  • mail usuario < fichero
Para leer usamos:
  • mail
  1. Intro Lee el que esta marcado con >
  2. q Salir
  3. p Imprimir
  4. + Siguiente
  5. ? Ayuda
  6. Salir sin salvar
  7. d Borrar
  8. ! Ejecuta un comando
  9. Guardar

Y es hora de descansar y prepararse mentalmente para el próximo capítulo, VI

No hay comentarios:

Publicar un comentario

prekes sodui