Algunos usuarios tienden a pensar (muchas veces por desconocimiento o prejuicio) que el sistema GNU/Linux es difícil de usar, y que muchas tareas no pueden realizarse sin acudir a la linea de comandos. La verdad es que las versiones modernas de GNU/Linux que están pensadas para ser amigables para el usuario, como por ejemplo Ubuntu 7.10 Desktop, pueden utilizarse perfectamente por medio de interfaces gráficas, a través de las cuales pueden realizarse perfectamente todas las tareas cotidianas.

Sin embargo, sería equivocado pensar por ello que el intérprete de comandos ( el shell) es una interfaz pasada de moda. El intérprete de comandos permite realizar muchas cosas que no se pueden hacer por medio de la interfaz gráfica, y es de fundamental importancia para usuarios avanzados como administradores de sistemas, o programadores. Veamos algunos ejemplos de tareas comunes que requieren el uso del shell:

* Permite automatizar tareas que se realizan en forma repetida. Por ejemplo podemos tener un script (esto es un programa en el lenguaje del shell) que efectúe una copia de respaldo (backup) de nuestros archivos, y con la ayuda del cron hacer que nuestro script se ejecute todos los días (o todas las semanas) a una determinada hora.

* Otra aplicación común es la personalización de los scripts de inicio del sistema.

* El shell permite ejecutar comandos en forma remota en una máquina a la cual no tenemos acceso físico, por ejemplo por medio de secure shell (ssh). Como en un sistema Unix virtualmente cualquier tarea se puede realizar desde la linea de comandos, ello significa que basta tener un acceso por ssh, para poder realizar cualquier tarea en una computadora situada quizás en la otra punta del mundo.

* Si tengo que explicarle a alguien como realizar alguna tarea, una descripción del tipo “buscá tal ícono y apretá tal botón” es sumamente vaga e imprecisa, ya que distintos escritorios o distintas versiones del sistema, pueden tener una apariencia visual completamente diferente, y lo más probable es que esa persona no logre realizar exitosamente la tarea. En cambio, si le digo “ejecutá tal comando”; ello constituye una descripción exacta, sin ninguna ambigüedad, y por ello es altamente probable que la persona pueda realizarla con éxito.

*Al crear un pequeño script para ejecutar varias tareas en forma automática, el usuario de Unix/Linux se transforma sin pensarlo demasiado en un improvisado programador. Es lo que Eric Raymond llama “casual programming” en su libro The Art of Unix Programming. Esto significa que el sistema Unix no tiene barreras de entrada para quienes desean aprender a programar. Escribir nuestro primer programa es tan fácil, como juntar un par de comandos, y escribirlos en un archivo en un determinado orden. El usuario toma entonces conciencia de que la programación no es, como algunas personas creen, un arte hermético sólo para iniciados; sino que todos podemos programar.

* La linea de comandos permite que un programa sea ejecutado por otros programas. Esto se relaciona con la filosofía de Unix, donde cada pequeño programa efectúa una o muy pocas tareas, pero los programas se pueden intercomunicar entre sí para realizar tareas complejas, utilizando las interfaces provistas por el sistema (linea de comando, redirección, pipes, etc.)

Como vemos, lejos de ser obsoleta, la linea de comandos es una interfaz potente y versátil, que presta una funcionalidad insustituible. Cuando alguien me presta una computadora con un sistema Windows, lo primero que busco desesperado (y lógicamente no encuentro), es un shell. El intérprete de comandos de Windows es realmente tosco y primitivo en relación al intérprete de comandos de Linux (Bash)

Quizás la prueba más contundente de que la linea de comandos no es una interfaz obsoleta, es que a pesar de que los sistemas de Apple tienen la merecida fama de ser los que tienen las interfases de usuario mejor diseñadas, no por ello el sistema Mac OS X deja de venir con el intérprete de comandos Bash incorporado.

En resumen, para los usuarios avanzados de Linux, el shell es una herramienta de gran utilidad y potencia. Para decirlo en una frase “Denme un shell y moveré al mundo”.

Anuncios

Responder

Por favor, inicia sesión con uno de estos métodos para publicar tu comentario:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

«

»
A %d blogueros les gusta esto: