Bienvenido a Computer Facil
Ya somos 68420 miembros registrados, ¡ Únete tu también !
  Crea tu cuenta Computer Facil Inicio     Foros Foros     Foros Antiguos     Descargas Descargas     VideoJuegos VideoJuegos     Tutoriales Tutoriales de Informática Traducción a Inglés    


  Personal
 Agregar a Favoritos
 Tu Página de Inicio
 Contacta al Webmaster
 

  Secciones



    Inicio
    Tu cuenta
    Envia hoy tu noticia
    Escríbenos
    Recomiendanos
    Firma hoy el Libro de Visitas!

    Artículos y Manuales
    Trucos Windows
    FAQ

    Foros de Informatica
    Foros de Ocio
    Chat

    Descargas

    Todo MSN


    Tiendas Online, Viajes

    AbandonWare
    Juegos Flash
    Trucos de Juegos
    Ajedrez

    Galería de Fotos
    Famosa del día
    Famoso del día

    Enlaces Web Clasificados
    Ranking de Webs
    Servicios Gratuitos
    Envía Tarjetas o Postales

    Elinks ed2k
    Manual de Emule
    Emule FAQ


    Amor y Amistad

    Todo Móvil
    Todo Móvil 2
    Juegos Móvil

    Humor

    Premios Web
    Enciclopedia Informática
    Temas
    Archivo de Noticias
    Encuestas
    Estadísticas
    Top 10
    Buscador Interno
    Webs Afiliadas

  Recomendados

  Famosa del dí­a
Fotos de Famosas

  Juegos

  Prensa de Hoy

Selecciona el periódico:

  Radio Online
Selecciona una emisora de radio para escucharla en directo:

  Horóscopo
Selecciona tu signo del zodíaco para ver la predicción de hoy:

  Top Posteadores
      Forista del Mes:
gabyrossi


      dejavi 
    Mensajes: 
    4728 

      arag 
    Mensajes: 
    2696 

      agm 
    Mensajes: 
    2566 

      gabyrossi 
    Mensajes: 
    1989 

      TvK10 
    Mensajes: 
    1398 

Entrega 8. Enlaces y tareas
CURSO DESDE 0 DE GNU/LINUX. Versión 2




Entrega 8. Enlaces y tareas


                        %touch me

			touch: cannot touch me: permission denied

¿Para qué sirven los enlaces?

Los enlaces sirven para dar a un fichero múltiples nombres (no confundáis los que venís del mundo de Windows con accesos directos). Internamente para el sistema los ficheros son identificados por un número que se llama inodo, lo que quiere decir que el nombre de un fichero está asociado a un inodo que es lo que usa realmente el sistema operativo, el cual es el único identificador para el sistema. Con esto podríamos decir que simplemente los nombres esos que vemos al hacer un 'ls' son enlaces a inodos. Y como podréis deducir un directorio no es más que una lista de inodos con sus respectivos nombres de ficheros.

Enlaces duros.

Un enlace duro consiste en asignar un nombre de fichero a un inodo, con lo cual podemos referenciar a un mismo fichero con varios nombres y un cambio en uno de ellos implica un cambio en el resto ya que se trata del mismo fichero realmente. Para esto usamos el comando:

ln [Opciones] Origen Destino

Donde el origen es el nombre del fichero del cual queremos hacer un enlace duro, y para ver el número de inodo usaremos la opción '-i' de 'ls'. Para que todo quede claro un ejemplo:


[matados2k@fortaleza curso]$ ls -i

1264303 hola_holita 1264304 lista_compra 1264305 nueva_lista 1264193 perro

[matados2k@fortaleza curso]$ ln lista_compra lista2

[matados2k@fortaleza curso]$ ls -i lista_compra lista2

1264304 lista2 1264304 lista_compra

[matados2k@fortaleza curso]$

 

Lo primero que hacemos es mirar todos los inodos de los ficheros contenidos en nuestro directorio, creamos un enlace a lista_compra llamado lista2 y comprobamos que efectivamente tienen el mismo inodo.

