LABORATORIO 01:INTRODUCCION AL SISTEMA OPERATIVO LINUX


1.1 Introducción
1.2 Kernel
1.3 Estructura de directorios
1.4 Intérprete de Comandos
1.5 Permisos
1.6 Comandos Básicos
1.7 Práctica

1.1 Introducción

LINUX es un sistema operativo desarrollado bajo la filosofía de código abierto, es decir que cualquier persona puede reconfigurar y programar el núcleo (kernel). Linux posee los mejores perfiles característicos para un sistema operativo, es multiproceso, es decir que puede funcionar en equipos con múltiples procesadores; multiusuario, pues permite que un equipo pueda ser compartido por varios usuarios, cada uno con un perfil y restricciones específicas; es multitarea, porque el usuario puede trabajar en varias aplicaciones simultáneamente y contiene prácticamente todos los protocolos para la comunicación de redes.

El entorno de Linux tiene algunas modificaciones generadas a partir de las denominadas distribuciones, que son una colección de software libre y a veces software propietario, utilizando el Kernel de Linux que han desarrollado algunas empresas.

Algunos ejemplos de distribuciones de Linux son:

* Debian y sus distribuciones :Knoppix, Gnoppix, Morphix, LinEx, Guadalinex...
* Gentoo
* Lindows
* Mandrake
* Red Hat
* SuSE
* Tomsrtbt: Linux en un disquete
* Xandros

La mascota de Linux es un pingüino llamado Tux, creado por Larry Ewing.

Figura 1.1 El pingüino Tux

1.2 El Kernel

El kernel (también conocido como núcleo) es aquella parte de un sistema operativo que interactúa de forma directa con el hardware de una máquina. Entre las funciones principales del kernel se encuentran:

.

El software por su parte puede comunicarse con el kernel por medio de llamadas al sistema, las cuales le indican al kernel que realice tareas como abrir y escribir un archivo, ejecutar un programa, finalizar un proceso u obtener la fecha y hora del sistema.

1.3 Estructura de directorios

Para Linux, los directorios más allá del concepto de carpeta destinada a almacenar archivos, son un archivo mas que posee enlaces a otros archivos. Cuando se listan los archivos, generalmente, los directorios serán desplegados en color azul.

A continuación se describe la estructura de directorios más común del sistema operativo Linux:

/ Directorio raiz. Donde comienza el árbol de directorios

/boot: Mantiene el kernel e información indispensable para el arranque del sistema.

/bin: Mantiene unos pocos programas que estarán disponibles incluso en los modos de ejecución más restringidos (e.g. bash, cat, ls, login, ps).

/sbin: Mantiene programas disponibles sólo para el administrador incluso en los modos de ejecución más restringidos (e.g fsck, getty, halt).

/usr: Programas accequibles a usuarios finales y datos de estos programas que no requieren ser modificados (datos de sólo lectura). Algunos de sus subdirectorios son:

/lib: Librerías de funciones comunes a varios programas (algunas como libc indispensables para todos).

/usr/X11R6: El sistema X-Window, versión 11 distribución 6.

/local: Otros programas y datos compilados por el administrador i.e no provienen de paquetes Debian. En algunos sistemas otros programas se ubican en /opt.

/mnt: Directorio para montar disquettes, CD-ROMs y otros sistemas de archivos o dispositivos.

/proc: Diversos canales de comunicación con algunos programas (por ejemplo con el kernel).

/lib: Librerías indispensables y módulos (especialmente requeridas durante el arranque del sistema).

/etc: Archivos de configuración de diversos programas.

/dev: Abstracciones a los dispositivos conectados (o que podrían conectarse) al computador.

/home: Mantiene información de los usuarios del sistema.

/root: Mantiene información del administrador del sistema.

/tmp: Archivos temporales creados por algunos programas, que serán borrados por el sistema operativo durante el arranque.

/var: En este directorio los programas que lo requieran pueden mantener archivos que deban modificarse frecuentemente. Algunos de sus subdirectorios son: mail donde se mantienen colas de correo de cada usuario, log que mantiene bitácoras, run con archivos que mantienen los números de los procesos iniciados al arrancar el sistema, spool colas de impresión y de otros programas, tmp archivos temporales (más persistente que /tmp).

