Está en la página 1de 20

1

INTRODUCCIN A LINUX


1. UN POCO DE HISTORIA

Linux es un kernel (un ncleo de un sistema operativo) creado por Linus Torwalds.
Naci en Finlandia el 28 de Dic 1969 y estudi en la universidad de Helsinki.
Desarroll Linux porque deseaba disponer de un SO Unix en su PC.

Linus T. quiso compartir su cdigo para que cualquiera pudiera usarlo y contribuir
a su desarrollo. Dado que en GNU ya haban desarrollado bastantes herramientas
para Unix con la misma filosofa de software libre pronto se consigui un SO
Linux/GNU totalmente libre. Dos de las herramientas ms importantes aportadas
por GNU fueron el intrprete de comandos, y el compilador de C.

Linux es un SO libre, tipo Unix y por lo tanto sus conceptos ms bsicos son
comunes a los que incorpora cualquier sistema tipo Unix y resultan bastante
distintos de otros conceptos que forman parte de la cultura microinformtica
fundamentalmente de Microsoft.

Se trata de un sistema operativo multi-usuario, multi-tarea y
multiplataforma.

Existen escritorios grficos que permiten hacer bastantes cosas de forma intuitiva.
En Linux tenemos por ejemplo KDE o GNOME que permiten usar los programas de
forma mucho ms amistosa e intuitiva. Sin embargo la amistosidad tiene un precio.
Los entornos intuitivos no permiten hacer cualquier cosa y consumen muchos
recursos de CPU y memoria. En Linux estos entornos son una opcin no una
obligacin.

Linux no fue concebido como sistema monousuario. Solo una recomendacin muy
bsica. Tener en el ordenador como mnimo dos usuarios.
Uno sera el superusuario 'root' con capacidad ilimitada para lo
bueno y para lo malo y
Otro, su usuario de trabajo normal.

La razn es que una equivocacin cometida desde un usuario normal solo puede
tener malas consecuencias para el rea de trabajo de ese usuario. Por el contrario
una equivocacin desde 'root' puede destruir toda la informacin de su sistema.

2
2. SISTEMAS DE ARCHIVOS EN LINUX
Introduccin

Si vienes del mundo de Windows lo primero que te sorprender es que no est la
unidad C:. La distribucin de los discos y particiones en Linux es diferente. Ya en la
instalacin te puedes dar cuenta cmo se nombran los discos en Linux:
El primer disco duro es /dev/hda (HardDisk ideA)
El segundo disco duro es /dev/hdb (HardDisk ideB)
El disco tendr una o varias particiones, as las del primer disco duro (/dev/hda)
sern /dev/hda1, /dev/hda2, ... stas tiene el equivalente a lo que en Windows se
llama C:, D:, ...etc.
En Linux todo es un archivo, y cuando digo todo es todo. Desde los archivos de
datos hasta las particiones de los discos pasando por el ratn y la tarjeta de sonido.
Los directorios tambin son archivos. Existe un directorio raiz (/) del que cuelga
todo. Los dispositivos cuelgan del directorio /dev.
Algunos de los directorios ms interesantes:
/: Raz.
/usr: Aqu se encuentra la gran mayora de los archivos existentes en un
sistema Linux, tales como documentacin, casi la totalidad de los comandos de
usuario, juegos, libreras, etc.
/bin: Aqu estn los comandos que pueden usar todos los usuarios (incluido el
administrador o root).
/sbin: Aqu estn los comandos que slo puede usar el administrador o root.
/dev: Ah estn todos los dispositivos de nuestra mquina.
/home: Lugar donde se almacenan las cuentas de usuarios.
/lib: Enlaces a las libreras que se necesitan para el sistema.
/var: Contiene informacin variable, como por ejemplo los logs del sistema
(/var/log), correo local, etc.
/tmp: Directorio temporal.
/etc: Configuracin global de los programas.
/root: Cuenta del administrador.
/boot: Aqu est todo lo necesario para arrancar el sistema.
/media: Punto de montaje para sistemas de archivos montados localmente.
3
/mnt: Antiguo punto de montaje para sistemas de archivos montados
localmente. Hoy en da est en desuso y se conserva por razones histricas.
/proc: Sistema de archivos virtual de informacin de procesos y del kernel.