Lo mismo ya os lo estáis preguntando: ¿qué pasa si borro uno de ellos? Si os acordáis de la entrega 3 hablábamos que una de las cosas que nos mostraba 'ls -l' es el número de enlaces de un fichero, pues si borras uno de ellos simplemente el contador disminuye en 1, y cuando no hay más enlaces es borrado realmente. Veámoslo mejor con un ejemplo:


[matados2k@fortaleza curso]$ ls -l

total 744

-rwxrwxrwx 1 matados2k matados2k 30 jun 4 16:07 hola_holita

-rw-rw-r-- 2 matados2k matados2k 75 jun 4 16:27 lista2

-rw-rw-r-- 2 matados2k matados2k 75 jun 4 16:27 lista_compra

-rw-rw-r-- 1 matados2k matados2k 75 jun 4 18:10 nueva_lista

-rw-r--r-- 1 matados2k matados2k 740199 may 19 17:47 perro

[matados2k@fortaleza curso]$

[matados2k@fortaleza curso]$ rm lista2

[matados2k@fortaleza curso]$ ls -l

total 740

-rwxrwxrwx 1 matados2k matados2k 30 jun 4 16:07 hola_holita

-rw-rw-r-- 1 matados2k matados2k 75 jun 4 16:27 lista_compra

-rw-rw-r-- 1 matados2k matados2k 75 jun 4 18:10 nueva_lista

-rw-r--r-- 1 matados2k matados2k 740199 may 19 17:47 perro

[matados2k@fortaleza curso]$

Podemos observar con el primer 'ls -l' que lista2 y lista_compra tienen ambos un 2 ya que al inodo al que apuntan tiene 2 enlaces, y como ambos apuntan al mismo pues ambos muestran que tienen 2. Y al borrar uno de ellos simplemente se elimina el enlace y disminuye el contador. Fácil, ¿verdad?

Hay que resaltar que los enlaces duros tienen una limitación y es que sólo se pueden hacer enlaces de este tipo en un mismo sistema de ficheros. Con esto quiero decir que si tienes por ejemplo dos particiones no puedes hacer enlaces duros entre particiones. Por ejemplo, yo tengo varias particiones para distintas partes del árbol de ficheros como son '/', '/home' y '/usr' todas ellas de tipo Ext3. Pues bien aquí un ejemplo de un enlace duro entre particiones:


[matados2k@fortaleza curso]$ ln lista_compra /etc/lista_chula

ln: creando el enlace duro `/etc/lista_chula' a `lista_compra': Enlace cruzado entre dispositivos no permitido

[matados2k@fortaleza curso]$

Otros inconvenientes son que no se puede hacer un enlace a un fichero que no existe, y es difícil saber a qué fichero apunta un enlace. Pero para esto no se vayan todavía porque aún hay más ...

Enlaces simbólicos.

Éstos son otros tipo de enlaces bastante diferentes y sin las limitaciones anteriormente dichas. Este tipo de enlaces permite dar a un fichero el nombre de otro, pero no enlaza el fichero con un inodo. Lo que hace en este caso es realmente apuntar al nombre del fichero con quien enlaza, por lo cual tendrán inodos diferentes y si uno se elimina no se elimina el otro (esto es ya más parecido a lo que es un acceso directo de Windows, aunque no lo es para nada).

Para realizar este tipo de enlaces usamos la opción '-s' de 'ln' y para entenderlo mejor como siempre un ejemplo:


[matados2k@fortaleza curso]$ ls -li

total 740

1264303 -rwxrwxrwx 1 matados2k matados2k 30 jun 4 16:07 hola_holita

1264304 -rw-rw-r-- 1 matados2k matados2k 75 jun 4 16:27 lista_compra

1264305 -rw-rw-r-- 1 matados2k matados2k 75 jun 4 18:10 nueva_lista

1264193 -rw-r--r-- 1 matados2k matados2k 740199 may 19 17:47 perro

[matados2k@fortaleza curso]$ ln -s lista_compra lista2

[matados2k@fortaleza curso]$ ls -li

total 740

1264303 -rwxrwxrwx 1 matados2k matados2k 30 jun 4 16:07 hola_holita

