Resumen: Introducción a los sistemas UNIX. Descripción del Shell.
Requisitos: Conocimientos básicos de sistemas operativos.
Alcance: Sistemas Operativos de tipo UNIX, o Linux.
¿Qué es UNIX?
A los «no iniciados», nos aterra el simple hecho de escuchar algunos de las palabras mágicas
del argot UNIX, como «shell», «script», o «awk».
En este artículo trataremos de iniciarlos de una manera muy básica en el territorio de UNIX.
Para empezar UNIX es un sistema operativo común como DOS o Windows.
Hay que hacer notar que cuando hablamos de «Sistemas Operativos UNIX» nos referimos a un grupo de sistemas operativos basados en el viejo UNIX que nació allá por los años 70. Estos sistemas operativos han evolucionado y actualmente tienen diversos nombres por ejemplo:
AIX
UNIX
LINUX
MINIX
HP-UX
BSD
etc, etc
Además a «los UNIX» vienen en dos tamaños:
* Los familiares (grandes, potentes, multiusuarios, diseñado para correr en supermáquinas).
* Los pequeños (simples, compactos, casi multiusuarios, diseñado para correr en PC’s).
Los que están ambientados a Windows tienden a pensar que al usar un sistema operativo UNIX se van a encontrar necesariamente con una brillante pantalla llena de ventanas, pero tienden a sufrir una decepción cuando se encuentran con una pantalla oscura con texto verde o claro, similar a las antiguas computadoras de IBM.
No significa que los sistemas operativos UNIX no tengan interfaces gráficas , lo que sucede
es que no son muy comunes. En las grandes empresas con potentes ervidores UNIX, se suele preferir las interfaces de texto en lugar de las pantallas gráficas. Puedo argumentar algunas razones:
1ro. Los sistemas UNIX se han desarrollado por programadores para programadores (aquellos que suelen escribir un misterioso secreto llamado «código fuente»), lo que significa que no está destinado a los adictos a los «clicks». Visto así, las ventanas no le son muy útiles.
2do. Los entornos gráficos son muy pesados para procesar y consumen mucho «ancho de banda». No hay que olvidar que los sistemas UNIX se diseñaron para ser multiusuarios. Eso significa que podría haber muchos usuarios accediendo al mismo servidor, cada uno con sus relucientes ventanas. En términos técnicos, esto significa que se estaría moviendo demasiada cantidad de información desde el servidor hacia las ventanas.
3ro. Las pantallas de texto permiten mayor potencia al momento de indicarle algo a la computadora. Sí, aunque parezca sorprendente, los «comandos» pueden ser la forma más rápida y precisa de hacer algo con UNIX, (inclusive con DOS). Como muestra un botón: Para decirle a UNIX que me muestre los diez primeros archivos de texto más recientes que se hayan creado en un directorio, se puede hacer así: «ls -lt | head». Lo que un gurú de UNIX puede esribir en menos de 2 segundos ¿Cómo se hace esto en Windows?.
Pero, tal vez se pueda pensar que si de ventanas de texto se trata, Windows también puede abrir sus pantallas negras de DOS y el problema estaría solucionado. Pero no es sólo el problema de la interfaz. La potencia de UNIX reside en sus comandos.
¿Por qué UNIX?
Existen varias razones que hace que algunos usuarios (y sobretodo empresas) prefieran los sistemas UNIX:
* Son sistemas estables, mucho más que un sistema Windows.
* Nacieron siendo multitarea y multiusuario, se desempeñan bien en ambientes «multi».
* No deben protegerse excesivamente de los Virus. Hay muy pocos virus para UNIX.
* Están orientados a manejar grandes volúmenes de información y procesamiento.
* Hay versiones gratuitas.
La pregunta sería ¿Si son tan buenos los sistemas UNIX, porque entonces la mayoría Usa Windows?
Aquí algunas alcances:
* Los sistemas operativos UNIX son potentes, pero esa potencia requiere que se hable en su lenguaje, En otras palabras, para los no iniciados, UNIX es una suerte de cubo de Rubik. En comparación Windows sería «for Dummies».
* Cuando empezaron a aparecer las PC’s compatibles con IBM, venían con DOS y luego Windows. Las PC’s que tenían UNIX nunca pudieron competir en precio con las compatibles.
* Los primeros sistemas UNIX sólo corrían en máquina especiales. Era más fácil conseguir una compatible con DOS.
* Cuando aparecieron versiones para compatibles, ya Windows estaba bien propagado presentando el problema de la compatibilidad. ¿Cómo podía ver mis archivos de Word en una Mac?
Sin embargo la situación puede cambiar. Los sistemas UNIX (o UNIX-Like) vienen ahora con potentes entornos gráficos y hay versiones para PC’s compatibles.
Estos son los sistemas Linux, como Red Hat, CentOS, Debian, Ubuntu, Fedora, …
Estos nuevos Sistemas Operativos son la evolución de los Sistemas UNIX, que se adaptaron para sobrevivir en el ecosistema de las PC de escritorio y dispositivos móviles y tienen un futuro prometedor. Muchos de estos pequeños sistemas UNIX-like son de código abierto y cuentan con interfaces gráficas que poco tienen que envidiar a las versiones modernas de Windows o MAC.
Entonces queda claro que UNIX es un sistema operativo, pero no cualquier sistema operativo. Más adelante veremos que UNIX es un Señor Sistema Operativo. Como prueba de ello es que no hay un Sistema Operativo Mejor, es decir no hay UNIX-XP o UNIX-VISTA. Lo que se tiene son versiones nuevas del mismo UNIX.
¿Cómo es UNIX?
Pero vamos a ver cuales son las características de un sistema UNIX.
Aunque cuando hablamos de UNIX nos referimos al sistema Operativo, también existe todo una filosofía detras de esta mágica palabra. Lo que quiero decir es que al oir «UNIX», debemos pensar en:
* Manejo de comandos. Quizas no tengamos ventanas. Sobretodo en grandes servidores y en la mayoría de empresas.
* Procesos multitarea y multiusuario. Es dificil imaginar un UNIX que esté trabajando en una sola tarea y con un sólo usuario.
* Redes. Los sistemas UNIX nacieron entre redes y trabajan casi siempre con una. Son adictos a los cables.
* Programación. En comparación con Windows, los usuarios UNIX tienen más probabilidades de volverse programadores con sólo estar unas horas al día frente a un terninal.
* TCP/IP. Es el protocolo nativo de UNIX, por lo tabto la Internet le debe nucho a UNIX.
Estas son algunas características de los sistemas UNIX.
Cuando alguien instala un UNIX en su PC o servidor está instalando:
* Un nucleo de Sistema Operativo (Kernel).
* 3 interpretes de comando (shell), puede usar el que mas le guste.
* Al menos 2 leguajes de programación listos para usarse: Awk y C.
* Un conjunto de programas (herramientas) para hacer el trabajo más sencillo.
* Una interfaz gráfica (sólo en algunos sistemas UNIX).
Ya vamos entrando a conocer algunas palabras claves del mundo UNIX.
SHELL.- Se refiere al interprete de comandos. Ese misterioso programa que entiende y ejecuta lo que se escribe en la ventana de comandos o terminal.
KERNEL.- Es el programa que hace las funciones básicas del sistema operativo, administración de usuarios, archivos, manejo de recursos, servicio del shell, etc.
AWK.- Comando del UNIX y un lenguaje de programación completo. Es útil para manejar texto por líneas. En el sistema operativo se accede al awk como si se tratara de un comando más.
VENTANA DE COMANDOS.- Se refiere al medio que se usa para iontroducir los comandos al sistema oeprativo, también se le llama consola o terminal. Se le asocia con la ventana «negra» tipo DOS que pocas veces se usa en windows.
Que quede claro «el shell» se refiere a los programas que permiten manejar el sistema operativo. Son simplemente programas que pueden entender y ejecutar los comandos que le pedimos a UNIX. Es el equivalente del «COMMAND.COM», para los que aprendieron o estudiaron DOS. Claro que en DOS no se habla mucho del interprete de comandos porque sólo hay uno. En UNIX si es util hablar de Shell por que tenemos varios:
* El Bash
* El Korn Shell
* El C Shell
Además debe dejarse en claro que UNIX es un sistema operativo que se «toma» mejor usando
comandos. En el sistema Operativo Window, se puede hablar de un usuario avanzado (en el sentido coloquial) que nunca haya introducido un comando. Pero cuando se habla de UNIX, un «gurú» de UNIX es un experto en comandos, y los puede digitar hasta dormido.
Accediendo a UNIX
Primeramente al encender una PC o un servidor (lo cual es raro porque un servidor estará siempre encendido) con UNIX nos encontraremos con que UNIX (o Linux o BSD o AIX o … etc) nos pide siempre un usuario y contraseña. No es posible acceder a UNIX sin tener un usuario. La seguridad es una característica vital en UNIX.
Además si se trabaja con un servidor lo más común es que se acceda remotamente (lejos del servidor) mediante una PC o terminal a través de una red.
Luego pueden pasar dos cosas:
*Que Accedamos a un entorno gráfico tipo Windows. Lo más común si se trabaja en una PC.
*Que Accedamos a una pantalla de texto, la ventana de comandos. Lo más común si accedemos a un servidor remotamente, mediante un terminal.
Y luego ya estamos en el mundo de UNIX, un mundo que no ha cambiado mucho desde las primeras versiones pero que puede estar cubierto por unas llamativas ventanas al estilo de Windows. Pero aún en los UNIX’s gráficos, la tarea más común es abrir ventanas de comandos o terminal en donde ingresar los comandos directamente al shell.
La imagen mostrada corresponde al Sistema Solaris, un sistema UNIX de Oracle. Pero lo más común es acceder a sistemas Linux, como Ubuntu.
Si no se tiene una PC con Linux, se puede usar la virtualización como una forma cómoda de instalar Linux en una PC con Windows. Sin embargo las nuevas versiones de Windows tienen ya soporte para sistemas Linux por línea de comandos.
(*) Fuente de imágenes: Wikipedia.
¿Cómo citar este artículo?
- En APA: Hinostroza, T. (28 de marzo de 2018). UNIX – Una introducción. Blog de Tito. https://blogdetito.com/2018/03/28/unix-una-introduccion/
- En IEEE: T. Hinostroza. (2018, marzo 28). UNIX – Una introducción. Blog de Tito. [Online]. Available: https://blogdetito.com/2018/03/28/unix-una-introduccion/
- En ICONTEC: HINOSTROZA, Tito. UNIX – Una introducción [blog]. Blog de Tito. Lima Perú. 28 de marzo de 2018. Disponible en: https://blogdetito.com/2018/03/28/unix-una-introduccion/
Dejar una contestacion