Sistemas de archivos en linux

Particionar un disco duro es realizar una divisin en l de modo que, a efectos
prcticos, el sistema operativo crea que tienes varios discos duros, cuando en
realidad slo hay un nico disco fsico dividido en varias partes. De este modo, se
pueden modificar o borrar particiones sin afectar a los dems datos del disco.
Las particiones bsicas se llaman primarias y puede haber a lo sumo 4. Esto puede
ser suficiente para nuestros intereses. Como a veces no es as, se crearon las
particiones extendidas que pueden albergar otras particiones dentro, llamadas
lgicas.
Los sistemas de archivos indican el modo en que se gestionan los archivos dentro
de las particiones. Segn su complejidad tienen caractersticas como previsin de
apagones, posibilidad de recuperar datos, indexacin para bsquedas rpidas,
reduccin de la fragmentacin para agilizar la lectura de los datos, etc. Hay varios
tipos, normalmente ligados a sistemas operativos concretos. A continuacin se
listan los ms representativos:
fat32 o vfat: Es el sistema de archivos tradicional de MS-DOS y las primeras
versiones de Windows. Por esta razn, es considerado como un sistema
universal, aunque padece de una gran fragmentacin y es un poco inestable.
ntfs: Es el nuevo sistema de Windows, usado a partir del 2000 y el XP. Es
muy estable. El problema es que es privativo, con lo cual otros sistemas
operativos no pueden acceder a l de manera transparente. Desde Linux
slo se recomienda la lectura, siendo la escritura en estas particiones un
poco arriesgada.
ext2: Hasta hace poco era el sistema estndar de Linux. Tiene una
fragmentacin bajsima, aunque es un poco lento manejando archivos de
gran tamao.

4
ext3:
Es la versin mejorada de ext2, con previsin de prdida de datos
por fallos del disco o apagones.
En contraprestacin, es totalmente imposible recuperar datos
borrados.
Es compatible con el sistema de archivos ext2.
La migracin de ext2 a ext3 es muy sencilla y se pueden aprovechar
las ventajas de un slido sistema de archivos con JOURNALING sin
tener que volver a dar formato al sistema.
Actualmente es el ms difundido dentro de la comunidad GNU/Linux
y considerado el estndar de facto.
Permite escribir datos ms de una vez y su velocidad es mayor, ya
que los journals de ext3 optimizan el movimiento de los cabezales de
los discos duros.
ext4: Es un sistema de archivos con registro por diario (en ingls
Journaling), anunciado el 10 de octubre de 2006, como una mejora
compatible de ext3. La principal novedad en Ext4 es Extent, o la capacidad
de reservar un rea contigua para un archivo; esto puede reducir y hasta
eliminar completamente la fragmentacin de archivos.

ReiserFS: Es el sistema de archivos de ltima generacin para Linux.
Organiza los archivos de tal modo que se agilizan mucho las operaciones
con stos. El problema de ser tan actual es que muchas herramientas (por
ejemplo, para recuperar datos) no lo soportan.

swap: Es el sistema de archivos para la particin de intercambio de Linux.
Todos los sistemas Linux necesitan una particin de este tipo para cargar
los programas y no saturar la memoria RAM cuando se excede su capacidad.
Es usado cuando la cantidad de memoria fsica (RAM) no es suficiente. Si el
sistema necesita ms memoria y la memoria fsica est llena, las pginas
inactivas de la memoria se mueven al espacio swap. Mientras que el espacio
swap puede ser de ayuda para los ordenadores.