Para la visualización de archivos y directorios generalmente se usa un Administrador de Archivos, que es un programa que provee acceso a archivos y facilita el realizar operaciones con ellos, como copiar, mover o eliminar archivos. En Linux existen gestores de archivos como Midnight Commander (Interfaz de Símbolos); Nautilus (gestor de archivos del proyecto GNOME) y Konqueror (gestor de archivos del proyecto KDE).

Empleando el administrador de archivos, verá que puede organizar los nombres de sus archivos en directorios. Puede mover un archivo de un directorio a otro seleccionándolo con el puntero del ratón y arrastrándolo, es decir moviendo el ratón manteniendo presionado el botón izquierdo; arrastrando directorios o nombres de archivos creará nuevos iconos. Puede copiar archivos de la misma forma como los mueve pero manteniendo presionada la tecla Control, o alternativamente puede emplear opciones de los menús ---por ejemplo la opción "Copiar" y posteriormente la opción "Pegar". Puede borrar un nombre de archivo o un directorio seleccionándolo y presionando la tecla Supr (o Del si su teclado es en inglés) o alternativamente después de seleccionar puede escoger una opción apropiada de un menú ---por ejemplo "Cortar". Para renombrar un archivo o un directorio después de seleccionarlo presione nuevamente el botón izquierdo o alternativamente busque la opción "Renombrar" entre los menús del administrador de archivos o emplee el botón derecho una vez el puntero esté sobre el archivo. Al emplear el administrador de archivo descubrirá que sólo puede escribir o leer de ciertos directorios, esto ocurre por un sistema de permisos que se explicará más adelante, por lo pronto basta que sepa que su directorio personal (donde usted tiene permiso para leer, escribir y cambiar permisos) es un directorio dentro del directorio /home, es el directorio cuyo nombre es su login ---el nombre completo de su directorio es entonces de la forma /home/sulogin.

1.4 Intérprete de Comandos

Al abrir una ventana de Terminal o de intérprete de comandos siempre estará ubicado en un directorio llamado directorio de trabajo y que cuando inicie una sesión corresponderá a su directorio personal. Puede examinar su directorio de trabajo con el comando pwd, puede emplear el comando cd para cambiarse de un directorio a otro y puede examinar el contenido de un directorio con el comando ls. Por ejemplo el comando cd / lo ubicara en el directorio raiz, si teclea entonces pwd verá /, al teclar ls verá algo como:

bin cdrom etc home lib mnt root tmp var
boot dev floppy initrd lost+found proc sbin usr vmlinuz

que corresponde al contenido del directorio raíz --en este caso sólo contiene directorios. Si teclea cd home pasará al directorio home ---también puede pasar a ese directorio con cd /home.

 

1.5 Permisos

Para brindar algo de privacidad y protección cada archivo o directorio tiene asociados permisos diferentes para el dueño, para el grupo y para los demás usuarios. En el caso de archivos los permisos que pueden darse o quitarse son: (r) lectura, (w) escritura y (x) ejecución. En el caso de directorios los permisos son: (r) para listar los archivos, (w) para escribir, crear o borrar archivos y (x) para acceder a archivos del directorio. 

Desde un administrador de archivos, puede ver los permisos de un archivo con el botón derecho del mouse cuando el puntero está sobre el archivo, escogiendo la opción apropiada del menú que aparece. Desde un interprete de comandos puede emplear el comando ls con la opción -l. Un ejemplo del resultado de este comando se presenta a continuación:

-rw-r--r--     1 nediaz Docentes 22016 Jul 29 16:07 2004-02 Horario Semanal.xls
-rw-r--r--     1 nediaz Docentes 38194 Jul 30 09:23 Contenidos.zip
drwxr-xr-x 5 nediaz Docentes 4096 Aug 1 20:06 web

La primera línea muestra un archivo (el guión inicial lo indica), la segunda línea muestra un archivo compreso, se identifica porque se presenta en color rojo y la tercera línea muestra un directorio que se identifica por la d inicial. El directorio se llama web y contiene 5 archivos o directorios, fué modificado por última vez el 1 de Agosto de este año, el dueño es nediaz, pertenece al grupo Docentes, el tamaño de 4096 Bytes no corresponde con el tamaño real del directorio (el valor mostrado para los archivos si es el real). En cuanto a permisos el contenido del directorio web, puede ser leído, modificado y ejecutado por el propietario (nediaz), el grupo tiene permiso de lectura y ejecución sobre el directorio, al igual que los demás usuarios.

