Está en la página 1de 10

¿Qué es LINUX?

Linux es un sistema operativo gratuito y de libre distribución inspirado en el sistema


Unix, escrito por Linus Torvalds con la ayuda de miles de programadores en Internet.
Unix es un sistema operativo desarrollado en 1970, una de cuyas mayores ventajas es
que es fácilmente portable a diferentes tipos de ordenadores, por lo que existen
versiones de Unix para casi todos los tipos de ordenadores, desde PC y Mac hasta
estaciones de trabajo y superordenadores. Al contrario que otros sistemas operativos,
como por ejemplo MacOS (Sistema operativo de los Apple Macintosh), Unix no está
pensado para ser fácil de emplear, sino para ser sumamente flexible. Por lo tanto
Linux no es en general tan sencillo de emplear como otros sistemas operativos,
aunque, se están realizando grandes esfuerzos para facilitar su uso. Pese a todo la
enorme flexibilidad de Linux y su gran estabilidad ( y el bajo coste) han hecho de este
sistema operativo una opción muy a tener en cuenta por aquellos usuarios que se
dediquen a trabajar a través de redes, naveguen por Internet, o se dediquen a la
programación. Además el futuro de Linux es brillante y cada vez más y más gente y
más y más empresas (entre otras IBM, Intel, Corel) están apoyando este proyecto, con
lo que el sistema será cada vez más sencillo de emplear y los programas serán cada
vez mejores.

¿Qué son las distribuciones?

Una de los primeros conceptos que aparecen al iniciarse en Linux es el concepto de


distribución. Una distribución es un agrupamiento del núcleo del sistema operativo
Linux (la parte desarrollada por Linus Torvalds) y otra serie de aplicaciones de uso
general o no tan general. En principio las empresas que desarrollan las distribuciones
de Linux están en su derecho al cobrar una cierta cantidad por el software que ofrecen,
aunque en la mayor parte de las ocasiones se pueden conseguir estas distribuciones
desde Internet, de revistas o de amigos, siendo todas estas formas gratuitas y legales.
Las distribuciones más conocidas son RedHat, Debian, Slackware, SuSE y Corel Linux,
todas ellas incluyen el software más reciente y empleado lo cual incluye compiladores
de C/C++, editores de texto, juegos, programas para el acceso a Internet, así como el
entorno gráfico de Linux: X Window. A lo largo de este manual se considerará la
distribución de Linux más extendida en la actualidad: RedHat 6.0. Aunque la mayor
parte de la información debe ser válida para el resto de las distribuciones, existen
determinadas opciones que están sujetas a cambio como el sistema de instalación del
sistema operativo.

Entorno de trabajo: el shell y X Window

Al contrario que otros sistemas operativos, por defecto el trabajo con Linux no se
realiza de una forma gráfica, sino introduciendo comandos de forma manual. Linux
dispone de varios programas que se encargan de interpretar los comandos que
introduce el usuario y realiza las acciones oportunas en respuesta. Estos programas
denominados shell son el modo típico de comunicación en todos los sistemas Unix
incluido Linux. Para muchas personas el hecho de tener que introducir los comandos
de forma manual les puede parecer intimidante y dificultoso, aunque como se verá
más adelante los comandos de Linux son relativamente simples y muy poderosos. No
obstante, casi todas las distribuciones más recientes incluyen el sistema X Window (no
X Windows), el cual es el encargado de controlar y manejar la interfaz de usuario.
Como se verá más adelante X Window es mucho más poderoso que otros entornos
similares como Microsoft Windows, puesto que permite que el usuario tenga un control
absoluto de la representación de los elementos gráficos.

Usuarios y grupos

Linux es un sistema operativo multitarea y multiusuario. Esto quiere decir que es


capaz de ejecutar varios programas (o tareas) de forma simultánea y albergar a varios
usuarios de forma simultánea. Por lo tanto, todos los usuarios de Linux deben tener
una cuenta de usuario en el sistema que establezca los privilegios del mismo. A su vez
Linux organiza a los usuarios en grupos de forma que se puedan establecer privilegios
a un determinado grupo de trabajo, para el acceso a determinados archivos o servicios
del sistema.

INICIACIÓN A LINUX

Existen tres formas de acceder a un sistema Linux:

• A través de una consola de texto, el usuario se conecta directamente al ordenador


que tiene instalado Linux y accede mediante un sistema no gráfico.

• Desde un gestor de sesiones gráfico (X Window), el usuario se conecta directamente


al ordenador que tiene instalado Linux y accede al sistema mediante un programa
gráfico.

• Desde un ordenador remoto mediante telnet o secure Shell

Entrada y salida del sistema

En cualquiera de los casos en la pantalla aparecerá (más o menos) lo siguiente:

Login: (Se teclea el nombre del usuario)

Password: (Se teclea la contraseña, que no se ve en la pantalla)

Por motivos de seguridad la contraseña debe cumplir ciertas condiciones tales como:

• Contener al menos seis caracteres.

• Contener al menos un carácter numérico o especial y dos alfabéticos.

• Ser diferente del nombre de login. La primera vez que se accede al sistema la
contraseña empleada será la proporcionada por el administrador del sistema.

Existen diversas formas para terminar la sesión de trabajo en Linux, dependiendo de si


estamos en modo gráfico o de texto. En modo texto:

• Presionar las teclas <ctrl> d

• Escribir el comando exit.

La salida de X Window depende del gestor de ventanas que se esté ejecutando y se


explicará más adelante.
2. Características de los Sistemas Linux

Linux es un Sistema Operativo tipo Unix diseñado para aprovechar al máximo las
capacidades de las computadoras PC basadas en el microprocesador i386 y
posteriores. Es un SO con capacidades de multiprocesamiento, multitarea y
multiusuario. Sin embargo, a diferencia de otros sistemas Unix para PC, usted no tiene
que pagar cuantiosas licencias por el uso de Linux.

2.1 Multitarea

Describe la habilidad de ejecutar, aparentemente al mismo tiempo, numerosos


programas sin obstaculizar la ejecución de cada aplicación. Esto se conoce como
multitarea preferente, porque cada programa tiene garantizada la posibilidad de correr.
Windows no soporta multitarea preferente, sólo la llamada multitarea cooperativa, bajo
la cual los programas corren hasta que ellos mismos permiten la ejecución de otro
programa o no tienen otra que hacer durante ese período.

2.2 Multiusuario

El concepto de que numerosos usuarios pudieran accesar aplicaciones o el potencial


de procesamiento en una sola PC era un mero sueño hace unos cuantos años. Linux
permite que más de una sola persona pueda trabajar en la misma versión de la misma
aplicación de manera simultánea, desde las mismas terminales, o en terminales
separadas.

2.3 Redes y Telecomunicaciones

La superioridad de Linux sobre otros sistemas operativos es evidente en sus utilerías


para redes y comunicaciones. Ningún otro sistema operativo incluye capacidades para
red tan estrechamente acopladas. Linux soporta las siguientes interfaces de red:
ethernet, fddi, token ring, arcnet, X.25, ISDN, líneas seriales síncronas y asíncronas.

2.4 Internet

Con Linux usted puede conectarse a Internet y al vasto mundo de información que
esta red abarca. Correo Electrónico, Listas de Correo, Grupos de Interés, Búsqueda y
Transferencia de Archivos, Gopher, WAIS, y por supuesto, World Wide Web.

2.5 Interconectividad

Usted puede conectar Linux a una red local, y convertirlo en servidor para MS-DOS,
Windows, Windows para Trabajo en Grupo (WfW), Windows 95 y Macintosh por un
costo muy por debajo de otros sistemas comerciales.

2.6 Programación

Linux cuenta con un conjunto poderoso de herramientas para el desarrollo de


programas: C, C++, ObjectiveC, Pascal, Fortran, BASIC, CLISP, SmallTalk, Ada, Perl,
así como depuradores y bibliotecas compartidas de enlace dinámico (DLL).
2.7 Portabilidad