5
Journaling en linux
Con la ampliacin de la capacidad de los discos, la recuperacin de la consistencia
del sistema de fichero se ha convertido en una tarea que requiere mucho tiempo,
por lo que crea problemas serios de disponibilidad de las mquinas afectadas. Esta
es la raz
transacciones y , y as hayan aparecido los
sistemas de ficheros con JOURNALING.
Un sistema con journaling es un sistema de ficheros tolerante
-
(datos que describen otros datos. El concepto de metadatos es
anlogo al uso de ndices para localizar objetos en vez de datos. Por ejemplo, e



es u


grabar previament -

actualizacin de los registros haya sido completada.




-
-datos que han
sido cambiadas recientemente.
Ejemplo: Por ejemplo, cuando se apaga mal nuestra pc, antes, los archivos podan
quedar "corruptos", pero ahora con estos "nuevos" sistemas, no se si es 100%
seguro, pero esto no sucede ya que, cuando se apaga mal nuestro pc, las
transacciones al disco que no fueron completadas, fueron registradas
anteriormente en el "journal", y al reiniciar la mquina estas son realizadas, por lo
tanto el sistema de archivos se "sincroniza" de vuelta sin perder datos. En otros
sistemas de archivos, si sucediera esto, se podan perder muchos datos.

6
Nombre de las particiones y dispositivos en linux
Vamos a ver los nombres que tienen asignados las diferentes particiones en Linux :
Disqueteras
Primera disquetera: /dev/fd0
Segunda disquetera: /dev/fd1
Discos duros (en general: /dev/hdx#, donde x es el disco y # es la particin)
1. Primer disco duro: (todo el disco) /dev/hda
1.1. Particiones primarias
* Primera particin primaria: /dev/hda1
* Segunda particin primaria: /dev/hda2
* Tercera particin primaria: /dev/hda3
* Cuarta particin primaria: /dev/hda4
1.2. Particiones lgicas
* Primera particin lgica: /dev/hda5
* Segunda particin lgica: /dev/hda6
* Sucesivamente: /dev/hda#
2. Segundo disco duro: (todo el disco) /dev/hdb
2.1. Particiones primarias
* Primera particin primaria: /dev/hdb1
* Segunda particin primaria: /dev/hdb2
* Tercera particin primaria: /dev/hdb3
* Cuarta particin primaria: /dev/hdb4
2.2. Particiones lgicas
* Primera particin lgica: /dev/hdb5
* Segunda particin lgica: /dev/hdb6
* Sucesivamente: /dev/hdb#
7
PROCESO DE ARRANQUE EN LINUX

El proceso de arranque en Linux es la forma en la cual los sistemas
operativos basados en Linux se inicializan.

Todo el proceso de arranque, se lleva a cabo en cuatro etapas
caracterizadas por la entidad que en ese momento tiene el control
sobre la CPU:

1. al inicio solo la BIOS tiene control,

2. despus se le pasar el control al cargador de arranque,

3. ms adelante el control pasa al propio kernel Linux, y

4. en la ltima etapa ser cuando tengamos en memoria los
programas de usuario conviviendo junto con el propio sistema
operativo, y sern ellos quienes tengan el control del CPU.

La etapa del cargador de arranque no es totalmente necesaria, ya que
una determinada BIOS puede cargar y pasar el control a Linux sin hacer
uso del cargador de arranque, aunque es cierto que usar un cargador
de arranque facilita al usuario la forma en que el kernel ser cargado.

2.1 La BIOS

Al encender la computadora las primeras operaciones las realiza la
BIOS.
En esta etapa se realizan operaciones bsicas de hardware. El proceso
de arranque ser diferente dependiendo de la arquitectura del
procesador y la BIOS.

Una vez que el hardware se reconoce y se deja listo, la BIOS carga en
memoria el cdigo ejecutable del cargador de arranque y le pasa el
control. Hay variedad de BIOS que permiten al usuario definir en qu
dispositivo/particin se encuentra dicho cargador de arranque.

2.2. Cargador de arranque

Un cargador de arranque, o en ingls bootloader, es un programa
diseado exclusivamente para cargar un sistema operativo en memoria.

Debido a que el sector de arranque tan slo consta de 512 bytes, y en
la mayora de arquitecturas no es espacio suficiente para ubicar el
8
sistema operativo al completo, se suele utilizar un cargador de arranque
que realiza varias etapas antes de ceder el control al sistema operativo.

Los cargadores de arranque modernos tpicamente preguntan al
usuario que sistema operativo, o tipo de sesin, desea inicializar.

Los cargadores de arranque ms usuales bajo Linux son: GRUB, LILO, y
Loadlin.

2.3 Kernel

El kernel Linux se encarga de las principales funciones del sistema
operativo, como el manejo de memoria, planificacin de tareas,
entradas y salidas, comunicacin entre procesos, y dems sistemas de
control.
El proceso del kernel se lleva en dos etapas; la etapa de carga y la
etapa de ejecucin.

El kernel generalmente se almacena en un archivo comprimido con zlib.
Este archivo comprimido se carga y se descomprime en memoria.
Tambin se cargan los drivers necesarios por medio de un disco RAM
(initrd, o recientemente initramfs). El disco RAM es un sistema de archivos
temporal usado en la fase de ejecucin del kernel.

Una vez que el kernel se ha cargado en memoria y est listo, se lleva a
cabo su ejecucin. Esto se realiza llamando la funcin startup del kernel.
Esta funcin establece el manejo de memoria, como tablas de
paginacin y paginacin de memoria y detecta el tipo del CPU.
Despus cambia a funcionalidades que no
dependen del hardware por medio de la llamada a la funcin
start_kernel().


9
3. SISTEMA DE FICHEROS

El sistema de archivos de Linux est basado en el Filesystem Hierarchy
Standard o FHS, que en espaol se traduce como Estndar de jerarqua
del sistema de archivos. ste es un estndar que con mayor o menor
rigor siguen la mayora de las distribuciones GNU/Linux y algunos otros
sistemas operativos basados en UNIX.

Algunas de sus principales caractersticas son:
Todo est organizado en una nica estructura de directorios.
Siendo ms concretos, todo est dentro del directorio raz, que se
representada mediante el smbolo '/'.
Todo es un archivo. Dentro de / est representado todo el sistema:
los directorios y archivos presentes en los discos duros y dems
dispositivos de almacenamiento montados, todo el hardware de
la computadora, todos los procesos en ejecucin, etc...
Cada cosa en su sitio y un sitio para cada cosa. Todos los
directorios tienen una finalidad concreta, todos los contenidos
tienen una ubicacin predeterminada segn su naturaleza y
funcin.

3.1. Archivos

Para conocer las propiedades de un Sistema de Archivos, comencemos
por definir que es un archivo, tambin conocido como fichero:

Con frecuencia, se define a un archivo informtico, como una
entidad lgica formada por un conjunto de bytes, ubicados sobre
un sistema de almacenamiento (temporal o permanente), que
responde a las caractersticas de unicidad, ubicacin y reglas de
manipulacin.

La funcin "vital" de un archivo es poder ser utilizado, y como tal debe
ser localizado lo ms fcilmente posible dentro de la unidad de soporte
que lo contiene.

Esta unidad, que puede ser un disco duro, una cinta, un CD o cualquier
unidad susceptible de almacenar informacin, necesita un Sistema de
Ficheros, para organizar la informacin y tener acceso a ella de forma
eficiente y rpida.

Existen archivos especiales que representan a los dispositivos fsicos,
existen archivos directorios, para organizar otros archivos y los archivos
simples, encargados de almacenar toda la informacin, incluso
programas. Es fcil hacerse a la idea de que existen infinidad de
archivos simples.
10

Como definimos que toda la informacin que se escribe en el disco se
considera un archivo, existen diferencias importantes en cuanto al
contenido de los ficheros. Principalmente la que define a archivos de
"texto" y los archivos binarios.

Los archivos de "texto" pueden contener documentos de todo
tipo, como memorndums, scripts, o cartas, y estarn escritos
mediante una tabla de caracteres reconocida, como pueden ser
ASCII o UNICODE.
Estos archivos podrn editarse y modificarse con un editor de
texto, como son vi, emacs, gedit o nano.

Los archivos binarios contienen datos no textuales, como por
ejemplo imgenes, ejecutables u otros archivos de datos que slo
son capaces de interpretarlos aplicaciones especficas, como por
ejemplo los ficheros mdb que contienen bases de datos creadas
por Microsoft Access, y, por tanto, no pueden visualizarse con
simples editores de texto. Estos archivos slo tienen sentido para
los programas que lo ejecutan.

3.1.1.Tipos de Archivos

Como se ha indicado anteriormente, existen diversos tipos de
archivos en Linux. El comando ms habitual para consultar
archivos es ls,

El tipo de archivo queda representado por el primer carcter de
cada lnea, cuyo significado se muestra en la siguiente tabla:

Identificador Descripcin
- Archivos sencillos
d Directorios
| Vnculos simblicos
c Dispositivos de caracteres
b Dispositivos de bloques
p Tuberas (pipe) con nombre (FIFO)
s Socket (conector para comunicaciones
TCP/IP)






11
1) Archivos sencillos

Se emplean para almacenar informacin y datos en algn dispositivo
de almacenamiento secundario, que por regla general suele ser el disco
duro.
Un archivo sencillo puede contener desde un programa ejecutable
generado con Java, C++, C o Perl, como imgenes, textos, sonido, o
grficos.

En Unix/Linux no existe diferencia a la hora de clasificar estos archivos
por su contenido, para el ncleo, todos son iguales, slo es un flujo de
bytes, y es cada aplicacin en concreto la encargada del tratamiento
de los ficheros que vaya a manipular. Por tanto, las aplicaciones estn
encargadas de verificar la naturaleza de los archivos a procesar y obrar
en consecuencia al contenido de los mismos. Los nombres de los
archivos pueden asignarse de manera arbitraria.


Suelen tener algunas pequeas restricciones asociadas:

nombre no mayor de 255 caracteres,
no usar meta-caracteres del SHELL,
evitar comenzar con un nmero, y
tener en cuenta que un nombre comenzado con un punto,
significa un archivo oculto.

Los archivos en Unix/Linux no necesitan extensin, al ser tratados en
principio sin formato predeterminado, aunque puede hacerse como
recurso referencial, con una o ms extensiones que indiquen la
naturaleza del contenido.

2) Directorios