Los permisos de un archivo pueden ser modificados por el dueño o por el administrador del sistema con el comando chmod que espera dos parámetros: cambio por realizar al permiso y nombre del archivo por cambiar. Los permisos se pueden especificar en octal o con una o más letras para identificar al usuario (u para el usuario, g para el grupo, o para los demás usuarios y a para todos), un +, un - o un = y después letras para identificar los permisos (r, w o x). Por ejemplo:

chmod u=rwx,g=rx,o= Contenidos.zip

Cambia permisos del archivo Contenidos.zip, el usuario puede leer, ejecutar y escribir, el grupo puede leer y ejecutar mientras que los demás usuarios no tienen permisos.

El dueño de un archivo pueden ser modificados sólo por el administrador del sistema con el programa chown.

 

1.6 Comandos Básicos

A continuación se listan algunos de los comandos básicos más comunes del sistema operativo Linux.

En la tabla que sigue se muestran los operadores aritméticos que se utilizan más fecuentemente.

Tabla 1.1 Comandos Básicos sistema operativo Linux

Comando
Descripción
Ejemplo
ls
Muestra el contenido de un directorio
  
ls –la
Muestra el contenido de forma detallada
 
cd <nombre_directorio>
Cambia de directorio.
 
cd /
Cambia de directorio al raiz /
 
clear
Borra el contenido de la pantalla.
 
mkdir <nombre_directorio>
Crea un directorio.
mkdir /pepe
Crea el directorio pepe
rmdir <nombre_directorio>
Borra un directorio vacio
rmdir /pepe
Borra un directorio pepe que está vacio.
pwd
Muestra el directorio en que nos encontramos
 
cat
Muestra el contenido de un archivo
cat texto.txt
Muestra el contenido de texto.txt
login
Solicita nombre de usuario y password
 
logout
Sale de una sesión y hace un login
 
cp
Copia archivos indicando el origen y el destino
cp /texto.txt /pepe/
Copia el archivo texto.txt al directorio /pepe
rm
Borra archivos
rm texto.txt
Borra el archivo texto.txt
mv
Mueve archivos indicando el origen y el destino
 
find
Busca archivos ó directorios
 
|more
Muestra la información de forma paginada
 
mount
Monta discos ó unidades para ser utilizador
mount /dev/cdrom /mnt/cdrom
Monta el CD en e l directorio /mnt/cdrom/
umount
Desmonta discos ó unidades
umount /dev/cdrom
Desmonta la unidad de CD-ROM.
adduser <usuario>
Crea un nuevo usuario
adduser Catalina
Crea un nuevo usuario Catalina
passwd <usuario>

Establece password a un usuario
passwd Catalina
Establece password al usuario Catalina.
chmod abc <file>

Establecer ó quitar permisos a los ficheros
 
df <param>

Muestra el espacio utilizado en discos
 
man <nombre_comando>

Muestra la página de ayuda del comando nombre_comando
man cp
Muestra la ayuda para el comando cp
shutdown <param>

Reinicia o apaga el sistema
 

 

 

1.7 Práctica

Prepare una hoja con sus datos básicos (Nombre(s), Código(s), Fecha), en ella registre la respuesta a cada uno de los puntos que se citan a continuación.

  1. Recorra la terminal de Ventanas X y explore su entorno. Escriba mínimo tres diferencias y tres puntos en común al entorno Windows.
  2. Ingrese a una terminal de línea de comando y por medio de los comandos cd y dir acceda hasta el directorio /bin, registre los pasos necesarios y mínimo cinco de los comandos que encuentre en el directorio /bin.
  3. Use el comando man:
  1. En su respectiva carpeta /home/sistemas cree un directorio (ej. /home/sistemas/Catalina) y copie en ella varios archivos de otros directorios. ¿Es posible crear directorios anidados?. Registre en la hoja los comandos que utilizó.
  2. Interprete lo que significa cada uno de los siguientes permisos:
  1. Dele permisos de lectura, escritura y ejecución a todos los usuarios para los archivos del punto 4. Registre en la hoja los comandos necesarios para realizarlo.
  2. Empleando el editor vi, construya un archivo denominado su_nombre.su_apellido y escriba en él la síntesis de ésta práctica y su impresión particular acerca del sistema operativo.
  3. Monte su diskette y copie los archivos que ha trabajado en esta práctica, si es necesario formatearlo, ¿cómo lo haría?

INGENIERO NESTOR DIAZ
FIET - UNICAUCA
2004