lunes, 30 de septiembre de 2013

Terminal linux desde el navegador web













Hace un tiempo estaba buscando una utilidad que me permitiera ejecutar un terminal Linux (también conocido como consola Linux) desde un navegador web. Lo necesitaba ya que quería hacer unas pruebas y no tenía ningún equipo con Linux. El hecho de que se pueda ejecutar desde el navegador es importante, porque no necesitaría instalación y sabemos cualquier equipo (que no sea demasiado antiguo) tiene un navegador instalado.

Mi búsqueda llegó a buen puerto cuando encontré la página:  

http://bellard.org/jslinux/  

Esta pequeña maravilla creada por Fabrice Bellard es capaz de emular un terminal Linux y nos permite jugar con los comandos Linux sin miedo a cargarnos algo.

Para mí, es una herramienta imprescindible a la que de vez en cuando vuelvo. Sí es cierto que tiene ciertas limitaciones con respecto a un terminal real. Por ejemplo, no permite hacer un copy/paste directamente con Ctrl+C y Ctrl+V, sino que hay que pegarlo en un campo de texto que hay en la página y ejecutar “cat < /dev/clipboard > /tmp/myfile”, para que el contenido del portapapeles quede guardado en un archivo temporal (todo ésto está explicado aquí: http://bellard.org/jslinux/faq.html). Tampoco están implementados comandos como “man”. Como veréis, la página es bastante simple, sólo con acceder os aparecerá el prompt.




 












Por todo ello, sólo me queda felicitar al creador por su excelente trabajo. Aun más si tenemos en cuenta que este proyecto ha sido programado en Javascript, un lenguaje que para muchos resulta engorroso y poco amigable.

Espero que le déis una oportunidad y hagáis algunas pruebas. Estoy seguro de que vais a guardarla en los marcadores de vuestro navegador.




Buscar un proceso entre los que se están ejecutando. Comandos ps y grep











A continuación voy a describir cómo buscar un proceso dentro de la lista de procesos que se están ejecutando. Ésto puede ser útil si existen muchos procesos y queremos buscar uno o varios de los que sepamos su nombre o parte de su nombre. Para ello utilizaremos conjuntamente los comandos ps y fgrep. Se haría de la siguiente forma:
ps -ef | grep (cadena)


Con “ps -ef” obtenemos un listado de todos los procesos que se están ejecutando. Luego con grep (cadena) filtramos esa lista y nos quedamos sólo con los que contengan la cadena.

Ejemplo:
ps -ef | grep sh


Ésto nos mostrará todos los procesos que se están ejecutando y que contengan la cadena sh. La salida que daría sería parecida a ésta (las columnas de izquierda a derecha serían: PID, usuario, tiempo, comando):
    1 root       0:00 /bin/sh /sbin/init                                       
   36 root       0:00 [pdflush]                                                
   37 root       0:00 [pdflush]                                                
  155 root       0:00 sh                                                       
  161 root       0:00 grep sh




Podemos ir un paso más allá y quitar algunas entradas del listado que no nos interesen. Por ejemplo, si queremos que se muestren todos los procesos que contengan la cadena “ap” pero que se omitan los que contienen la cadena “grep”. El comando para hacer eso sería así:
ps -ef | grep ap | grep -v grep


Como podemos ver, los comandos ps y grep utilizados en conjunción suponen una herramienta imprescindible y potente en la administración de un equipo o sistema.




Revisar archivos de log mediante Tail (Linux)










Un archivo de log es una especie de registro donde quedan guardados los distintos eventos que ocurren en un equipo. En cada entrada de ese registro se pueden guardan datos como la fecha y hora, usuario, procesos, mensajes de error, warnings, ... Los archivos de log son muy importantes para saber qué está pasando o ha pasado y de este modo depurar y solucionar errores. Éstos archivos suelen contener mucha información y leerlos e interpretarlos puede ser una tarea complicada y tediosa. El comando que veremos a continuación nos facilitará bastante las cosas, y no es otro que "tail".

Veamos las operaciones más frecuentes de éste comando (por defecto mostrará las diez últimas líneas):
  • Muestra las últimas líneas del archivo:
tail archivo.log



  • Muestra las N últimas líneas del archivo (sustituir N por el número que deseemos):
tail -n N archivo.log



  • Muestra el contenido del archivo en tiempo real. Esto es útil cuando el archivo de log está creciendo continuamente. Para pararlo basta con hacer un CTRL+C :
tail -f archivo.log


Puede resultar muy útil también el redirigir la salida hacia otro archivo:


  • Redirecciona las N últimas líneas al archivo depurar.txt :
tail -N  archivo.log > depurar.txt



  • Redirecciona la salida al archivo depurar.txt :
tail -f  archivo.log > depurar.txt


Como vemos, el comando tail nos ayuda a centrarnos solo en la información que nos interesa del archivo de log. Espero que os haya sido de ayuda.

 

 

Fuentes:

http://www.thegeekstuff.com/2010/11/50-linux-commands/




Felinfo: Java, Linux, Virtualización. Open Source.  ©Template Blogger Green by Dicas Blogger .

TOPO