Son archivos que contienen a su vez otros archivos. Cuando estos
ltimos contienen a su vez archivos se suelen denominar subdirectorios.

En Unix/Linux, los directorios tienen una forma determinada:

Nmero de i-nodo + nombre del directorio

El nmero i-nodo tiene 2 Bytes, siendo siempre un nmero entero.
Representa el valor de un ndice que opera dentro de una lista en el
disco. Su propsito es facilitar la bsqueda de los archivos, ya que en la
lista que forma, se almacenan caractersticas de los archivos
representados, como son: tamao, fecha de creacin, bloque
asignado, permisos, enlaces, pero nunca el nombre.
12

Fsicamente, un archivo no se almacena de forma continua en el
dispositivo de almacenamiento, por lo que puede estar repartido en
varios bloques. A este hecho se le denomina fragmentacin.

A diferencia de Windows, Linux tiende a la continuidad del espacio
fsico en el reparto de los bloques de asignacin. Debido a esto, es
necesaria la existencia de una estructura adicional que "rena" los
distintos fragmentos del archivo para ser ledo.

sta es la funcin principal de la lista de i-nodos. En todos los directorios
aparecen dos ficheros ocultos representados por "." y ".." El primero "." se
refiere al directorio actual, mientras que el segundo referencia al
directorio padre, o lo que es lo mismo, al directorio desde el que cuelga
en orden de jerarqua del Sistema de Ficheros. Por convencin, el
directorio padre de la raz es la propia raz.