Linux fue diseñado teniendo en cuenta la portabilidad de las aplicaciones. Linux es


compatible con diversos estándares Unix, tales como System V, BSD y los estándares
internacionales IEEE POSIX.1 e IEEE POSIX.2, facilitando el desarrollo de
aplicaciones para múltiples plataformas.

2.8 Ambiente Gráfico

Linux proporciona la capacidad de ejecutar aplicaciones gráficas mediante una red


heterogénea al incorporar la revisión 6 del estándar X11 del MIT, conocido también
simplemente como X-Window. Con el hardware adecuado, las Estaciones de Trabajo
Linux son una alternativa de bajo costo a las Estaciones de Trabajo de alto
rendimiento.

2.9 Poder RISC

Si su organización necesita verdadero poder de cómputo Linux corre en computadoras


basadas en microprocesadores RISC como Alpha AXP, Sparc, PowerPC y MIPS.
¡Ningún otro sistema operativo soporta una gama tan amplia de plataformas.

kernel

kernel (de la raíz germánica Kern, núcleo, hueso) es un software que constituye una
parte fundamental del sistema operativo, y se define como la parte que se ejecuta
en modo privilegiado (conocido también como modo núcleo).1 Es el principal
responsable de facilitar a los distintos programas acceso seguro al hardwarede
la computadora o en forma básica, es el encargado de gestionar recursos, a través de
servicios de llamada al sistema. Como hay muchos programas y el acceso al hardware
es limitado, también se encarga de decidir qué programa podrá hacer uso de un
dispositivo de hardware y durante cuánto tiempo, lo que se conoce como multiplexado.
Acceder al hardware directamente puede ser realmente complejo, por lo que los
núcleos suelen implementar una serie de abstracciones del hardware. Esto permite
esconder la complejidad, y proporciona una interfaz limpia y uniforme al hardware
subyacente, lo que facilita su uso al programador.

Unix

Un núcleo Unix es un programa escrito casi en su totalidad en lenguaje C, con


excepción de una parte del manejo de interrupciones, expresada en el lenguaje
ensamblador del procesador en el que opera. Las funciones del núcleo son permitir la
existencia de un ambiente en el que sea posible atender a varios usuarios y múltiples
tareas en forma concurrente, repartiendo al procesador entre todos ellos, e intentando
mantener en grado óptimo la atención individual.

El núcleo opera como asignador de recursos para cualquier proceso que necesite
hacer uso de las facilidades de cómputo.

 Creación de procesos, asignación de tiempos de atención y sincronización.


 Asignación de la atención del procesador a los procesos que lo requieren.

 Administración de espacio en el sistema de archivos, que incluye: acceso,


protección y administración de usuarios; comunicación entre usuarios y entre
procesos, y manipulación de E/S y administración de periféricos.

 Supervisión de la transmisión de datos entre la memoria principal y los


dispositivos periféricos.

Reside siempre en la memoria principal y tiene el control sobre la computadora, por lo


que ningún otro proceso puede interrumpirlo; sólo pueden llamarlo para que
proporcione algún servicio de los ya mencionados. Un proceso llama al núcleo
mediante módulos especiales conocidos como llamadas al sistema.

Consta de dos partes principales: la sección de control de procesos y la de control de


dispositivos. La primera asigna recursos, programas, procesos y atiende sus
requerimientos de servicio; la segunda, supervisa la transferencia de datos entre la
memoria principal y los dispositivos del ordenador. En términos generales, cada vez
que algún usuario oprime una tecla de una terminal, o que se debe leer o escribir
información del disco magnético, se interrumpe al procesador central y el núcleo se
encarga de efectuar la operación de transferencia.

Shell de Unix

Una Shell de Unix o también shell, es el término usado en informática para referirse a
un intérprete de comandos, el cual consiste en la interfaz de usuario tradicional de los
sistemas operativos basados en Unix y similares como GNU/Linux.

Mediante las instrucciones que aporta el intérprete, el usuario puede comunicarse con
el núcleo y por extensión, ejecutar dichas órdenes, así como herramientas que le
permiten controlar el funcionamiento de la computadora.

