Professional Documents
Culture Documents
Introducción a Linux
El sistema lo forman el núcleo del sistema (kernel) más un gran número de programas /
bibliotecas que hacen posible su utilización. Muchos de estos programas y bibliotecas
han sido posibles gracias al proyecto GNU, por esto mismo, muchos llaman a Linux,
GNU/Linux, para resaltar que el sistema lo forman tanto el núcleo como gran parte del
software producido por el proyecto GNU.
Linux se distribuye bajo la GNU General Public License por lo tanto, el código fuente
tiene que estar siempre accesible y cualquier modificación ó trabajo derivado tiene que
tener esta licencia.
Linux nace sobre la plataforma Intel 80386 que, con su modo protegido, fue el primer
procesador para PC capaz de implementar una multitarea real. En aquella época, la
plataforma PC estaba perfectamente integrada en el mercado, Windows se estaba
empezando a convertir en un entorno muy popular y Unix, que ya tenía unos cuantos
años a sus espaldas, era un sistema operativo usado principalmente en entornos
universitarios y de investigación, donde era dominante. También existían versiones de
Unix para PC (siendo SCO y Xenix sus más claros exponentes) pero su precio era lo
suficientemente elevado como para mantenerlas muy lejos del usuario promedio del PC.
Características
Linux casi siempre ha sido considerado como un sistema operativo, pero esto no es
totalmente cierto. Linux es tan solo el kernel del sistema operativo, es decir, el núcleo
que se encarga de realizar todo el trabajo al controlar de forma directa todos los recursos
y dispositivos del sistema, así como el más importante, el procesador.
El kernel entra en acción justo después de las verificaciones de la BIOS (Basic Input
Output System), y toma el control del sistema, pudiendo llegar a detectar dispositivos
que no fueron detectados por la BIOS. Una vez funcionando, el kernel se encarga de
repartir los ciclos del reloj entre los diferentes procesos concurrentes, asignando a cada
uno de ellos una porción suficiente de memoria y asegurándose de que no interfieran
entre ellos.
Al mismo tiempo que los mantiene protegidos entre sí, también les proporciona la
comunicación necesaria entre ellos, pues gestiona la comunicación entre procesos, que
es uno de los pilares fundamentales en la definición de un sistema Unix. Y, por
supuesto, también se encarga del control a bajo nivel de los dispositivos periféricos,
desde los discos duros hasta los dispositivos móviles como las unidades ZIP, pasando
por los dispositivos de entrada/salida que permiten la interacción con el usuario.
Esto es posiblemente el segundo punto fuerte de Linux, pues le permite acceder a una
amplia gama de programas y utilidades, robustas y completamente depuradas después
de muchos años de uso en plataformas Unix, y cuya migración a Linux requiere de unas
mínimas variaciones en el código en el peor de los casos, ya que internamente no
existen diferencias. Obtenemos la ventaja añadida de que al tratarse normalmente de
programas de código abierto, la migración se facilita enormemente al permitir la
colaboración directa y sin obstáculos entre diferentes grupos de desarrollo.
Distribuciones de Linux
Un terminal es una forma de acceder al sistema sin utilizar la interfaz gráfica, es decir,
realizar todo tipo de tareas en formato texto. La forma de utilizar el sistema de éste
modo es mediante órdenes.
Hasta la aparición de los entornos gráficos para GNU/Linux, la línea de comandos era la
forma más directa de “comunicarse” con el ordenador, de interactuar con el equipo y
con su sistema operativo, ¡y la única! Esto hizo que durante mucho tiempo se
considerara que el manejo de las distribuciones GNU/Linux no era accesible a usuarios
poco experimentados. Actualmente, todas las distribuciones GNU/Linux cuentan con
herramientas gráficas para la gran mayoría de los programas y, por tanto, no se hace
imprescindible utilizar obligatoriamente la consola o Terminal ni acudir a la línea de
comandos para realizar la mayor parte de las tareas que te propongas en el sistema.
Una terminal es algo parecido al Símbolo del sistema de Windows XP. También se
llama frecuentemente línea de órdenes, línea de comandos o shell.
Suele admitir parámetros de entrada, los cuales normalmente se indican tras un guión
simple "-" o doble "--" (sistemas operativos Linux/Unix).
Algo que es imprescindible entender en un terminal son las rutas. Una ruta es un camino
hacia un recurso de nuestra máquina (un fichero o una carpeta), y pueden ser de dos
tipos:
Rutas absolutas. Indican el camino absoluto hacia el recurso, de forma que la máquina
pueda alcanzar el fichero o carpeta sin importar en qué carpeta nos encontremos en el
momento dado.
Rutas relativas. Indican el camino al recurso desde la carpeta en que nos encontramos
en este momento. En una ruta relativa, para referirnos a la carpeta actual lo haremos
como “.” (punto), y para referirnos a la carpeta madre de la actual (la carpeta dentro de
la cual está la nuestra), lo haremos como “..”(dos puntos seguidos).
Hay que tener en cuenta que la estructura de ficheros de Linux se desarrolla entorno a /
(raíz) en lugar del C:\ de Windows.
Todo lo que tecleemos se escribe en el lugar donde hay un barra parpadeante, lo que hay
a la izquierda de la barra es lo que comúnmente se llama prompt, e indica que podemos
empezar a escribir comandos a continuación, y en muchos casos también indica el
nombre de la máquina en la que estamos.
Comando ls
Comando file
El comando file nos dice el tipo de archivo que es algo. El comando file nos va a dar
mucha más información, incluyendo cómo está codificado el texto en caso de ser un
fichero de texto o si se trata de una imagen. La salida del comando no está traducida, así
que veremos su salida en inglés.
Comando pwd
Comando mkdir
Para poder clasificar, lo primero que hay que poder hacer es crear carpetas vacías, y eso
es para lo que sirve el comando mkdir.
Éste comando se ejecuta como “mkdir nombredelacarpeta” y crea una carpeta vacía en
el lugar que ejecutemos el comando. Como en los casos anteriores, también podemos
decirle la ruta absoluta a la carpeta que queremos crear, para lo que tendremos que estar
seguros de que todas las carpetas de la ruta están bien escritas y existen previamente.
Comando rmdir
Igual que rm, pero en este caso elimina un directorio o carpeta. Éste podíamos decir que
es el comando opuesto a mkdir. Su función es borrar carpetas vacías. Sólo funcionará si
las carpetas están completamente vacías
Comando rm
El comando “rm” borra ficheros y carpetas con ficheros. Pero este comando es
extremadamente peligroso, sobre todo, si se ejecuta como usuario “root”, así que
hay que tener extremo cuidado a la hora de utilizarlo, pues puede dar como
resultado el borrado de todos nuestros datos, cosa que salvo rarísimas excepciones,
nunca será lo que queramos.
Comando cp
Comando mv
Funciona igual que el comando anterior, pero moviendo el fichero en lugar de copiarlo.
La forma de ejecutarlo es “mv nombreficheroocarpeta /ruta/donde/situarlo”. Otro
uso típico de este comando es también para renombrar archivos o carpetas.
De igual forma, en ocasiones sólo necesitamos mirar las primeras o las últimas líneas de
un fichero de texto plano muy largo. Para estos casos están los comandos “head” y
“tail”.
El comando “head” muestra las primeras líneas de un fichero (por defecto, las 10
primeras). Se puede ejecutar como “head nombrefichero” o si queremos especificar el
número de líneas que queremos ver, ejecutamos “head nombrefichero -n xx” siendo xx
el número de líneas que queramos ver.
El comando “tail” muestra las últimas líneas de un fichero (por defecto, las 10
últimas). Se ejecuta con “tail nombrefichero”, y como en el caso anterior, también se
puede espeficicar el número de líneas que se quiere ver con la opción “-n” de la forma
“tail nombrefichero -n xx” siendo xx el número de líneas que se quiere ver.
kill Si se os ha colgado una aplicación, podéis cerrarla desde el Terminal. Lo primero
que necesitáis es averiguar su número PID con el comando ps aux. Os aparecerá una
lista con todos los procesos. Una vez tengáis el número del proceso a cerrar, tecleáis kill
y el número en cuestión y se cerrará su ventana.
sudo Todo lo que escribáis después de este comando se ejecutará con los privilegios
del administrador o root, que es el usuario más importante en un entorno Linux. Hay
que ir con cuidado al usarlo, ya que no tiene límites de acceso y una mala utilización
puede ocasionar problemas.
Si en lugar de sudo escribimos gksudo, se nos pedirá la contraseña de root con una
ventana emergente en Gnome, y lo mismo con kdesudo en KDE.
Wine directamente incorpora en Linux los recursos que los programas de Windows
necesitan para funcionar, es decir las API. Esto permite que el programa corra a
velocidad nativa del ordenador en el que se ejecuta, porque no hay ningún proceso de
emulación por medio. Además no existe la necesidad de tener ningún Windows, ni
partición Windows, ni nada del sistema operativo de Microsoft en el ordenador porque
Wine provee al programa de todo lo que necesita.