3) Enlaces

Es un fichero cuya funcin es permitir enlaces a elementos del sistema
de archivos desde cualquier punto de la jerarqua del mismo. Un enlace
no es ms que un nombre que apunta a un determinado recurso del
sistema de ficheros, fsico o lgico. Dependiendo de su funcin los
clasificamos en,

Fuertes o duros: Son aquellos enlaces que no se diferencian en
nada del archivo original.
Dbiles o simblicos: Son enlaces que apuntan al nombre del
fichero, no a su contenido.

Los enlaces le permiten dar a un nico archivo mltiples nombres. Los
archivos son identificados en el sistema por su nmero de inodo, el cual
es el nico identificador del archivo para el sistema de archivos. Un
directorio es una lista de nmeros de inodo con sus correspondientes
nombres de archivo. Cada nombre de archivo en un directorio es un
enlace a un inodo particular.


1) Enlaces fuertes o duros

Debemos de entender que un fichero, es un conjunto de bytes que
ocupa una zona en algn dispositivo, y su nombre no es ms que un
enlace fuerte a l. Es decir, un enlace fuerte es otro nombre para un
mismo fichero.

13
- Todos los enlaces fuertes que apuntan a un mismo archivo,
mantienen su estructura de permisos, propiedad, etc. Si creamos
varios enlaces fuertes sobre un fichero, tendramos varias copias
lgicas del mismo, pero slo existira una copia fsica del mismo, ya
que todos apuntan a la misma zona "fsica", que es el espacio que
ocupa el fichero original.

Esto da como resultado que un fichero no desaparece hasta que
no se borran todos los enlaces que apuntan a l. Los enlaces
fuertes a un fichero se almacenan en la estructura del inodo que
lo representa.

- No se pueden crear enlaces fuertes a directorios ni a ficheros que
estn en una particin diferente.

- En el caso de borrado de un fichero original, se borran todos los
enlaces fuertes asociados a l.

La orden ln es usada para crear enlaces para un fichero.

Usando ls -i, veremos el nmero de inodo para el fichero.
ln fichero fhichero2 crear un enlace llamado fichero2 que
corresponder al mismo fichero.

Utilizando ls -i veremos que los dos ficheros tienen el mismo inodo.
ls -i fichero fichero2

Estos enlaces se denominan enlaces duros (hard links) porque
directamente crean el enlace al inodo. Tambin hay que tener en
cuenta que solamente podremos crear enlaces duros entre ficheros del
mismo sistema de ficheros; los enlaces simblicos no tendrn este tipo
de restricciones.

Cuando eliminamos un fichero con rm, en realidad, solamente estamos
eliminando un enlace a un fichero. Si utilizamos la orden rm fichero
Solamente el nombre fichero es eliminado, , fichero2 seguir
existiendo.
Un fichero estar definitivamente eliminado del sistema cuando no
queden enlaces a el. En realidad, la norma es que los ficheros tengan
solamente un enlace duro.
Un modo de saber cuantos enlaces tiene un fichero es con la orden ls -l
.Fjate en la salida estndar por pantalla, la primera columna indica los
permisos, como vimos en lecciones pasadas, y una segunda columna
con un nmero te indicar el nmero de enlaces del fichero, o, si es un
directorio, el nmero de directorios que contiene, en nuestro ejemplo te
14
mostrara lo siguiente:
ls -l fichero fichero2
-rw-r-r- 2 root root 12 Aug 5 16:51 fichero
-rw-r-r- 2 root root 12 Aug 5 16:50 fichero2
La segunda columna en el listado, "2", especifica el nmero de enlaces
al archivo.

Cada directorio tiene al menos dos enlaces duros en l:
"." (un enlace apuntando a s mismo) y
".." (un enlace apuntando al directorio padre).
En el directorio raz (/), el enlace ".." simplemente apunta a /.


2) Enlaces dbiles o simblicos.

Cuando creamos un enlace simblico significa que creamos un puntero
a dicho fichero o directorio. Si borrases dicho fichero o directorio el
enlace quedara apuntando a la nada. Esto podra parecerse bastante
a lo que Windows nos tiene acostumbrados.

Estos enlaces son articulados en Linux como ficheros independientes,
conteniendo una referencia, el inodo, que apunta a la ubicacin real
del archivo. Estos enlaces usan un pathname, o ruta, que puede ser
absoluta cuando comienza con "/", o relativa de acuerdo con la
ubicacin del enlace.

- Un enlace simblico, no puede moverse una vez creado porque
se romper, a diferencia de los enlaces fuertes.
- Otra caracterstica es que carecen de permisos o estado por su
cuenta. En su defecto usan los permisos del fichero al que
apuntan.
- Pueden crearse enlaces simblicos a un fichero que no est en el
mismo dispositivo de almacenamiento.
- Los enlaces simblicos son procesados por el ncleo de forma
diferente a los duros, lo cual es solo una diferencia tcnica, pero a
veces importante.
- Los enlaces simblicos son de ayuda puesto que identifican al
fichero al que apuntan; con enlaces duros no es tan fcil saber
que fichero esta enlazado al mismo inodo.
- La operacin 'rm' sobre un fichero simblico no actua sobre el
fichero apuntado sino sobre el propio enlace simblico
destruyndolo.
15