Los comandos que aportan los intérpretes, pueden usarse a modo de guion si se
escriben en ficheros ejecutables denominados shell-scripts, de este modo, cuando el
usuario necesita hacer uso de varios comandos o combinados de comandos con
herramientas, escribe en un fichero de texto marcado como ejecutable, las
operaciones que posteriormente, línea por línea, el intérprete traducirá al núcleo para
que las realice. Sin ser un shell estrictamente un lenguaje de programación, al proceso
de crear scripts de shell se le denomina programación shell o en inglés, shell
programming o shell scripting.

En el sentido más genérico del término, shell significa cualquier intérprete que los
usuarios usen para escribir comandos. Su etimología proviene del uso natural de
consolas en computadores funcionando bajo unix antaño, cuando los usuarios
conectaban al computador central, lo hacían mediante consolas, (shells) por las cuales
a través de un intérprete, hacían inicio de sesión y manejaban la computadora
principal. Posteriormente, con la proliferación de los computadores personales y su
filosofía monousuario, un computador por usuario (entiéndase lo contrario de la
filosofía inicial de Unix, un computador, muchos usuarios conectados por terminales),
se desarrolló un software que emulase las características principales de las consolas
físicas, a modo de poder seguir usándolas como clientes en un computador o núcleo
que comprendiera la convención estándar usada para configurar y llevar a cabo tareas
de administración de emergencia con servidores basados en Unix.

Sistema de ventanas X

El Sistema de Ventanas X (en inglés, X Window System) es un software que fue


desarrollado a mediados de los años 1980en el MIT para dotar de una interfaz
gráfica a los sistemas Unix. Este protocolo permite la interacción gráfica en red entre
un usuario y una o más computadoras haciendo transparente la red para éste.
Generalmente se refiere a la versión 11 de este protocolo, X11, el que está en uso
actualmente. X es el encargado de mostrar la información gráfica de forma totalmente
independiente del sistema operativo.

X fue diseñado primariamente para implementar clientes ligeros, donde mucha gente
usaba simultáneamente la capacidad de procesamiento de un mismo computador
trabajando en tiempo compartido. Cada persona usaba un terminal en red que tenía
capacidades limitadas para dibujar la pantalla y aceptar la entrada del usuario. Debido
a la ubicuidad del soporte para el software X en Unix, es usado en los computadores
personales incluso cuando no hay necesidad del tiempo compartido.

El sistema de ventanas X distribuye el procesamiento de aplicaciones especificando


enlaces cliente-servidor. El servidor provee servicios para acceder a la pantalla,
teclado y ratón, mientras que los clientes son las aplicaciones que utilizan estos
recursos para interacción con el usuario. De este modo mientras el servidor se ejecuta
de manera local, las aplicaciones pueden ejecutarse remotamente desde otras
máquinas, proporcionando así el concepto de transparencia de red.

Esquema de las capas de la interfaz gráfica de usuario


PATH

PATH es una variable de entorno de los sistemas operativos POSIX y los sistemas de
Microsoft,en ella se especifican las rutas en las cuales el intérprete de comandos debe
buscar los programas a ejecutar.

Generalmente es mencionada como $PATH, en sistemas POSIX, o %PATH%, en


sistemas de Microsoft, para diferenciarla de la palabra "path" sinónimo de "ruta".

Esta variable debe contener todos los directorios en los que se quiera que el intérprete
busque programas, siendo el orden tomado en cuenta al momento de la búsqueda.
Mientras que en los sistemas POSIX es una lista separada por dos puntos (:) y cada
directorio debe estar de manera explícita; en los sistemas de Microsoft el separador
espunto y coma (;) y no tiene referencia al directorio de trabajo ya que es implícito para
el sistema y es el primer directorio donde el intérprete busca.

En los sistemas POSIX se suele evitar que PATH contenga la referencia al directorio
de trabajo por cuestiones de seguridad.

En Microsoft Windows se complementa con la variable PATHEXT que especifica