1264331 lrwxrwxrwx 1 matados2k matados2k 12 jun 22 16:56 lista2 -> lista_compra

1264304 -rw-rw-r-- 1 matados2k matados2k 75 jun 4 16:27 lista_compra

1264305 -rw-rw-r-- 1 matados2k matados2k 75 jun 4 18:10 nueva_lista

1264193 -rw-r--r-- 1 matados2k matados2k 740199 may 19 17:47 perro

[matados2k@fortaleza curso]$

Podemos ver en este ejemplo cómo los inodos son totalmente distintos, y cómo lista2 es un enlace a lista_compra de una manera muy sencilla. Y para ver que lo anteriormente dicho es cierto eliminaremos lista_compra y quedará lista2.


[matados2k@fortaleza curso]$ rm lista_compra

[matados2k@fortaleza curso]$ ls -l

total 736

-rwxrwxrwx 1 matados2k matados2k 30 jun 4 16:07 hola_holita

lrwxrwxrwx 1 matados2k matados2k 12 jun 22 16:56 lista2 -> lista_compra

-rw-rw-r-- 1 matados2k matados2k 75 jun 4 18:10 nueva_lista

-rw-r--r-- 1 matados2k matados2k 740199 may 19 17:47 perro

[matados2k@fortaleza curso]$

¿Y adivinan ya qué pasa si hacemos 'cat' a lista2, o hace falta un ejemplo? ;)

Control de tareas.

El control de tareas es una utilidad incluida en la mayoría de los intérpretes de comandos, y permiten el control del multitud de tareas o comandos a la vez en un solo terminal.

Los procesos pueden estar en Primer Plano o en Segundo Plano. En primer plano solamente puede haber un proceso a la vez y ese es precisamente el que vemos, en otras palabras el que interactúa con nosotros dándonos una salida o pidiendo datos, el que recibe las órdenes del teclado. En cambio el proceso en segundo plano no recibe señal (normalmente) desde el teclado y se ejecuta en silencio.

Si un programa tarda mucho en terminar y no muestra nada interesante por pantalla lo más lógico sería ejecutarlo en segundo plano, como pudiera ser la compresión de un archivo enorme. Si lo hacemos así podremos seguir usando el ordenador para hacer cualquier otra cosa.

Un proceso puede ser suspendido (dormido), lo que indica que temporalmente estará parado y más tarde podríamos reanudarlo para cuando lo necesitemos.

O bien cuando ya no nos interese un proceso podremos interrumpirlo y acabar con él.

Despedida.

Ya que se acaba el espacio de esta semana, la próxima continuaremos con esto viendo cómo pasamos tareas de primer a segundo plano, eliminación y suspensión de proceso y su puesta en marcha de nuevo. Así que no olviden “Mineralizarse y Vitaminarse” como ya decía super ratón en nuestra infancia ;) Hasta la próxima.

Agradecimientos: · Revisión del documento: karuchi (Carolina García).

Página oficial y dominio de mi propiedad http://matados2k.es
Matados'2k Usuario y moderador de foro.noticias3d.com
Matados'2k Usuario y moderador de www.sinuh.org
matados2k (arroba) gmail (punto) com

Este documento está sometido a la licencia de creative commons en su variante “Reconocimiento-NoComercial-SinObraDerivada 2.1 España” . Es de agradecer que se comunique al autor el uso de este documento en otro medio y se debe incluir de forma obligatoria este recuadro y los agradecimientos.










Copyright © por Computer Facil ,Derechos Reservados.

Publicado en: 2007-01-26 (4458 Lecturas)

[ Volver Atrás ]
Content ©

Foros de Informatica  Foros   Foros  Todos los Foros  Ofertas PCs   Ofertas Pcs  Venta Portatiles  Informatica Oferta   Descargas Web  Computer Hoy  Foros Posicionamiento Web   Consultoria de Marketing Online  Descargas Web  Emoticonos Animados

Contacto -- (CC) 2004-2007 ComputerFacil.com . Algunos derechos reservados. Aviso Legal.