Con la orden ln -s creamos un enlace simblico a un fichero. Por
ejemplo:
ln -s archivo archivo2
Hay que tener en cuenta que el nombre del enlace simblico no
soporta rutas completas, por lo que para crearlo, ser imprescindible
situarse dentro del directorio en el que queramos que quede colocado
dicho enlace.
Si lo verificamos de nuevo con la orden ls -l vemos que el fichero fichero
es un enlace simblico apuntando a fichero2
ls -l fichero fichero2
Los bits de permisos en un enlace simblico no se usan (siempre
aparecen como (rwxrwxrwx). En su lugar, los permisos del enlace
simblico son determinados por los permisos del fichero apuntado.
Asimismo, si el fichero apuntado es eliminado, los enlaces simblicos
permanecen, pero ya no sern vlidos y carecern de sentido.


4) - Dispositivos de caracteres y bloques.

Son archivos especiales cuya principal funcin es la comunicacin con
un dispositivo de hardware. De acuerdo con la naturaleza del
hardware, se denominan de
caracteres: consola, puertos de serie,
bloques: discos, memorias, etc

Estos archivos pueden entenderse como puntos de unin entre el
ncleo y los controladores o drivers de dispositivos, como pueden ser
/dev/tty0, /dev/null o /dev/hda.

6) Tuberas con nombre.

Archivos localizados para la comunicacin entre procesos. Son una va
de intercambio de datos. Se gestionan mediante el mtodo FIFO, o First
In-First Out, que se basa en que el primer byte introducido por el emisor
ser el primero en ser extrado por el receptor. Su comunicacin es
unidireccional. Este tipo de fichero es localizado mediante una ruta,
como cualquier fichero normal, y puede ser borrado como cualquier
otro archivo. Por supuesto puede verse con el comando ls.

16


7) Socket

Son archivos para comunicacin entre procesos locales. Se pueden ver
como archivos, pero no pueden ser ledos y escritos salvo por los
procesos directamente relacionados con la comunicacin de la que
son objeto.

3.1.2. Atributos Bsicos

Analicemos los atributos bsicos de un archivo basndonos en la
siguiente invocacin al comando ls:




El primer nmero corresponde al i-nodo. Se muestra en el listado
porque hemos usado especficamente la opcin "i".

El primer carcter del siguiente bloque corresponde al tipo de
archivo.
En este caso se trata de un archivo simple ya que, como vimos en la
tabla de tipos de archivos, su smbolo es el guin (-). Esta asignacin
evita tener que asignarle una extensin para su clasificacin, por lo
menos, para la mquina. Otra cosa es que, el creador del archivo
quiera ponerle una extensin para su comodidad, pero no ser ms
que parte del nombre del archivo y nada tendr que ver con su
clasificacin.

La secuencia que sigue, rw-r--r--, es la asignacin de permisos.
El siguiente bloque, "1", hace referencia al nmero de enlaces
fuertes
del archivo.

Le siguen el nombre del propietario y grupo propietario del
archivo en
cuestin. En este caso ambos se llaman root.

El siguiente bloque, en el que pone 4622, es el tamao del fichero
en
bytes, y va seguido de la fecha y la hora de creacin del archivo.

Por ltimo tenemos el nombre del archivo, que en este caso es
vnc.conf.

# ls ila vnc.conf
7897276 -rw-r--r-- 1 root root 4622 2011-02-20
13:05 vnc.conf


17


4. PERMISOS