las extensiones que deben añadirse a los comandos invocados para encontrar los
programas correspondientes.

Comandos Básicos de Shell (Terminal)

En esta sección se presenta una serie de comandos básicos para trabajar en una shell
de Linux.

man

Proporciona información sobre los comandos u otros programas del entorno Linux
(manual pages). En el caso particular de los comandos de la shell de Linux, dado que
estos suelen tener una gran cantidad de modificadores, lo usual es conocer solo
algunas funcionalidades de los comandos más conocidos y recurrir a las manual
pages del comando cuando se desee más información.

Por más información, ejecutar:

man man

ls

Lista el contenido de un directorio. Si lo usamos sin argumentos, lista el contenido del


directorio actual o corriente.

Por más información:

man ls

more
Filtro que permite desplegar en una terminal el contenido de un archivo de texto de a
una pantalla a la vez.

<COMANDO> | more

El comando more tiene dos usos muy importantes:

 Permite ver el contenido de un archivo:

 more <NOMBRE_ARCHIVO>

 Le da formato a la salida de un comando para visualizarlo por páginas. Esto es muy


útil cuando el resultado en pantalla de un comando tiene más líneas que la terminal.
Por ejemplo:

 ls | more

cd

Cambia el directorio corriente (Change Directory) en que nos encontramos


posicionados. Si se utiliza sin argumentos, cambia al directorio raíz del homedir del
usuario.

Ejemplos:

cd <NOMBRE_DIRECTORIO> Cambia al directorio <NOMBRE_DIRECTORIO>


cd Cambia al directorio homedir del usuario.
cd .. Cambia al directorio padre del actual.
cd - Cambia al directorio previo.

mkdir

Crea entradas de directorios.

mkdir <NOMBRE_DIRECTORIO>

rmdir

Elimina entradas de directorios vacíos. Para eliminar un directorio y todo su contenido,


ver el comando rm más adelante.

rmdir <NOMBRE_DIRECTORIO>

passwd
Cambia la contraseña del usuario. Las contraseñas deben cumplir las condiciones que
se indican en el mismo o en las carteleras.

passwd

rm

Elimina archivos o directorios.

rm <NOMBRE_DE_LOS_ARCHIVOS>

rm -r <NOMBRE_DE_LOS_DIRECTORIOS>

Ejemplos:

rm *.class
rm prueba.txt mi_directorio/prueba2.txt
rm -r mi_directorio

Importante:

Los archivos y directorios eliminados con este comando o el anterior no van a parar a
la papelera de reciclaje, serán eliminados permanentemente.

cp

Copiar archivos o directorios. Para copiar un directorio se debe agregar el modificador


"-r".

cp <ARCHIVOS_ORIGEN> <DESTINO>

cp -r <DIRECTORIOS_ORIGEN> <DESTINO>

Ejemplos:

cp *.txt mi_dir/mi_dir2
cp prueba.txt mi_directorio/prueba2.txt
cp -r mi_directorio mi_directorio_2

mv

Mueve archivos o directorios. La sintaxis de este comado es similar a la del cp, solo
que no es necesario utilizar el modificador "-r".
Este comando es útil a la hora de renombrar archivos o directorios (moviéndolo con el
nombre con el que se lo quiere renombrar) dado que la mayoria de las shell de Linux
no poseen un comando especifico para esto.

Ejemplos:

mv arch01.txt arch02.inf

du

Reporta el espacio de disco utilizado por archivos y directorios (du = disk usage). Este
comando generalmente se utiliza de esta forma:

du -ks <ARCHIVOS_O_DIRECTORIOS>

Con el modificador -k el comando devuelve el resultado en Kilobytes.

Ejemplos:

du -ks .
du -ks mi_directorio/mi_directorio2
du -ks *.java

eject

Extrae el CD-ROM.

mount y umount

Estos dos comandos son necesarios para montar el disquete y el cd-rom y desmontar
el disquete.

mount /media/cdrom
mount /media/floppy
mount /media/usbdisk
umount /media/floppy

exit

Cierra la shell actual.

También podría gustarte