Chmod con letras
Para brindar algo de privacidad y proteccin cada archivo o directorio
tiene asociados permisos diferentes para el propietario, para el grupo y
para los dems usuarios. Desde un administrador de archivos, puede ver
los permisos de un archivo con el botn derecho del ratn cuando el
puntero est sobre el archivo, escogiendo la opcin apropiada del
men que aparece. Desde un intrprete de comandos puede emplear
el comando ls con la opcin -l.
Un ejemplo del resultado de este comando se presenta a continuacin:
drwxr-xr-x 5 juan users 4096 Feb 21 06:31 textos
La lnea presenta un directorio (la d al principio de la lnea lo
indica). El nombre del directorio es textos tiene 5 archivos, fue
modificado por ltima vez el 21 de Febrero del ao en curso a las
6:31AM, el propietario es juan, el grupo es users y el tamao es
4096 bytes. Los tres caracteres rwx que siguen a la d inicial indican
los permisos para el propietario, los tres siguientes r-x indican los
permisos para el grupo y los tres siguientes r-x indican los permisos
para el resto de usuarios.
-rw-r----- 1 juan users 62561 May 13 18:13
ev.tar.gz

La lnea presenta un archivo (el guin inicial lo indica). Como el
orden de estos permisos es siempre el mismo, resulta que el
archivo ev.tar.gz no es ejecutable, que puede ser ledo por el
propietario y el grupo pero no por los dems usuarios, adems
puede ser escrito slo por juan.
lrwxrwxrwx 1 juan users 12 Nov 12 2010 a ->
/etc/hosts
La lnea representa un enlace. Del enlace podemos destacar que
18
se llama a, que enlaza al archivo /etc/hosts y que su tamao y
permisos reales los heredar de /etc/hosts.
Los permisos de un archivo pueden ser modificados por el propietario o
por el administrador del sistema con el comando chmod que espera
dos parmetros: cambio por realizar al permiso y nombre del archivo
por cambiar.
Los permisos se pueden especificar en octal o con una o ms letras para
identificar al usuario (u para el usuario, g para el grupo, o para los
dems usuarios y a para todos), un +, un - o un = y despus letras para
identificar los permisos (r, w o x). Por ejemplo:
chmod og+x sube.sh
Da a los dems usuarios y al grupo permiso de ejecucin del archivo
sube.sh que debe estar en el directorio desde el cual se da el comando.
chmod a-w deu.txt
Quita el permiso de escritura en el archivo deu.txt tanto al propietario,
como al grupo, como a los dems usuarios. Este mismo resultado puede
obtenerse con el comando chmod -w deu.txt. Cuando no se
especifican usuarios chmod toma por defecto todos los usuarios.
chmod u=rxw,g=rx,o= textos
Cambia permisos del archivo (o directorio) textos, el usuario puede leer,
ejecutar y escribir, el grupo puede leer y ejecutar mientras que los
dems usuarios no tienen permisos.
El propietario de un archivo puede ser modificado slo por el
administrador del sistema con el programa chown. Un usuario que
pertenezca a varios grupos puede cambiar el grupo de uno de sus
archivos a alguno de los grupos a los que perteneza con el program
chgrp, por ejemplo
chgrp estudiantes tarea1.txt
Cambiar el grupo del archivo tarea1.txt a estudiantes. Los grupos a los
cuales un usuario pertenece son mostrados por el programa groups.
19

Chmod con Nmeros
Uso: chmod {opciones} {nombre de archivo}
Opciones Definicin
#-- Propietario
-#- Grupo
--# Otros
1 ejecutar
2 escribir
4 leer

Propietario, Grupo y Otros est representado por tres nmeros. Para
obtener el valor de las opciones para determinar el tipo de acceso
necesarios para el archivo hay que agregarlos a continuacin.
Por ejemplo si deseas que un archivo tenga estos permisos -rw-rw-rwx
debes hacer lo siguiente:

Propietario Grupo Otros
Leer y
escribir
leer y
escribir
leer, escribir y
ejecutar
4 +2 = 6 4 +2 = 6 4 +2 +1 = 7
chmod 667 archivo


Otro ejemplo, si quieres que un archivo tenga estos permisos: --w-r-x--x
debes utilizar lo siguiente:
20
Propietario Grupo Otros
Escribir leer y ejecutar ejecutar
2 4 +1 = 5 1
chmod 251 archivo

También podría gustarte