Sunteți pe pagina 1din 31

www.haztefuncionario.com Material registrado. Prohibida su reproduccin.

Copia exclusiva de Jos Ignacio Mndez Yanes. Av de los Poblados 133, 7 - 3 - 28025 - Madrid - Tel. 917464968

B1G2T01 - SISTEMAS OPERATIVOS DE LA FAMILIA UNIX.

1. EVOLUCIN HISTORICA.............................................................................................................................................. 2
2. CARACTERSTICAS ....................................................................................................................................................... 3
3. TIPOS DE SHELL. ............................................................................................................................................................ 4
3.1. INTRODUCCIN........................................................................................................................................................ 4
3.2. SHELL DEL SYSTEM V: (SH) .................................................................................................................................... 4
3.2.1. ORDENES DE ENTRADA.................................................................................................................................... 5
3.2.2. UTILIZACIN DE COMODINES PARA ESPECIFICAR ARCHIVOS................................................................ 6
3.2.3. ENTRADA Y SALIDA ESTNDAR....................................................................................................................... 6
3.2.3. VARIABLES DEL SHELL..................................................................................................................................... 7
3.3. EL C-SHELL (CSH)....................................................................................................................................................... 9
3.4. EL SHELL KORN (KSH) ........................................................................................................................................... 10
4. ESTRUCTURA DE ARCHIVOS.................................................................................................................................... 11
4.1. CARACTERSTICAS SISTEMA DE ARCHIVOS................................................................................................... 12
4.2. ALMACENAR DATOS............................................................................................................................................. 13
4.3. NOMBRES DE ARCHIVO........................................................................................................................................ 13
4.4. TIPOS DE ARCHIVOS.............................................................................................................................................. 14
4.5. ESTRUCTURA INTERNA DEL SISTEMA DE ARCHIVOS .................................................................................. 16
4.5.1. EL BLOQUE DE ARRANQUE........................................................................................................................... 17
4.5.2. EL SPER BLOQUE.......................................................................................................................................... 17
4.5.3. LA LISTA DE NODOS INDICE ......................................................................................................................... 17
4.5.4. BLOQUES DE DATOS....................................................................................................................................... 19
4.5.5. CREACIN DE UN SISTEMA DE ARCHIVOS................................................................................................. 20
4.6. ESTRUCTURA EXTERNA DEL SISTEMA DE ARCHIVOS ................................................................................. 20
4.6.1. DIRECTORIOS Y ARCHIVOS ESTNDAR ....................................................................................................... 21
4.7. OPERACIONES CON ARCHIVOS Y DIRECTORIOS................................................................................................. 23
5. INTERFACES GRAFICAS. ............................................................................................................................................... 25
5.1. GESTOR DE VENTANAS........................................................................................................................................ 26
6. IMPLEMENTACIONES COMERCIALES Y SOFTWARE LIBRE ......................................................................... 26
7. CONCLUSIN ................................................................................................................................................................. 28
8. BIBLIOGRAFA .............................................................................................................................................................. 28
9. ESQUEMA RESUMEN ................................................................................................................................................ 29

TEMARIO-TICB-feb04 B1G2T01
Actualizado en febrero de 2004 Pgina 1 de 31
www.haztefuncionario.com Material registrado. Prohibida su reproduccin.

Copia exclusiva de Jos Ignacio Mndez Yanes. Av de los Poblados 133, 7 - 3 - 28025 - Madrid - Tel. 917464968

1. EVOLUCIN HISTORICA
A finales de los aos sesenta, sobre 1968, un conjunto de investigadores provenientes de AT&T Bell, del MIT y
General Electric emprenden el desarrollo de un sistema operativo multiusuario al cual llamaron MULTICS
(Multiplexed Information and Computing System). MULTICS posea gran parte de las caractersticas que tiene hoy
en da cualquier versin de UNIX como son la multitarea, la gestin de archivos y la interaccin con usuarios. Sin
embargo MULTICS nunca llegara a completarse debido a numerosos contratiempos y retrasos en su
implementacin, ya que una de las mayores desventajas era la complejidad del software y hardware necesario
para completar tareas cotidianas y sencillas para los usuarios.

Posteriormente, Ken Thompson y Dennis Ritchie, unos de los investigadores que se involucraron en el proyecto
MULTICS retoman la idea y desarrollan en 1969 en los laboratorios Bell el sistema operativo multiusuario UNIC
(Uniplexion Information and Computing System), una revisin del sistema operativo MULTICS, escrito en un
lenguaje ensamblador; y ejecutndose en una mquina DEC PDP-7, que posteriormente se adapto a un
ordenador PDP-11. UNIC simplificaba las tareas de su antecesor.

Mas tarde, el nombre sufre diferentes cambios hasta llegar al UNIX, tal y como se conoce hoy en da, con lo cual
se puede deducir que UNIX surge de una versin reducida del proyecto MULTICS, si bien tambin ha sido
influenciado por otros sistemas operativos como el CTSS (Compatible Time Sharing System) del MIT y el sistema
XDS-940 de la Universidad de California de Berkeley.

Recuerdese que en esos aos cuando se compraba un ordenador, se tena que comprar el sistema operativo
provedo por el fabricante del equipo, por consiguiente posteriormente tambin se tenan que comprar las
aplicaciones proporcionadas por el fabricante ya que son las que conocan como interactuar con el sistema
operativo, y esas aplicaciones tenan un precio bastante alto, es decir, los usuarios estaban encadenados al
fabricante del ordenador, era como el pez que se come la cola.

Adems, ciertas restricciones legales impedan a dichos laboratorios fabricar ordenadores, por lo que se
dedicaban a comprar el hardware a otras empresas, necesitando algn mecanismo para portar el sistema
operativo a distintas mquinas.

El hecho de que UNIX estuviese escrito en ensamblador impeda la portabilidad a diferentes ordenadores.

Thompson desarroll un nuevo lenguaje de alto nivel: B, pero Dennis Ritchie en el 1973 lo mejora y le llama
lenguaje C, rescribiendo UNIX totalmente en este lenguaje de alto nivel (muy apto para escribir sistemas
operativos), haciendo por tanto el cdigo casi totalmente independiente del tipo de mquina, permitiendo la
instalacin de UNIX en diferentes plataformas, logrando as una popularidad sin precedentes en el mundo de los
sistemas operativos.

Inicialmente los laboratorios AT&T Bell, consideran que UNIX era ms bien un proyecto de investigacin y lo lleg
a distribuirse de forma gratuita entre departamentos informticos de las universidades, los cuales lo podan
modificar y adaptar a sus necesidades.

La gran demanda del sistema operativo hace que los laboratorios Bell iniciara su venta a travs de distribuciones
oficiales concediendo a los usuarios que lo requeran licencias de uso.

La primera versin de UNIX disponible fuera de los laboratiros Bell fue la Versin 6, ea el ao 1976. En 1978 se
distribuy la Versin 7, que fue adaptada a otros PDP-11 y a una nueva lnea de ordenadores de DEC
denominada VAX. La versin para VAX se conoca como 32V.

Tras la distribucin de la Versin 7, UNIX se convirti en un producto y no slo ea una herramienta de


investigacin o educacional, debido a que el UNlX Support Group (USG) asumi la responsabilidad y el control
administrativo del Research Group en la distribucin de UNIX dentro de AT&T.

En el periodo comprendido entre 1977 y 1982, los laboratorios BeIl combin varios sistemas UNIX, desarrollados
deatro de AT&T, con caractersticas de la Versin 7 y de la 32V, dando lugar aun nico sistema cuyo nombre
comercial fue UNIX System III. sta fue la primera distribucin externa desde USG.

TEMARIO-TICB-feb04 B1G2T01
Actualizado en febrero de 2004 Pgina 2 de 31
www.haztefuncionario.com Material registrado. Prohibida su reproduccin.

Copia exclusiva de Jos Ignacio Mndez Yanes. Av de los Poblados 133, 7 - 3 - 28025 - Madrid - Tel. 917464968

Los Laboratorios Bell ms tarde aadieron muchas caractersticas nuevas al UNIX System III, llamando al nuevo
producto UNIX System V, y AT&T anunci su apoyo oficial al System V en Enero de 1983.

La modularidad, la sencillez de diseo y el pequeo tamao de UNIX, hicieron que muchas empresas se pusieran
a trabajar sobre l. La Universidad de Berkeley en Califomia creo una variante del sistema UNIX para mquinas
VAX. Esta variante incorporaba varias caractersticas interesantes, tales como memoria virtual, paginacin por
demanda y sustitucin de pgina, con lo cual se permita la ejecucin de programas mayores que la memoria
fsica.

A esta variante, desarrollada por Bill Joy y Ozalp Babaoglu, se la conoci como 3BSD (Berkeley Software
Distribution). Esto llevo a que la Defense Advanced Research Projects Agency (DARPA) ayudase
econmicamente a Berkeley en el desarrollo de un sistema UNIX estndar el 4BSD.

Los trabajos en 4BSD para DARPA fueron dirigidos por expertos en redes y UNIX, ya que la intencin era que
4BSD incluyera la pila de protocolos TCP/IP.

2. CARACTERSTICAS
Las caractersticas ms relevantes del sistema son:

UNIX ha sido diseado como un sistema multiusuario en tiempo compartido; es decir, un sistema en el
que pueden trabajar varios usuarios simultneamente entre los cuales se reparten los recursos del
sistema hardware, pensando cada usuario que tiene acceso exclusivo a la mquina. Proporciona
proteccin de los datos privados sobre ficheros y tambin ofrece proteccin del entorno de ejecucin
Portabilidad: Tal y como se comento anteriormente, UNIX fue escrito en el lenguaje C, un lenguaje de alto
nivel, lo cual hace que sea relativamente fcil de leer, entender, modificar y transportar a otras mquinas
con una arquitectura fsica diferente.
Interfaz de usuario simple e interactiva: el intrprete de rdenes (shell) es un programa independiente que
el usuario puede sustituir. La sintaxis de utilizacin es idntica para todas las rdenes.
Modularidad: Proporciona primitivas que permiten construir grandes programas a partir de otros ms
sencillos, asi como libreras para linkaje.
Posee bibliotecas compartidas para facilitar el enlace dinmico.
Protecciones de memoria.
Soporta diferentes sistemas de archivos, incluidos los de Microsoft Window
Sistema de archivos con estructura de rbol invertido (de mltiples niveles que permite un fcil
mantenimiento) y jerrquico (permite la unin de diversos sistemas de ficheros con el sistema principal, y
una separacin de directorios).
Todos los archivos de usuario son simples secuencias de bytes (8 bits), no tienen ningn formato
predeterminado.
Independencia de dispositivos: Los discos y los dispositivos de entrada y salida (E/S) se tratan todos de la
misma manera: como meros archivos. Las peculiaridades de los dispositivos se mantienen en el ncleo
(kernel).
La arquitectura de la mquina es completamente transparente para el usuario, lo que permite que los
programas sean fciles de escribir y transportables a otras mquinas con hardware diferente
UNIX no incorpora diseos sofisticados; de hecho, la mayora de los algoritmos han sido seleccionados
por su sencillez y no por su rapidez o complejidad.
Incorpora todos los servicios de red, TCP/IP, DNS, sendmail, etc.
Proporciona un completo entorno de programacin: los filtros son utilidades simples que se concentran en
realizar bien una sola funcin. Pueden combinarse de forma muy flexible utilizando las pipes y las
redirecciones de E/S segn las necesidades y preferencias de cada usuario.

TEMARIO-TICB-feb04 B1G2T01
Actualizado en febrero de 2004 Pgina 3 de 31
www.haztefuncionario.com Material registrado. Prohibida su reproduccin.

Copia exclusiva de Jos Ignacio Mndez Yanes. Av de los Poblados 133, 7 - 3 - 28025 - Madrid - Tel. 917464968

Mantenimiento fcil: consecuencia directa de la modularidad. El sistema sigue evolucionando y se


perfecciona y enriquece con nuevas funcionalidades.
Carcter abierto: permite ampliar fcilmente la funcionalidad con nuevos componentes sin tener que
depender de un nico fabricante.

3. TIPOS DE SHELL.
3.1. INTRODUCCIN

Una gran parte del uso del Sistema UNIX consiste en que el usuario emitir rdenes y UNIX responder, para
realizar esta labor, el usuario no se comunica directamente con el ncleo de UNIX sino que lo hace a travs del
intrprete de comandos o shell.

Por lo tanto, el shell no es ms que un intermediario entre el ncleo de UNIX y el usuario. Cuando se emite una
orden nos relacionamos con el shell, la parte del Sistema UNIX a travs de la cual se controlan los recursos del
sistema operativo UNIX. El shell proporciona muchas de las caractersticas que hacen al Sistema UNIX un
entorno potente y flexible. Se trata de un intrprete de rdenes, un lenguaje de programacin, y ms. Como
intrprete de rdenes, el shell lee los comandos que se le introducen y dispone lo necesario para que se ejecuten.
Adems se puede utilizar el lenguaje de rdenes del shell como un lenguaje de programacin de alto nivel para
crear programas denominados guiones (scripts).

Existen varios tipos de shell:

El considerado estndar es el Bourne Shell (sh); es el que distribuye AT&T con el UNIX. La versin
original fue desarrollada por Stephen Bourne en los Laboratorios Bell.
Otro de los ms difundidos es el C Shell (csh), desarrollado en la Universidad de Berkeley en su mayor
parte por Bill Joy. Fue diseado teniendo en cuenta que los usuarios seran programadores en lenguaje
C.
Otra versin ampliamente difundida es el Korn Shell (ksh), interfase escrita por David Korn.
Por ultimo existe el shell BASH (Bourne Again Shelll) que unifica las caractersticas del csh y ksh junto
con la version inicial del Bourne Shell (sh)

Nos vamos a centrar en el shell del Sistema V (sh). El UNIX Sistema V Versin 4 (SVR4) tambin proporciona
otros dos shells, el shell C (csh) y el shell Korn (ksh), que ofrecen varias ampliaciones valiosas al shell del
Sistema V. Los conceptos y caractersticas que describiremos tambin se aplican al shell Korn, y la mayor parte
de ellos se aplican al shell C.

El shell C y el shell Korn se desarrollaron para disponer de caractersticas y capacidades adicionales que no
ofreca el sh. Comparado con sh, tanto csh como ksh disponen de un nmero de ampliaciones valiosas. Entre
ellos estn la edicin de lnea de orden, que posibilita editar las lneas de rdenes cuando se introducen; las listas
de historias de rdenes, que permite revisar las rdenes que se han venido utilizando durante una sesin, y los
alias de rdenes, que se pueden utilizar para dar a las rdenes nombres ms convenientes.

csh y ksh tambin proporcionan la posibilidad de utilizar rdenes desde una lista de comandos ya introducidos
para simplificar la creacin de rdenes nuevas, la proteccin de sobreescritura accidental en archivos existentes
cuando se redirige la salida hacia ellos, un nmero de caractersticas convenientes y capacidades de
programacin del shell extendidas.

3.2. SHELL DEL SYSTEM V: (sh)

Cuando usted se presenta al sistema, se inicia automticamente un programa de shell. Este es el shell de
presentacin. El programa de shell particular que se ejecuta cuando se inicia sesin est determinado por su
entrada en el archivo /etc/passwd.

TEMARIO-TICB-feb04 B1G2T01
Actualizado en febrero de 2004 Pgina 4 de 31
www.haztefuncionario.com Material registrado. Prohibida su reproduccin.

Copia exclusiva de Jos Ignacio Mndez Yanes. Av de los Poblados 133, 7 - 3 - 28025 - Madrid - Tel. 917464968

Cuando se inicia su shell de presentacin, se ejecuta un archivo denominado .profile que se encuentra en su
directorio de presentacin. Su .profile contiene rdenes que personalizan su entorno, por similitud sera como el
fichero autoexec.bat en el sistema operativo MS-DOS . El shell lee este archivo y lleva a cabo las instrucciones
que contiene.

El .profile es un ejemplo simple de guin de shell o script puesto que contiene a su vez rdenes o instrucciones
para el shell y se utiliza para la personalizacin del entorno de trabajo: la definicin de la variable PATH, fijar el
tipo de terminal, cambiar el prompt por defecto, etc.

El shell le informa que est listo para recibir su entrada visualizando una peticin de orden. Por defecto, sh utiliza
el signo dlar, $, como signo de peticin de orden principal o primaria para los usuarios y el signo sostenido #
como signo de peticin de ordenes para el root o administrador.

Para terminar la sesin en UNIX se teclea CTRL+D, o la orden exit.

Muchas de las iteraciones con UNIX tienen la forma de dialogo con el shell. Este dilogo sigue una secuencia
simple repetida una y otra vez.

El shell solicita una orden y espera su introduccin


Se introduce una orden tecleando una lnea de orden.
El shell procesa la lnea de orden para detenninar las acciones que debe llevar a cabo y visualiza el
resultado.
Despus de finalizar el programa, el shell solicita otra orden comenzando otro ciclo.

La parte de este ciclo que realiza el trabajo real es el paso tercero, cuando el shell lee y procesa la lnea de orden
y ejecuta las instrucciones que contiene.

3.2.1. ORDENES DE ENTRADA

En general, una lnea de orden contiene un comando y argumentos. Cada lnea de orden finaliza con un
NEWLINE, que es el trmino de UNIX para el carcter que se produce cuando se teclea RETURN. El shell no
comienza a procesar la lnea de orden hasta que recibe un RETURN .

Los argumentos de la lnea de orden son opciones que modifican lo que hace una orden y cmo lo hace, y la
informacin que necesita, como puede ser el nombre de un archivo del que obtener datos. Las opciones
normalmente se indican con un signo.

A menudo la lnea de orden incluye argumentos y smbolos que son realmente instrucciones para el shell. Por
ejemplo, cuando se utiliza el smbolo > para dirigir la salida de una orden a un archivo, o el smbolo de cauce, I,
para utilizar la salida de una orden como entrada a otra, o el ampersand, &, para ejecutar una orden en el modo
subordinado, realmente se estn dando instrucciones al shell.

Normalmente se coloca una nica orden o un cauce de dos o ms rdenes en una nica lnea. Si es necesario se
pueden introducir varias rdenes de una vez en una lnea separndolas con punto y coma. Por ejemplo, la lnea
de orden siguiente dice al shell que ejecute en primer lugar date, y despus ls, de la misma forma que se hubiese
hecho tecleando cada una de las rdenes en una lnea independiente.

$ date; ls

Esta forma de introducir rdenes es muy conveniente cuando hay que escribir una secuencia completa de
rdenes antes de ejecutar ninguna de ellas.

TEMARIO-TICB-feb04 B1G2T01
Actualizado en febrero de 2004 Pgina 5 de 31
www.haztefuncionario.com Material registrado. Prohibida su reproduccin.

Copia exclusiva de Jos Ignacio Mndez Yanes. Av de los Poblados 133, 7 - 3 - 28025 - Madrid - Tel. 917464968

3.2.2. UTILIZACIN DE COMODINES PARA ESPECIFICAR ARCHIVOS

El shell proporciona una forma de abreviar los nombres de archivos mediante el uso de patrones especiales o
comodines que se utilizan para especificar uno ms archivos sin tener que escribir los nombres completos. Se
pueden utilizar comodines para especificar de una sola vez un conjunto completo de archivos, o para buscar un
archivo cuando slo s e conoce parte de su nombre. Por ejemplo, se puede utilizar el comodn * para listar todos
los archivos del directorio actual con la extensin rpm:

$ ls *.rpm.

El shell proporciona tres comodines para nombres de archivos: *, ? y [. ..].

El asterisco identifica a una cadena de cualquier nmero de caracteres (incluyendo cero caracteres); por
ejemplo: *data identifica a cualquier nombre de archivo terminado en "data", incluyendo data y file.data.
El signo de interrogacin identifica a cualquier carcter simple; por ejemplo: .memo? identifica a cualquier
nombre de archivo que conste de "memo" seguido por exactamente un carcter.
Los corchetes se utilizan para definir clases de caracteres que identifican a cualquiera perteneciente al
conjunto que engloba. Por ejemplo: [Jj]mf identifica a los nombres de archivos jmf o Jmf.
Se puede indicar un rango o secuencia de caracteres entre corchetes con un -. Por ejemplo: temp [a-c]
identifica a tempa, tempb y tempc.
Existe una excepcin importante a la declaracin de que * identifique a cualquier secuencia de caracteres. No con
un . (punto) al comienzo de un nombre archivo. Para identificar un nombre de archivo que comienza con. (punto),
hay que incluir un punto en el patrn.

La necesidad de indicar explcitamente un . inicial es consistente con el hecho de que los archivos con nombres
que comienzan con . son tratados como archivos ocultos, que se utilizan para mantener informacin necesitada
por el sistema o por rdenes particulares, pero que normalmente no se necesita visualizar .

Cuando el shell procesa una lnea de orden, sustituye en forma ordenada cualquier palabra que contenga
comodines de nombres de archivos por los nombres de archivos identificados.

Si no existen nombres de archivos que se identifiquen con el patrn especificado, el shell no realiza ninguna
sustitucin.

3.2.3. ENTRADA Y SALIDA ESTNDAR

Una de las caractersticas del Sistema UNIX es la forma general y flexible de tratar los archivos y la facilidad con
la que se puede controlar el lugar desde donde los programas obtienen la entrada y envan la salida. La salida de
una orden puede enviarse a la pantalla, almacenarse en un archivo o utilizarse como entrada a otra orden.

Anlogamente, la mayor parte de las rdenes aceptan entrada desde teclado, desde un archivo almacenado o
desde la salida de otra orden.

La orden no necesita saber de dnde viene la entrada o a dnde va la salida. Es el shell el que establece estas
conexiones, en base a las instrucciones de la lnea de orden.

Una de las funciones ms importantes del shell consiste en gestionar la entrada y salida estndar, de manera que
slo se necesite especificar de dnde obtiene el comando la entrada ya dnde debe enviar la salida. Esto se
realiza mediante el mecanismo de redireccin de entrada y salida

REDIRECCIONES

La siguiente tabla lista los smbolos utilizados para decir al shell dnde obtener la entrada y adnde enviar la
salida. A stos se les denomina operadores de redireccin del shell.

TEMARIO-TICB-feb04 B1G2T01
Actualizado en febrero de 2004 Pgina 6 de 31
www.haztefuncionario.com Material registrado. Prohibida su reproduccin.

Copia exclusiva de Jos Ignacio Mndez Yanes. Av de los Poblados 133, 7 - 3 - 28025 - Madrid - Tel. 917464968

Smbolo Ejemplo Funcin


< cmd < file La entrada del comando ser el fichero no el teclado
> cmd > file La salida del comando se enva a fichero no a pantalla. Si el fichero no existe
se crea, si existe se machaca el contenido
>> cmd >> file La salida del comando se aade a fichero no a pantalla. Si el fichero no existe
se crea, si existe se aade la salida del comando al final del mismo
| cmd1 | cmd2 Enva la salida del comando1 al comando 2

Operadores de redireccin

Redireccin de la salida. Se utilizan dos operadores:


Operador > hace que el shell enve la salida de un comando determinado a un fichero. Si ya existe un
archivo con ese nombre en el directorio actual, se sobreescribe. Si no existe un archivo con ese
nombre, el shell crea uno antes de ejecutar la orden.
Operador lo mismo que el anterior solo que aade datos a un archivo sin eliminar los ya existentes.
Redireccin de la entrada. se utiliza el operador < que le indica al shell que utilice el archivo siguiente
como entrada estndar de una orden.
Tuberas o cauces: Es otra forma de redireccin de la salida proporcionada por el shell. El smbolo del
cauce, I, dice al shell que tome la salida estndar de una orden y la utilice como entrada estndar de otra
orden. Se pueden utilizar combinaciones de herramientas simples unidas mediante cauces para toda
clase de tareas.

3.2.3. VARIABLES DEL SHELL

El shell dispone de un mecanismo para definir variables que se utilizan para almacenar informacin utilizada por
los programas del sistema o por el usuario. Las variables del shell se pueden utilizar para personalizar o
particularizar la informacin relativa a nombres de directorios y de archivos que necesitan los programas y para
personalizar la forma en la que los programas (incluyendo el propio shell) interactan con el usuario.

VARIABLES COMUNES DEL SHELL

A continuacin se muestran algunas de las variables del shell ms comunes, incluyendo aquellas que fija
automticamente el sistema.

HOME contiene el nombre de camino absoluto del directorio de recepcin. HOME es definida
automticamente. El propio shell utiliza esta informacin para determinar el directorio al que cambiar
cuando se teclea la orden cd sin argumento
PATH lista, en orden, los directorios en los que el shell busca para encontrar el programa a ejecutar
cuando se teclea una orden. PATH contiene una lista de nombres de directorios, separados por dos
puntos.
Un PATH por defecto es puesto por el sistema, pero la mayor parte de los usuarios lo modifican para
aadir directorios de rdenes adicionales. Un campo vaco en la cadena PATH significa buscar en el
directorio actual (un campo vaco es aquel con dos puntos, pero sin nombre de directorio).
CDPATH es similar a PATH. Lista en orden los directorios en los que busca el shell para encontrar un
subdirectorio a cambiar cuando se utiliza la orden cd. Los directorios que busca el shell se listan de la
misma forma que los directorios de su PATH.
PSl y PS2 definen los signos de sus peticiones de orden primaria y secundaria, respectivamente. Sus
valores por defecto son $ para PSl y > para PS2.
LOGNAME contiene su nombre de presentacin. Lo fija automticamente el sistema.
MAIL contiene el nombre del directorio en el que se coloca el correo nuevo. El shell utiliza esta variable
para notificar cundo se aade nueva informacin en su directorio.

TEMARIO-TICB-feb04 B1G2T01
Actualizado en febrero de 2004 Pgina 7 de 31
www.haztefuncionario.com Material registrado. Prohibida su reproduccin.

Copia exclusiva de Jos Ignacio Mndez Yanes. Av de los Poblados 133, 7 - 3 - 28025 - Madrid - Tel. 917464968

MAILFILE se utiliza para saber dnde colocar el nuevo correo.


SHELL contiene el nombre de su programa de shell. Es utilizado por el editor vi y por otras rdenes
interactivas para determinar qu programa de shell ejecutar cuando se trabaja en modo control.
TERM es utilizada por vi y otros programas orientados a pantalla para obtener informacin sobre el tipo
de terminal que se est utilizando. Esta informacin es necesaria para permitir a los programas que
comparen su salida con las capacidades del terminal y para interpretar su entrada correctamente.

Obtencin del valor de una variable de shell

Adems de fijar valores, a veces se necesita obtener el valor de una variable del shell. Para obtener el valor de
una variable del shell, se precede el nombre de la variable con un signo dlar, $. Cuando el shell lee una lnea de
orden, interpreta cualquier palabra que comienza con $ como una variable y la sustituye con el valor de la
variable.

Para ver el valor de una variable, puede utilizar la orden echo. Esta orden produce eco (imprime) de la entrada
estndar en su salida estndar.

Se puede utilizar la orden set para ver todas las variables actuales del shell y sus valores. Por ejemplo:

DEFINICIN DE LAS VARIABLES DEL SHELL

Aunque HOME, PS1, PS2 y otras variables comunes son fijadas automticamente por el sistema, a otras no les
ocurre esto y se pueden definir sus valores. TERM y MAILFILE son ejemplos de variables del shell que no se
definen automticamente.

Una variable del shell se define escribiendo su nombre seguido por un signo = y su valor. Para poner la variable
de terminal a vt100, se utiliza la orden:
$ TERM=vtlOO

De Ia misma formas se pueden redefinir algunas de las variables actuales, como HOME y PS1.

Siempre que se le dan valores a las variables no deben existir espacios entre el nombre de la variable, el signo =
y el valor. El valor puede contener un espacio o incluso uno o ms NEWLINES pero si los contiene, debe ir entre
comillas. Por ejemplo, se puede definir una peticin de orden de dos palabras:
$ PS1="hi there:"
Para eliminar una variable se utiliza la orden unset.

DEFINICIN DE SUS PROPIAS VARIABLES DEL SHELL

Se trata de una forma conveniente de almacenar informacin utilizada con frecuencia en lneas de rdenes. Por
ejemplo, si se mueve con frecuencia archivos a un directorio particular, se puede definir una variable con el
nombre del directorio.

Cuando el shell lee una lnea de orden, sustituye cualquier palabra que comience con un $ con el valor de la
variable que tiene ese nombre.

VARIABLES DEL SHELL Y EL ENTORNO

Cuando se ejecuta una orden, el shell pone a disposicin del programa un conjunto de variables del shell y sus
valores. El programa puede entonces utilizar esta informacin para personalizar sus acciones. La coleccin de
variables y valores de un programa se denomina el entorno.

El entorno incluye las variables fijadas por el sistema, tales como HOME, LOGNAME y PATH. Se pueden
visualizar sus variables de entorno con la orden: env

TEMARIO-TICB-feb04 B1G2T01
Actualizado en febrero de 2004 Pgina 8 de 31
www.haztefuncionario.com Material registrado. Prohibida su reproduccin.

Copia exclusiva de Jos Ignacio Mndez Yanes. Av de los Poblados 133, 7 - 3 - 28025 - Madrid - Tel. 917464968

Algunas de las variables definidas por el sistema son incluidas automticamente en su entorno. Pero para
ponerlas a disposicin de otras rdenes diferentes de las del propio shell deben ser exportadas. Algunas de las
variables estndar descritas anteriormente se exportan automticamente al entorno. Pero otras, incluyendo
cualquier variable que defina el usuario y cualquier valor de una variable estndar que se cambie, no.

Se utiliza la orden export para hacer que el valor de una variable est disponible a otros programas.

3.3. El C-SHELL (csh)

El shell C proporciona casi todas las caractersticas del shell estndar descritas anteriormente. Existen sin
embargo algunas diferencias bsicas en el vocabulario del lenguaje de rdenes y en la sintaxis:

Presentacin e iniciacin. Cuando se inicia sh, mira en su .profile rdenes iniciales y definiciones de
variables. El shell C sigue un procedimiento similar, pero utiliza dos archivos, denominados. cshrc y .login.
csh lee .login slo cuando el usuario inicia sesin. El archivo .login deber contener rdenes y
definiciones de variables que slo necesitan ser ejecutadas al comienzo de la sesin.
El archivo. cshrc es un archivo de iniciacin. La "rc" significa "read commands" (rdenes de lectura). Para
programas convencionales se busca normalmente la informacin de iniciacin en archivos que finalizan
en "rc".
La diferencia entre .cshrc y .login es que el csh lee .login slo en la presentacin, pero lee .cshrc tanto al
comienzo de una sesin como cuando se le invoca desde el shell de presentacin -por ejemplo, cuando
se ejecuta un guin de shell-. El archivo .cshrc incluye rdenes y definiciones que se necesitan ejecutar
cada vez que entra en un shell, no slo al principio.
.cshrc debera incluir las definiciones de variables que utiliza el shell pero que no son variables de
entorno. Las variables de entorno deben definirse en. login.
Variables del shell C. El shell C dispone de variables, incluyendo variables estndar definidas por el
sistema y variables definidas por el usuario. Diferencias con sh:
Para definir una variable en csh se utiliza la orden set.
csh permite espacios entre el nombre de la variable, el signo = y el valor; sh no.
csh utiliza letras minsculas para las variables ordinarias; la prctica usual en sh es utilizar letras
maysculas.
Variables especiales del shell C. El shell C utiliza un nmero de variables especiales. Algunas de ellas
son directamente equivalentes a las variables de sh. Las siguientes son algunas variables especiales del
shell C que usted debera conocer.
cwd mantiene el nombre completo del directorio de trabajo actual. Proporciona la informacin que
utiliza la orden pwd para visualizar su directorio actual
home es el nombre de camino completo de su directorio de presentacin. Corresponde a la variable
HOME utilizada en sh y ksh.
path mantiene la lista de directorios en los que busca el shell C para encontrar un programa cuando
ejecuta sus rdenes. Corresponde a PATH.
cdpath es la variable del shell C equivalente a la variable CDPATH del shell del Sistema V.
prompt es la equivalente a PSl del shell del Sistema v. El valor por defecto de la peticin de orden
(prompt) del shell C es %, o a veces system%, donde system es el nombre de su sistema UNIX.
mail informa al shell de la frecuencia con que tiene que chequear el correo nuevo y dnde buscarlo,
por ejemplo: set mail = ( 60 $home/mail )
Variables multievaluadas El shell C utiliza parntesis para agrupar distintas palabras que representan
distintos valores de una variable. Esto permite definir y utilizar las variables del shell C como arrays.

TEMARIO-TICB-feb04 B1G2T01
Actualizado en febrero de 2004 Pgina 9 de 31
www.haztefuncionario.com Material registrado. Prohibida su reproduccin.

Copia exclusiva de Jos Ignacio Mndez Yanes. Av de los Poblados 133, 7 - 3 - 28025 - Madrid - Tel. 917464968

Variables de conmutacin para activar caractersticas del shell C. El shell C utiliza variables especiales
denominadas de conmutacin para activar o desactivar ciertas caractersticas. Las variables de
conmutacin son variables que tienen slo dos valores: activas y desactivas. Cuando se define con la
orden set una variable de conmutacin, activa la correspondiente caracterstica. Para desactivarla se
utiliza unset. Variables de conmutacin importantes son noclobber, ignoreeof y notify.
noclobber impide sobrescribir un archivo existente cuando se redirige la salida desde una orden. Se
puede indicar explcitamente a csh que realmente quiere sobrescribir el archivo, colocando un signo
de exclamacin despus del smbolo de redireccin: % ls -1 >! temp
.ignoreeof impide que accidentalmente se salga de la sesin tecleando CTRL-D. Sin ignoreeof, un
CTRL-D al comienzo de una lnea de orden termina su shell y sale del sistema. Si activa ignoreeof, el
shell ignora CTRL-D.
notify informa de cundo termina un trabajo en modo subordinado. Si la variable notify est activa, el
shell visualizar un mensaje de finalizacin del trabajo cuando termine la ejecucin un trabajo en
modo subordinado. Esta variable de conmutacin se fija por defecto, pero si usted no quiere obtener
mensajes de terminacin de trabajos, puede des activarla.
Variables de entorno. Una variable de entorno es una variable que est disponible a las rdenes como
parte del entorno que mantiene el shell. Recuerde que sh define variables de entorno de la misma forma
que las otras variables y utiliza export para incluir una variable en el entorno.
El shell C no utiliza la orden export para colocar una variable en el entorno. En lugar de ello, utiliza
una orden especial, setenv, para definir variables que son parte del entorno. Para definir variables de
entorno no existe signo = entre el nombre de la variable y su valor. Por ejemplo, setenv term vt100
Puede ver todo lo referente a las variables de entorno con la orden env
Para eliminar una variable de entorno se utiliza unsetenv.
Historia de rdenes. El shell C mantiene un registro o lista de todas las rdenes que se introdujeron
durante una sesin. Se puede examinar la lista de historia para buscar rdenes particulares.
Con la orden history se puede visualizar la lista de las ltimas lneas de rdenes.
Alias. El shell C permite definir alias de rdenes simples. Un alias de una orden es una palabra (el alias)
y algn texto que es sustituido por el shell cuando la palabra se utiliza como orden. Se pueden utilizar
alias para incluir automticamente opciones particulares cuando se ejecuta una orden y para dar nombres
cortos a rdenes que usted teclea con frecuencia.
Abreviatura de directorios de presentacin. El shell C proporciona una forma fcil de abreviar el nombre
de camino del directorio de recepcin que es utilizando el smbolo tilde (~) al comienzo de una palabra en
la lnea de orden. Esto hace que el shell la sustituye con el nombre completo de camino del directorio de
recepcin. Por ejemplo, rm -/newfile es la forma abreviada de teclear rnv $home/newfile
Redireccin del error estndar en el shell C. csh proporciona una forma para redirigir tanto la salida
estndar como el error estndar al mismo archivo.
Por ejemplo, $ find .-type f -print >& output-file & # C shell
ejecuta find en el modo subordinado y enva la salida estndar y los mensajes de error a output-file. Sin
embargo, el shell C no permite que se redirija el error estndar independientemente de la salida estndar.
Terminacin del nombre de archivo. La caracterstica de terminacin de nombre de archivo del shell C
proporciona una forma conveniente para introducir nombres de archivos en rdenes. Para ello es
necesario activar la variable de conmutacin filec. Con filec, si se teclea la primera letra o letras de un
nombre de archivo y despus se teclea CTRL-D, csh expandir el nombre parcial para hacerlo coincidir
con un nombre de archivo del directorio actual.

3.4. EL SHELL KORN (ksh)

El shell Korn proporciona un superconjunto altamente compatible de caractersticas del shell del Sistema V.
Incorpora la mayor parte de las ampliaciones que se encuentran en el shell C, as como muchas otras

TEMARIO-TICB-feb04 B1G2T01
Actualizado en febrero de 2004 Pgina 10 de 31
www.haztefuncionario.com Material registrado. Prohibida su reproduccin.

Copia exclusiva de Jos Ignacio Mndez Yanes. Av de los Poblados 133, 7 - 3 - 28025 - Madrid - Tel. 917464968

caractersticas potentes, conservando la sintaxis y caractersticas bsicas del sh. Los programas de shell escritos
para sh corren generalmente sin modificacin bajo ksh.

Presentacin e iniciacin. Como el shell C, el shell Korn utiliza dos archivos de iniciacin -uno slo para la
presentacin, el otro cada vez que se ejecuta ksh.
De la misma forma que sh, ksh lee el archivo .profile para buscar las rdenes que se quieren ejecutar en
inicia de sesin y las variables y valores que se requiere que estn activas a lo largo de la sesin.
Adems de leer el .profile, cada vez que inicializa ksh tambin lee un archivo de entorno. El archivo de .
entorno es anlogo al archivo. cshrc del shell C. A diferencia de csh, ksh no supone que este archivo
tiene un nombre o posicin particular. El nombre y posicin se definen con la variable ENV, de .profile.
Variables del shell Korn. El shell Korn implementa todas las caractersticas del shell estndar
relacionadas con variables e incluye todas las variables del shell estndar. Se pueden defInir o redefinir
variables, exportarlas al entorno y obtener sus valores. El shell Korn utiliza algunas de las variables del
shell del Sistema V, entre las que se encuentran: CDPATH, HOME, LOGNAME, MAIL, MAILCHECK,
MAILPATH, PATH, PSI, PS2, SHELL y TERM.
Algunas variables utilizadas por el shell Korn que no se utilizan en sh son:
ENV dice a ksh dnde encontrar el archivo de entorno que se lee en la iniciacin.
HISTSIZE dice a ksh cuntas rdenes guardar en el archivo de historia-
TMOUT dice a ksh cuntos segundos esperar antes de producirse un fuera de tiempo si no se pulsa
una orden.
Para ver las variables de shell actuales y sus valores se utiliza la orden set.
Fijacin de las opciones del shell Korn. El shell Kom proporciona un nmero de opciones que activan
caractersticas especiales. Estas incluyen las opciones noclobber e ignoreeof que son idnticas a las
proporcionadas por las variables de conmutacin del shell C, as como una opcin para activar la edicin
de lnea de orden.
Historia de rdenes. El shell Kom mantiene una historia de las rdenes que se van introduciendo al
trabajar en una sesin. Para ver las ltimas rdenes que se introdujeron tecleando history. El nmero de
lneas de rdenes que mantiene ksh viene controlado por la variable del shell HISTSIZE.
Alias. De la misma forma que el shell C, el shell Kom permite definir alias de rdenes simples. Los alias
se definen en el shell Kom de la misma forma que se definen las variables. En particular, como ocurre con
las variables del shell, no deben existir espacios entre el nombre del alias, el signo = y su valor. Tambin,
si el valor incluye espacios (por ejemplo, un nombre de orden y opciones), deben ir entre comillas.
Abreviatura de los directorios de presentacin. El shell Kom proporciona una forma fcil para abreviar los
nombres de caminos de los directorios de trabajo usando el smbolo tilde ~.

4. ESTRUCTURA DE ARCHIVOS
Un pilar bsico del Sistema UNIX es el sistema de archivos jerrquico.

El sistema de archivos proporciona una forma potente y flexible de organizar y gestionar los datos contenidos en
el ordenador. Aunque muchas de las caractersticas del sistema de archivos se inventaron originalmente para el
Sistema UNIX, su estructura ha resultado ser tan til que se ha adoptado por muchos otros sistemas operativos.
Por ejemplo, DOS adopt muchos de sus atributos importantes.

Un archivo es la estructura bsica utilizada para almacenar informacin en el Sistema UNIX. El nombre de archivo
identifica de manera unvoca al archivo. El sistema operativo UNIX conoce dnde est localizado el archivo y
guarda adems otro tipo de informacin sobre el archivo.

Se puede definir formalmente el trmino archivo como un conjunto de datos con un nombre asociado. Los
archivos suelen residir en dispositivos de almacenamiento secundario, tales como cintas, discos rgidos o
disquetes.

TEMARIO-TICB-feb04 B1G2T01
Actualizado en febrero de 2004 Pgina 11 de 31
www.haztefuncionario.com Material registrado. Prohibida su reproduccin.

Copia exclusiva de Jos Ignacio Mndez Yanes. Av de los Poblados 133, 7 - 3 - 28025 - Madrid - Tel. 917464968

La razn de asignar un nombre a cada archivo es que de este modo tanto los usuarios como los programas
pueden hacer referencia a los mismos de una forma lgica.

Los procesos o programas en ejecucin disponen de un conjunto de funciones proporcionadas por el sistema
operativo para poder manipular esos archivos. Ese conjunto de funciones se conoce con el nombre de llamadas
al sistema.

El concepto de llamada al sistema es ms amplio, pues engloba tambin funciones relacionadas con la
manipulacin de procesos y dispositivos.

Un proceso es un programa en ejecucin que puede escribir datos en un archivo mediante la llamada al sistema
write y leerlos ms tarde, o bien dejarlos all para que otros procesos puedan leerlos mediante la llamada al
sistema read. Tambin los procesos tienen la posibilidad de crear archivos, aadir o eliminar informacin en ellos,
desplazarse dentro para consultar la informacin deseada, etc. a partir del correspondiente conjunto de llamadas
al sistema.

En cierto modo, se puede entender un archivo como una extensin del conjunto de datos asociados a un proceso,
pero el hecho de que estos datos continen existiendo aunque el proceso haya terminado, los hace
especialmente tiles para el almacenamiento de informacin a largo plazo.

Todo el trabajo de los usuarios de un Sistema UNIX est almacenado en archivos. En algunos sistemas podra
ser difcil e incluso imposible encontrar un archivo. El Sistema UNIX tiene varias capacidades que facilitan mucho
este trabajo. Algunas de estas capacidades tienen que ver con la naturaleza bsica del sistema de archivos.
Otras tienen que ver con los programas de utilidad disponibles en el Sistema UNIX.

Algunos sistemas operativos imponen a todos sus archivos una estructura determinada bien definida. En UNIX un
archivo no es ms que una secuencia de bytes (8 bits). Algunos programas esperan encontrar estructuras de
diferentes niveles, pero el ncleo (kernel) no impone ninguna estructura sobre los archivos. Por ejemplo, los
editores de texto esperan que la informacin guardada en el archivo se encuentre en formato ASCII, pero el
ncleo no sabe nada de eso.

Un sistema de archivos se puede definir como aquella parte del sistema responsable de la administracin de los
datos en dispositivos de almacenamiento secundario. El sistema de archivos debe proporcionar los medios
necesarios para un almacenamiento seguro y privado de la informacin y, a la vez, la posibilidad de compartir esa
informacin en caso de que el usuario lo desee.

4.1. CARACTERSTICAS SISTEMA DE ARCHIVOS

Entre las caractersticas ms relevantes del sistema de archivos UNIX podemos citar las siguientes:

Los usuarios tienen la posibilidad de crear, modificar y borrar archivos y directorios.


Para cada archivo se definen tres tipos de acceso diferentes: acceso de lectura, acceso de escritura y
acceso de ejecucin. Estos tres tipos de acceso se le aplican al creador del archivo, al grupo al que
pertenece y al resto de los usuarios del sistema; con esto los archivos se pueden compartir.
Proteger los datos de los archivos. Cada archivo tiene una serie de derechos asociados, los cuales
determinan y limitan los posibles accesos por parte de otras personas.
Cada usuario puede estructurar sus archivos como desee, el ncleo de UNIX no impone ninguna
restriccin, ya se encargan los programas de darle un sentido a los ficheros.
UNIX ofrece herramientas para realizar copias de seguridad de ficheros para prevenir la prdida de la
informacin.
Proporciona la posibilidad de cifrado y descifrado de informacin. Eso se puede hacer para que los datos
slo sean tiles para las personas que conozcan la clave de descifrado.

TEMARIO-TICB-feb04 B1G2T01
Actualizado en febrero de 2004 Pgina 12 de 31
www.haztefuncionario.com Material registrado. Prohibida su reproduccin.

Copia exclusiva de Jos Ignacio Mndez Yanes. Av de los Poblados 133, 7 - 3 - 28025 - Madrid - Tel. 917464968

El usuario tiene una visin lgica de los datos, es el sistema el encargado de manipular correctamente los
dispositivos y darle el soporte fsico deseado ala informacin. El usuario no tiene que preocuparse por los
dispositivos fsicos, es el sistema el que se encarga de la forma en que se almacenan los datos en los
dispositivos y de los medios fsicos de transferencia de datos desde y hacia los mismos.
Tratar a los dispositivos de entrada salida como si fuesen archivos.
Tiene una estructura jerrquica en forma de rbol invertido.
Realizar un tratamiento consistente de los datos de los archivos.
Es un sistema de archivos dinmico porque permite crear, modificar y eliminar ficheros.
Los archivos aumentan su tamao dinmicamente, no teniendo el usuario que especificar previamente un
tamao.

En UNIX los archivos estn organizados en lo que se conoce como directorios. Un directorio no es ms que un
archivo algo especial, el cual contiene informacin que permite localizar otros archivos. Los directorios pueden
contener, a su vez, nuevos directorios, los cuales se denominan subdirectorios.

A la estructura resultante de esta organizacin se la conoce con el nombre de estructura en rbol invertido.

En el rbol, todos los archivos y directorios dependen de un nico directorio denominado directorio raz o root, el
cual se representa por el smbolo slash "/". En caso de que tengamos vatios dispositivos fsicos de
almacenamiento secundario en el sistema (normalmente discos o particiones de disco), todos deben depender del
directorio raz, y el usuario tratar cada uno de los discos como un subdirectorio que depende, directa o
indirectamente,

4.2. ALMACENAR DATOS.

Al almacenar los datos de un fichero en un disco existen dos frmulas:

Asignacin continua: Se colocan los k bytes que ocupa un fichero consecutivamente en el disco, Esta
solucin tiene el problema de que si el fichero crece ser necesario mover el fichero a otra ubicacin, es
decir, tendremos fragmentacin externa.
Asignacin discontinua: Los k bytes que ocupa el fichero se dividen en x bloques de un tamao z y se
colocan de forma no contigua en el disco en bloques. Esto tiene el problema que si el tamao del bloque
es muy grande se produce fragmentacin interna y si el tamao del bloque es muy pequeo se aumenta
el tiempo de acceso. Generalmente, el tamao del bloque es de 512, 1024 o 2048 bytes.

Unix utiliza asignacin discontinua

4.3. NOMBRES DE ARCHIVO

Un nombre de archivo puede ser casi cualquier secuencia de caracteres (generalmente dos nombres de archivos
se consideran el mismo si coinciden en los primeros catorce caracteres, de manera que se debe tener cuidado si
se excede en este nmero de caracteres. Sin embargo, esto slo ocurre para ciertos tipos de archivos).

El Sistema UNIX coloca pocas restricciones sobre cmo nombrar archivos. Se pueden utilizar caracteres ASCII,
aunque es muy necesario no incluir caracteres no imprimibles (tecla ctrl., alt, etc), espacios en blanco, tabulador,
y los meta caracteres del shell.

En cuanto a la extensin decir que UNIX es indiferente a la extensin, aunque es recomendable darle la extensin
que espera la aplicacin que trata el fichero, por ejemplo el compilador de java espera un .java

TEMARIO-TICB-feb04 B1G2T01
Actualizado en febrero de 2004 Pgina 13 de 31
www.haztefuncionario.com Material registrado. Prohibida su reproduccin.

Copia exclusiva de Jos Ignacio Mndez Yanes. Av de los Poblados 133, 7 - 3 - 28025 - Madrid - Tel. 917464968

Cuando se crean archivos y directorios, est trabajando con un programa importante del Sistema UNIX
denominado el shell. Debera evitar utilizar caracteres en los nombres de archivos que tengan significado especial
para el intrprete de rdenes shell.

4.4. TIPOS DE ARCHIVOS

UNIX distingue cinco tipos de archivos: archivos sencillos, directorios, enlaces simblicos o vinculos, archivos de
dispositivos, y tuberas (pipes) con nombre.

Archivos ordinarios. Se utilizan para almacenar informacin en dispositivos de almacenamiento secundario


como discos duros, disquetes, cdrom, etc. Los archivos ordinarios pueden almacenar datos, imgenes, cdigo,
ejecutables.

UNIX no asocia ninguna estructura ni ningn significado al contenido del archivo, ya que para l un archivo no es
mas que una ristra de bytes. La encargada de darle un significado a esa ristra de bytes es la aplicacin que
maneja el fichero. Por ejemplo el editor de textos vi espera que el contenido de un fichero sea caracteres ASCII,
un navegador web espera que el contenido sea una pagina html, etc.

Vnculos. Un vnculo no es una clase de archivo, sino un segundo nombre para un archivo. Si dos usuarios
necesitan compartir la informacin de un archivo, ellos pueden tener copias separadas de este archivo. Un
problema al mantener copias separadas es que las dos copias pueden rpidamente perder la consistencia. Por
ejemplo, un usuario puede realizar cambios que el otro podra no conocer.

Un vnculo proporciona la solucin a este problema. Con un vnculo, dos usuarios pueden compartir un nico
archivo. Ambos usuarios parecen tener copias del archivo, pero solamente existe un archivo con dos nombres.

Los cambios que cualquier usuario realiza tienen lugar sobre la versin comn. Este vnculo no solamente ahorra
espacio al tener una nica copia de un archivo, sino que asegura que la copia que cada uno utiliza es la misma.

A este tipo de vnculo tambin se le denomina vnculos duros (hard links).

Sin embargo, existen un tipo especial de vnculos denominado Vnculos simblicos: Los vnculos se pueden
utilizar para asignar ms de un nombre a un archivo. Pero tienen algunas limitaciones importantes. No se pueden
utilizar para asignar a un directorio ms de un nombre. y no se pueden utilizar para vincular nombres de archivos
sobre computadoras diferentes. Esto es un fallo importante de los vnculos, ya que la Versin 4 proporciona dos
sistemas de archivos distribuidos, NFS y RFS, que hacen posible la comparticin de archivos entre
computadoras.

Estas limitaciones pueden eliminarse utilizando vnculos simblicos, introducidos en el UNIX Sistema V Versin 4
procedente de BSD. Un vnculo simblico es un archivo que slo contiene el nombre de otro archivo. Cuando el
sistema operativo opera sobre un vnculo simblico, ste se dirige al archivo al que apunta el vnculo simblico.

Los vnculos simblicos no slo se pueden utilizar para asignar ms de un nombre a un archivo, sino que pueden
usarse para asignar ms de un nombre a un directorio.

Los vnculos simblicos tambin pueden ser utilizados por vnculos que residen en sistemas de archivos fsicos
diferentes. Esto hace posible que un rbol de directorio lgico incluya archivos que residen sobre computadoras
diferentes que estn conectadas a travs de una red.

Es anlogo a lo que Microsoft Windows denomina accesos directos.

Directorios. Un directorio es un archivo que contiene informacin sobre las localizaciones y atributos de otros
archivos. Bsicamente un directorio es un contenedor de un grupo de archivos organizados de la forma deseada.

Es el concepto de carpetas de otros sistemas operativos.

TEMARIO-TICB-feb04 B1G2T01
Actualizado en febrero de 2004 Pgina 14 de 31
www.haztefuncionario.com Material registrado. Prohibida su reproduccin.

Copia exclusiva de Jos Ignacio Mndez Yanes. Av de los Poblados 133, 7 - 3 - 28025 - Madrid - Tel. 917464968

Sobre el Sistema UNIX, un directorio tambin puede contener otros directorios. Un directorio dentro de otro
directorio se denomina subdirectorio. Se puede subdividir un directorio en tantos subdirectorios como desee, y
cada uno de ellos puede contener tantos subdirectorios como quiera.

La estructura del directorio es la siguiente:

Cada entrada en el directorio contiene el nombre del archivo y su nmero de inode. La cantidad de bytes
reservada para el nombre del archivo suele ser 256 caracteres. Toda la informacin relativa al archivo est
almacenada en su inode. Todos los directorios en UNIX son archivos y pueden contener cualquier nmero de
entradas, adems no existe limitacin en el nmero de archivos o subdirectorios que se pueden almacenar en un
directorio.

Numero de inode Nombre del archivo

Entrada de un directorio

Archivos de dispositivos.

UNIX se comunica con los dispositivos perifricos por medio de los archivos de dispositivo, por lo tanto se puede
ver un archivo de dispositivo como un archivo especial que representa un dispositivo fisico. Puede ser un terminal,
un tarjeta de red, disco duro SCSI o IDE, etc, es decir, es el medio utilizado para acceder a dispositivos hardware,
estando por tanto, cada hardware asociado a un archivo especial.

Desde la perspectiva del usuario, el Sistema UNIX trata los archivos especiales como archivos ordinarios; esto es,
puede leer o escribir los dispositivos exactamente como lee y escribe los archivos ordinarios. Sin embargo no
contienen datos sino informacin de la ubicacin del dispositivo y de cmo se va a comunicar UNIX con el mismo.

Esta forma de tratar el hardware del sistema tiene una consecuencia importante para los usuarios del Sistema
UNIX. Puesto que UNIX trata casi todo como si fuese un archivo, no se necesita aprender las particularidades del
hardware de la computadora. Una vez que se aprende a manejar los archivos del Sistema UNIX, se sabe cmo
manejar todos los objetos del Sistema UNIX.

Los archivos de dispositivos se almacenan en un directorio especial de UNIX: /dev pudiendo ser de dos tipos:
Archivos de dispositivo en modo carcter
Archivos de dispositivo en modo bloque.

Archivos de dispositivo en modo bloque:

Los archivos de dispositivo modo bloque son aquellos que manejan dispositivos en modo bloque. Los dispositivos
modo bloque transfieren datos en bloques de longitud fija a travs de buffers de entrada salida. Los dispositivos
que usan estos archivos son dispositivos de almacenamiento y acceso aleatorio, es decir, discos, cdroms, etc
Para crear este tipo de archivos se utiliza el comando mknod

Archivos de dispositivo en modo carcter:

Los archivos de dispositivo en modo carcter son aquellos que manejan dispositivos en modo carcter. Los
archivos de dispositivo de tipo carcter son aquellos que la entrada salida se realiza carcter a carcter no
necesitando de ningun tipo de sistema de archivos en especial, por lo tanto no se utilizan los buffers. Algunos
ejemplos de este tipo de archivos son: monitores, impresoras, etc. Al igual que los archivos de dispositivo modo
bloque, estos archivos se crean mediante la llamada al sistema mknod

Algunos de los archivos de dispositivos ms relevantes son:

/dev/dsk Archivo de dispositivo modo bloque de las unidades de disco duro.


En Linux los discos duros tienen como archivo de dispositivo IDE el archivo /dev/hdxy, donde x es
una letra que varia en funcin de la interfaz IDE a la que este conectado el dispositivo en placa y a la
configuracin de este (maestro y esclavo):

TEMARIO-TICB-feb04 B1G2T01
Actualizado en febrero de 2004 Pgina 15 de 31
www.haztefuncionario.com Material registrado. Prohibida su reproduccin.

Copia exclusiva de Jos Ignacio Mndez Yanes. Av de los Poblados 133, 7 - 3 - 28025 - Madrid - Tel. 917464968

a para el dispositivo conectado al IDE 1 como maestro


b para el dispositivo conectado al IDE 1 como esclavo
c para el dispositivo conectado al IDE 2 como maestro
d para el dispositivo conectado al IDE 2 como esclavo
e y es un numero que indica la particin del disco:
hdb1 particin primera del disco duro conectado al IDE1 como esclavo.
hdb2 particin secundaria del disco duro conectado al IDE1 como esclavo.
/dev/sdxy Archivo de dispositivo modo bloque para los discos de tipo SCSI (Small Computer Standard
Interface). xy identifica el nmero de disco y su particin correspondiente.
/dev /fdx Archivo de dispositivo correspondiente al disco flexible x.
/dev /ttyNN Archivo correspondiente al terminal NN.
/dev/lpx Archivo correspondiente a la impresora x.
/dev/cdrom Archivo de dispositivo asociado al CD-ROM.

Estos archivos, al hacer un listado del directorio /dev, se identifican por su nombre y por dos nmeros, llamados
nmero mayor (major numbetr) y nmero menor (minor number). El primero de ellos coincide para todos los
dispositivos del mismo tipo y con el segundo se diferencia entre distintos dispositivos de la misma familia. Ambos
nmeros son empleados por el ncleo.

Tuberas con nombre (pipes)

Son mecanismos de comunicacin que permiten la transferencia de datos entre dos procesos.

A continuacin se vera como crear archivos de dispositivo, pipes o sockets.


Tanto los ficheros especiales orientados a caracter como los orientados a bloque, y tambien los pipes, se crean
con la orden mknod (MaKe NODe).

La sintaxis bsica de mknod es la siguiente: mknod <fichero> [tipo] major minor

donde:

<fichero> nombre que queremos asignarle al archivo.


[tipo] Contiene los valores:
p (pipe)
c (character)
b (block),
major corresponden a lo que se denomina major number, nmero principal de un archivo de dispositivo y
designa un tipo de perifrico (impresoras, discos duros, terminales...),
minor corresponden a lo que se denomina minor number, nmero secundario de un archivo de dispositivo
hace referencia a un elemento de dicha clase de dispositivo (la impresora conectada a lp0, la terminal
nmero 3...).

4.5. ESTRUCTURA INTERNA DEL SISTEMA DE ARCHIVOS

En la estructura del sistema de archivos de un UNIX versin System V se distinguen cuatro partes:

El bloque de arranque.

TEMARIO-TICB-feb04 B1G2T01
Actualizado en febrero de 2004 Pgina 16 de 31
www.haztefuncionario.com Material registrado. Prohibida su reproduccin.

Copia exclusiva de Jos Ignacio Mndez Yanes. Av de los Poblados 133, 7 - 3 - 28025 - Madrid - Tel. 917464968

El super bloque.
La lista de nodos ndice
Los bloques de datos.

Vamos a describir a continuacin cada una de estas partes.

4.5.1. EL BLOQUE DE ARRANQUE

Se sita al comienzo del sistema de archivos, en el primer sector, y contiene el cdigo de arranque que es un
programa que se encarga de buscar el sistema operativo y cargarlo en memoria para iniciar la mquina.

4.5.2. EL SPER BLOQUE

El sper bloque ocupa el primer bloque lgico del disco y describe el estado de un sistema de archivos

El sper bloque es la pieza mas importante en cualquier sistema de archivos, tanto que si se daa se pierden
todos los datos almacenados en el: sistema de archivos que representa. Para evitar esto, el superbloque es
redundante, es decir, existen varias copias del mismo, distribuidas por el disco para evitar los inconvenientes de
su prdida

En el sper bloque se almacena la siguiente informacin:

Tamao del sistema de archivos.


Tamao de cada bloque de disco.
Lista de bloques libres.
ndice del siguiente bloque libre en la lista de bloques libres.
Tamao de la lista de inodes.
Nmero de inodes libres
Lista de inodes libres
ndice del siguiente inode libre en la lista de inodes libres
Bandera (flag) que indica si el super bloque se ha modificado o no.

4.5.3. LA LISTA DE NODOS INDICE

Se encuentra a continuacin del super bloque.

Esta lista tiene una entrada (denominada inode) por cada archivo del sistema de archivos donde se guarda la
descripcin del mismo.

Durante el arranque del sistema, el ncleo lee la lista de inodes del disco y carga una copia en memoria conocida
como tabla de inodes.

Los inodes contienen toda la informacin acerca del archivo que representan. Esta informacin incluye
propietario, derechos de acceso, tamao, localizacin en el sistema de archivos, etc. A continuacin se muestran
aquellos campos componentes de un inode ms relevantes:

Identificador del propietario del archivo y del grupo al que pertenece.


Tipo de archivo.

TEMARIO-TICB-feb04 B1G2T01
Actualizado en febrero de 2004 Pgina 17 de 31
www.haztefuncionario.com Material registrado. Prohibida su reproduccin.

Copia exclusiva de Jos Ignacio Mndez Yanes. Av de los Poblados 133, 7 - 3 - 28025 - Madrid - Tel. 917464968

Derechos de acceso. Se reservan nueve bits para representar los derechos de lectura, escritura y
ejecucin (rwx) para el propietario, el grupo y el resto, y otros tres bits para definir si estn o no activas las
banderas setuid, setgid y sticky bit.
Fecha de la ltima modificacin.
Contador de enlaces (links).
Tamao del archivo.
Entradas para los bloques de direccin. Las entradas que apuntan a los bloques de datos son 13. Los 10
primeros punteros apuntan a bloques directos; as, los datos de archivos pequeos (a lo sumo 10 bloques
de disco) pueden ser referenciados inmediatamente, puesto que mientras el archivo esta abierto se
mantiene una copia de su inode en memoria principal.
Los tres apuntadores siguientes apuntan a bloques indirectos.
El primero de ellos es un puntero indirecto simple,
El segundo un puntero indirecto doble
El tercero es un puntero indirecto triple.
La estructura comentada aparece representada en la siguiente Figura 2.

TEMARIO-TICB-feb04 B1G2T01
Actualizado en febrero de 2004 Pgina 18 de 31
www.haztefuncionario.com Material registrado. Prohibida su reproduccin.

Copia exclusiva de Jos Ignacio Mndez Yanes. Av de los Poblados 133, 7 - 3 - 28025 - Madrid - Tel. 917464968

Tabla de inode bloques de datos

bloques de datos

SIMPLE
DOBLE
TRIPLE
bloques de datos

bloques de datos

bloques de datos

Figura 2. Estructura Tabla de Inodes

4.5.4. BLOQUES DE DATOS

Comienzan a continuacin de la lista de nodos ndice y ocupan el resto del sistema archivos. En los bloques de
datos se almacena el contenido de los archivos referenciados por un inode.

TEMARIO-TICB-feb04 B1G2T01
Actualizado en febrero de 2004 Pgina 19 de 31
www.haztefuncionario.com Material registrado. Prohibida su reproduccin.

Copia exclusiva de Jos Ignacio Mndez Yanes. Av de los Poblados 133, 7 - 3 - 28025 - Madrid - Tel. 917464968

4.5.5. CREACIN DE UN SISTEMA DE ARCHIVOS

Para crear un sistema de archivos se utiliza la orden mkfs cuya sintaxis es la siguiente
mkfs [-vct] dispositivo tamao. Donde

Dispositivo es el archivo de dispositivo utilizado para acceder al perifrico


Tamao indica el nmero de bloques que tiene el sistema de archivos
Las opciones vct significan
v modo verboso.
c indica que se realice una comprobacin con objeto de verificar que todos los bloques son correctos.
t sirve para indicar el tipo de sistema de archivos que desamos crear.

Una vez creado el sistema de ficheros, hay que incorporarlo a la estructura jerrquica de Unix, lo que
habitualmente se denomina montar un sistema. Para ello, utilizaremos la orden mount.

Hay que montar los sistemas de archivos en directorios que tienen que estar vacios y a ese directorio se le llama
punto de montaje

La sintaxis bsica es la siguiente:

mount tahvrw dispositivo directorio

t indica el tipo de sistema de archivos que montamos


a monta todos los sistemas de archivos incluidos en el fichero /etc/fstab
h ayuda
v modo verboso
r monta el sistema de archivos en modo lectura
w monta el sistema de archivos en modo lectura-escritura.

Una vez que se acaba de trabajar con un sistema de archivo previamente montado hay que desasociarlo de la
estructura jerarquica, a esto se le llama desmontarlo y para ello se utiliza la orden umount, que recibe como
parmetro bien el directorio a desmontar o bien el dispositivo asociado a ese directorio

4.6. ESTRUCTURA EXTERNA DEL SISTEMA DE ARCHIVOS

La estructura externa del sistema de archivos de Unix es jerrquica en forma de rbol invertido. Al directorio raz
se le denomina con el smbolo / y dentro de el puede haber tantos archivos como directorios se quiera.

Se puede observar que de esta forma se da una relacin padre-hijo, al igual que en cualquier rbol genealgico.
Todos los directorios tienen dos entradas especiales que son:

El punto . denota al propio directorio


El punto punto .. que denota al directoro padre

Al conectarnos al sistema UNIX, nos colocamos en un directorio especial denominado directorio de recepcion o
de partida, este directorio no se debe de confundir con el directorio donde se trabaja en un momento dado, al cual
se le llama directorio de trabajo.

En esta estructura, todo archivo o directorio se define por una ruta, por lo tanto la ruta no es mas que la forma de
localizar un archivo o directorio en el sistema de archivos. Existen dos tipos de rutas:

TEMARIO-TICB-feb04 B1G2T01
Actualizado en febrero de 2004 Pgina 20 de 31
www.haztefuncionario.com Material registrado. Prohibida su reproduccin.

Copia exclusiva de Jos Ignacio Mndez Yanes. Av de los Poblados 133, 7 - 3 - 28025 - Madrid - Tel. 917464968

Rutas absolutas: son aquellas que siempre parten del directorio raiz
Rutas relativas: son aquellas que parten del directorio de trabajo.

4.6.1. DIRECTORIOS Y ARCHIVOS ESTNDAR

En los sistemas operativos tipo UNIX existen una serie de archivos y directorios estndar. Los directorios
estndar contienen archivos concretos.

Directorio raz ( / ) es el origen de la jerarqua del sistema de archivos. Contiene algunos archivos y
directorios estndar.
/bin es el directorio donde se encuentran los ejecutables de la mayora de las rdenes de UNIX, entre las
cuales se cuentan cat, chmod, cp, csh., date, echo, kill, ksh, In, Is, mail, mkdir, more, mv, ping, ps, pwd,
rm, rmdir, sh, stty, tar, vi, y zcat. Todos los archivos de este directorio son archivos ejecutables, o bien
vnculos simblicos que llevan a archivos ejecutables ubicados en otros directorios
/dev Es el directorio de dispositivos, y contiene archivos que corresponden a los dispositivos del sistema
(terminales, unidades de disco, lector de CD-ROM, impresora, etc.) Entre los archivos de este directorio
estn:
cdrom: el lector CD-ROM
fd: la unidad de disquete
hd: dispositivo IDE
sd: dispositivo SCSI
isdn: RDSI
Ip: impresora
tty terminal.
/etc El directorio /etc, contiene archivos para la administracin y configuracin del sistema, estando
restringidos su utilizacin a los usuarios. Entre los archivos residentes en este directorio estn
inetdconf
passwd
printcap
profile
services
shadown
/lib contiene las imgenes de las libreras compartidas. Estos ficheros contienen cdigo que compartirn
muchos programas. En lugar de que cada programa contenga una copia propia de las rutinas
compartidas, estas son guardadas en un lugar comn, en /lib. Esto hace que los programas ejecutables
sean menores y reduce el espacio usado en disco
/lost+found contiene todos los archivos que no estn relacionados con ningn directorio. Estos archivos
se buscan mediante una herramienta de UNIX, fsck (chequeo del sistema de archivos), que se emplea
para comprobar sistemas de archivos.
/tmp Usado por distintas rdenes y aplicaciones, el directorio /tmp contiene archivos temporales. Todos
los archivos de este directorio se borran peridicamente, para que el disco no se llene de archivos
temporales. La duracin de los archivos residentes en el directorio /tmp ser establecida por el
administrador del sistema
/users Dotado de un cierto tipo de organizacin, el directorio /users se utiliza normalmente para
almacenar los directorios iniciales de todos los usuarios del sistema.

TEMARIO-TICB-feb04 B1G2T01
Actualizado en febrero de 2004 Pgina 21 de 31
www.haztefuncionario.com Material registrado. Prohibida su reproduccin.

Copia exclusiva de Jos Ignacio Mndez Yanes. Av de los Poblados 133, 7 - 3 - 28025 - Madrid - Tel. 917464968

/usr Contiene Contienen una serie de subdirectorios que contienen a su vez algunos de los ms
importantes y tiles programas y ficheros de configuracin usados en el sistema. Algunos de estos
subdirectorios son:
/usr/X386 contiene el sistema X Window. El sistema X Window es un entorno grfico grande y
potente el cual proporciona un gran nmero de utilidades y programas grficos, mostrados en
"ventanas" en su pantalla. El directorio /usr/X386 contiene todos los ejecutables de X Window,
ficheros de configuracin y de soporte.
/usr/bin es el almacn real de programas del sistema UNIX. Contiene la mayora de los programas
que no se encuentran en otras partes como /bin.
/usr/etc Como /etc contiene diferentes ficheros de configuracin y programas del sistema,
/usr/etc contiene incluso ms que el anterior. En general, los ficheros que se encuentran en /usr/etc/
no son esenciales para el sistema, a diferencia de los que se encuentran en /etc, que si lo son.
/usr/include contiene los ficheros de cabacera para el compilador de C. Estos ficheros (la mayora de
los cuales terminan en .h, de "header") declaran estructuras de datos, subrutinas y constantes usados
en la escritura de programas en C. Los ficheros que se encuentran en /usr/include/sys son
generalmente usados en la programacin de UNIX a nivel de sistema.
/usr/g++-include contiene ficheros de cabecera para el compilador de C++ (muy parecido a
/usr/include).
/usr/lib contiene las libreras equivalentes "stub" y "static" a los ficheros encontrados en /lib. Al
compilar un programa, este es "enlazado" con las libreras que se encuentran en /usr/lib, las cuales
dirigen al programa a buscar en /lib cuando necesita el cdigo de la librera. Adems, varios
programas guardan ficheros de configuracin en /usr/lib.
/usr/local es muy parecido a /usr contiene programas y ficheros no esenciales para el sistema, pero
que hacen el sistema ms divertido y excitante. En general, los programas que se encuentran en
/usr/local son especficos de su sistema, esto es, el directorio /usr/local difiere bastante entre
sistemas UNIX.
/usr/man Este directorio contiene las pginas de manual. Hay dos subdirectorios para cada
pgina "seccin" de las pginas (use la orden man man para ms detalles). Por ejemplo,
/usr/man/man1 contiene los fuentes (es decir, los originales por formatear) de las pginas de manual
de la seccin 1, y /usr/man/cat1 las pginas ya formateadas de la seccin 1.
/var contiene directorios que a menudo cambian su tamao o tienden a crecer. Muchos de estos
directorios solian residir en /usr, pero los directorios que cambian a menudo han sido llevados a /var.
Algunos de estos directorios son:
/var/adm contiene varios ficheros de inters para el administrador del sistema, especificamente
histricos del sistema, los cuales recogen errores o problemas con el sistema. Otros ficheros guardan
las sesiones de presentacin en el sistema, as como los intentos fallidos.
/var/spool contiene ficheros van a ser pasados a otro programa. Por ejemplo, el correo de llegada
ser almacenado en /var/spool/mail hasta que lo lea o lo borre. Artculos nuevos de las news se
encuentran en /var/spool/news, etc.
/unix contiene la imagen binaria del ncleo de UNIX que se carga al arrancar el sistema. El UNIX BSD
tiene la imagen en /vmunix.
/etc/passwd Es un fichero que contiene la informacin anterior acerca de los usuarios. Cada lnea del
fichero contiene informacin acerca de un nico usuario; el formato de lnea es:
nombre:clave encriptada:UID:GID:info_usuario:dir_inicio:shell
nombre: es el login del usuario que introduce para conectarse.
clave: contiene la contrasea encriptada en los sistemas antiguos de UNIX; actualmente la clave
encriptada aparece en /etc/shadow, con lo que este campo del fichero /etc/passwd aparece en
blanco.
UID: numero asignado al usuario; su rango est entre 0 y 65535, estando reservado el 0 al root y del
1 al 99.

TEMARIO-TICB-feb04 B1G2T01
Actualizado en febrero de 2004 Pgina 22 de 31
www.haztefuncionario.com Material registrado. Prohibida su reproduccin.

Copia exclusiva de Jos Ignacio Mndez Yanes. Av de los Poblados 133, 7 - 3 - 28025 - Madrid - Tel. 917464968

GID: numero asignado al grupo al que pertenece el usuario; su rango est entre 0 y 65535, estando
reservado del 0 al 99.
Info_usuario: contiene informacin relativa al usuario: nombre, telefono, etc.
Dir_inicio: contiene la ruta absoluta del directorio de recepcin del usuario.
Shell: contiene la ruta absoluta del shell de conexin.

4.7. OPERACIONES CON ARCHIVOS Y DIRECTORIOS

Cambio de directorios. Se puede mover entre directorios utilizando la orden cd (change directory), con una ruta
absoluta o relativa.
Si se emite la orden cd sin ningn camino, se mover al directorio de recepcin

Creacin de un directorio. Se puede crear nuevos directorios en el sistema de archivos con la orden mkdir
(make directory).

Movimiento y renombrado de archivos. Un archivo se mueve desde un directorio hasta otro con mv.

Movimiento de directorios. Otra nueva caracterstica de la Versin 4 es la posibilidad de utilizar mv para mover
directorios. Una nica orden mv se puede utilizar para mover un directorio y todos sus archivos y subdirectorios,
de la misma forma que se mueve un nico archivo

Copia de archivos. Un motivo corriente para copiar un archivo es la seguridad, de manera que uno pueda
modificar un archivo sin preocuparse de la prdida del original. La orden cp es similar a mv, excepto que copia
archivos en lugar de moverlos o renombrarlos.

Copia del contenido de un directorio. Una caracterstica nueva de cp en la Versin 4 es la opcin -r (recursive),
que permite copiar una estructura de directorio completa en otro directorio.

Eliminacin de archivos. Para suprimir archivos que no se quieren o no se necesitan ms se utiliza la orden rm
(remove). La orden rm acepta varios argumentos y toma varias opciones.

Si se especifica ms de un nombre de rchivo, elimina todos los archivos nombrados.


Si quiere evitar la eliminacin accidental de archivos, puede utilizar rm con la opcin -i (interactive).

Eliminacin de un directorio. Existen dos formas para eliminar o borrar un directorio.

Si el directorio est vaco (no contiene ni archivos ni subdirectorios), puede utilizar la orden rmdir
(remove directory).
Si el directorio no esta vaco se utiliza la orden rm r
Vinculacin de archivos. La orden ln crea vnculos entre entradas de directorio,

Vnculos simblicos. La orden In puede vincular archivos dentro de un nico sistema de archivos. En la Versin
4 se pueden vincular archivos entre sistemas de archivos utilizando la opcin -s (symbolic) con In.

Visualizacin de archivos y directorios


Para ver los archivos de un directorio, se introduce la orden ls (list):

UNIX mantiene infomlacin complementaria de los archivos, que se puede obtener utilizando las opciones de la
orden ls. Existen muchas opciones con la orden ls. Se utilizan para obtener infomlacin complementaria de los
archivos y para controlar el formato de visualizacin de esta infomlacin.

Los archivos con nombres que comienzan con un punto estn ocultos en el sentido de que nomlalmente no se
visualizan cuando se listan los archivos de un directorio. Para evitar confusin, ls supone que no se quieren listar

TEMARIO-TICB-feb04 B1G2T01
Actualizado en febrero de 2004 Pgina 23 de 31
www.haztefuncionario.com Material registrado. Prohibida su reproduccin.

Copia exclusiva de Jos Ignacio Mndez Yanes. Av de los Poblados 133, 7 - 3 - 28025 - Madrid - Tel. 917464968

estos ficheros a menos que explcitamente se solicite. Es decir, ls no visualiza ningn nombre de archivo que
comience con un . (punto).

Para ver todos los archivos de un directorio, incluidos los ocultos utilice ls -a.

Cuando se utiliza la orden ls no se sabe si un nombre hace referencia aun archivo ordinario, a un programa
ejecutable o a un directorio. Si se ejecuta la orden ls -F, produce una lista donde los nombres se marcan con
smbolos que indican la clase de archivo a que cada nombre hace referencia:

Archivos ejecutables: se listan con * seguidos por sus nombres.


Directorios se listan con / seguidos de sus nombres.
Vnculos simblicos se listan con @ seguidos por sus nombres.
Los archivos ocultos no se listan.

Por defecto, ls en la Versin 4 visualiza los archivos en columnas mltiples, en orden descendente. Existen
algunas opciones frecuentemente utilizadas con la orden ls que controlan el fomlato utilizado para visualizar los
nombres de archivos.

Se puede utilizar la opcin -x para visualizar los nombres de los archivos horizontalmente, en tantas lneas como
sea necesario, en orden ASCll. Se puede utilizar la opcin -1 (uno) para hacer que los archivos se visualicen una
lnea por fila, en orden alfabtico.

Para obtener informacin ms detallada sobre los archivos, se utiliza la opcin -l (longformat) de ls.

Por ejemplo,:

$ ls -1
tota128
drwxr-xr-x 3 you group1 362 Nov 29 02:34 ficher1
lrwxr-xr-x 2 you group1 666 Apr 1 21:17 ficher2
-rwxr-xr-x 1 you group1 82 Feb 2 08:08 ficher3

La primera lnea ("total 28") de la salida da la cantidad en bloques de espacio de disco utilizado

El resto de las lneas del listado muestran informacin sobre cada uno de los archivos del directorio.

Cada lnea del listado contiene siete campos.

El primer carcter de cada lnea informa de la clase de archivo que es:


Archivo ordinario
d Directorio
b Archivo de bloques especiales
c Archivo de caracteres
l Vinculacin simblica
p Archivo especial de cauce nombrado

El resto del primer campo, es decir, los nueve siguientes caracteres, contienen informacin sobre las
autorizaciones de los archivos. Las autorizaciones determinan quin puede operar con un archivo o un directorio y
cmo puede utilizarlo. Las autorizaciones son una parte importante del sistema de archivos de UNIX.

El segundo campo de la izquierda contiene la cuenta de vinculacin

TEMARIO-TICB-feb04 B1G2T01
Actualizado en febrero de 2004 Pgina 24 de 31
www.haztefuncionario.com Material registrado. Prohibida su reproduccin.

Copia exclusiva de Jos Ignacio Mndez Yanes. Av de los Poblados 133, 7 - 3 - 28025 - Madrid - Tel. 917464968

Los campos tercero y cuarto de la izquierda muestran el propietario del archivo (en este caso los archivos
pertenecen al nombre you y el grupo al que pertenece group1).

El quinto campo refleja el tamao en bytes.

El sexto campo indica la fecha en la que se cre o modific por ltima vez el archivo.

El sptimo campo indica el nombre del archivo.

Contenido de un archivo. La forma ms simple y ms bsica de inspeccionar un archivo es con la orden cat. cat
(de concatenate) toma cualquier archivo que se le especifica y lo visualiza sobre la pantalla.

5. INTERFACES GRAFICAS.
La interfaz grafica de UNIX es el sistema X-Window (ojo no se dice X-Windows), o familiarmente conocido por X.
El nacimiento de X deriva del diseo de un entorno de ventanas denominado W para el sistema operativo V en la
Universidad de Stanford. Al mismo tiempo en el MIT se trabajaba en el proyecto Atenea, que intentaba conseguir
una interfaz grfica independiente de una plataforma hardware concreta y que fuera capaz de comunicarse en
red.

Los dos proyectos se juntaron en uno solo, dando lugar a la primera versin de X-Window en el 1986,
denominndose esta primera versin X10

IBM, Sun, AT&T, MIT y DEC forman un grupo denominado X Consortium, para promocionar y estandarizar X
Window. Este grupo de grandes organizaciones supervisa la creacin y lanzamiento de nuevas versiones de X11.

La versin actual de X es la X11R6 (X11 Release 6). La mayor parte de los UNIX actuales incorporan el sistema
de ventanas X Windows diferenciandose en el gestor de ventanas que utilizan.

Para ser ms concretos en la definicin hay que decir que X est desarrollado bajo el modelo cliente-servidor.

El software servidor gestiona todo el acceso al hardware, encargandose de controlar los dispositivos
que se utilizarn en la interfaz grafica: raton, teclado y pantalla. El servidor X recibe los eventos
generados por este hardware y tambien es el encargado de mostrar los grficos e iconos en el monitor.
Mas explcitamente, las tareas del servidor son:
Manipulacin a bajo nivel de ventanas (operaciones de creacin y destruccin de las mismas), sin
confundirlo con el manejo que posteriormente podemos hacer mediante el gestor escogido.
Servir como gestor de recursos del sistema para las aplicaciones a ejecutar.
Procesar rdenes para el dibujo de grficos.
Notificar a las aplicaciones los eventos ocurridos (pulsado de una tecla, movimiento del ratn,
errores...)
Monitorizar y comunicar a las aplicaciones los errores que se pueden generar.
Control de la pantalla.
Comunicacin entre los diferentes clientes (cortar y pegar...)

El software cliente son todos los programas que utilizan el servidor X para interactuar con los usuarios,
estableciendo para ello una conexin con el servidor X por la cual le dicen al servidor que es lo que
quieren mostrar en la pantalla y el servidor les envia las ordenes del usuario. Ejemplo de clientes son
xterm (simula un terminal en una ventana), xman, xview, Mosaic (existe una versin para LINUX), etc..
cada uno de lo que coloquialmente denominamos "programas para X " "programas para ejecutar bajo
X" (aunque con xterm tambin podemos ejecutar cualquier otro software que no est concebido para X).

TEMARIO-TICB-feb04 B1G2T01
Actualizado en febrero de 2004 Pgina 25 de 31
www.haztefuncionario.com Material registrado. Prohibida su reproduccin.

Copia exclusiva de Jos Ignacio Mndez Yanes. Av de los Poblados 133, 7 - 3 - 28025 - Madrid - Tel. 917464968

La comunicacin con el servidor se realiza mediante el denominado protocolo X Network que especifica una
serie de normas y convenios sobre como se envia la informacin entre los clientes y los servidores.

Gracias a este protocolo X y a la distincin entre clientes y servidores, es posible ejecutar un cliente X en un
ordenador remoto.

Por encima del programa de implementacin del protocolo X Network est una interfaz de bajo nivel, que se
encuentra entre el sistema base de red y los programas de ms alto nivel. Esta interfaz de bajo nivel se llama
Xlib. Los programas de aplicacin normalmente utilizan funciones de Xlib en vez de otras funciones de bajo nivel.

Por ultimo decir que XFree86 es la implementacin del X Window disponible para LINUX (y otras
implementaciones del UNIX) en su versin 3.1.2, basada en el servidor X386 desarrollado por el MIT destinado a
plataformas de Intel 386/486 y Pentium adems de la configuracin hardware comn a este tipo de procesadores.

Para conocer ms detalles del software instalado podemos ejecutar el comando 'xdpyinfo' en una ventana de
terminal el cual nos mostrar informacin detallada sobre la versin y caractersticas del entorno grfico.

XFree86 est distribuido bajo una licencia que permite disponer libremente tanto de software que lo forma en
forma de cdigo fuente como en formato binario. Est desarrollado, mantenido y distribuido por grupo XFree86
Project Inc., cuyo fin es el desarrollar el servidor X Window para cualquier UNIX ejecutable en plataformas PC
(http://www.xfree.org).

5.1. GESTOR DE VENTANAS

Un gestor de ventanas no es mas que un programa cliente que se encarga de aportar a todas las ventanas un
aspecto comn en base a bordes de ventana, estilo de los botones, barras de desplazamiento, barra de titulo, etc.

Las distribuciones de UNIX (al igual que las de Linux) traen consigo diversos gestores de ventanas dandole la
oportunidad al usuario que escoga el que ms le gusta o el que se acople mejor a su mquina, etc.

Algunas de sus tareas son:

Permitir redimensionar las ventanas.


Mover las ventanas a cualquier posicin de la pantalla.
Convertir una ventana en un icono y viceversa.
Decorar ventanas con barras de ttulos y desplazamiento, bordes, botones, etc.
Control de todas las ventanas abiertas en un determinado momento.
Lanzamiento de aplicaciones.

Gestores de ventanas son los famosos GNOME y KDE para Linux, CDE para Solaris, fwdm para Unix, aunque
existen muchos ms disponibles en internet

6. IMPLEMENTACIONES COMERCIALES Y SOFTWARE LIBRE


Las compaas que distribuyen el sistema operativo UNIX, al portarlo a sus propias mquinas, tambin le dan un
nombre propio. A continuacin y en forma de tabla se muestra una lista de alguna de las compaas que
distribuyen UNIX en sus equipos.

TEMARIO-TICB-feb04 B1G2T01
Actualizado en febrero de 2004 Pgina 26 de 31
www.haztefuncionario.com Material registrado. Prohibida su reproduccin.

Copia exclusiva de Jos Ignacio Mndez Yanes. Av de los Poblados 133, 7 - 3 - 28025 - Madrid - Tel. 917464968

Nombre empresa Nombre sistema operativo UNIX


AT&T UNIX SVR3
AT&T UNIX SVR4
Sun Microsystems/SunSoft SunOS
Sun Microsystems/SunSoft Interactive UNIX
Hewlet Packard (HP) HP-UX
Data General DG-UX
Novell UnixWare
Santa Curz Operation (SCO) UnixWare
Santa Curz Operation (SCO) XENIX
Santa Curz Operation (SCO) OpenServer
IBM AIX
Silicon Graphics (SGI) IRIX
Digital Equipment Corp (DEC) ULTRIX
Digital Equipment Corp (DEC) Digital UNIX
NCR NCR UNIX
Siemens Nixdorf Reliant UNIX
Caldera Caldera OpenLinux
RedHat Software RedHat Linux

Otras compaas no tienen una vocacin tan comercial como las anteriores. Ejemplos de estas compaias son:

Nombre empresa Nombre sistema operativo UNIX


UC Berkeley BSD (Berkeley Software Distribution)
FreBSD Project FreeBSD
Free Software Foundation GNU/Linux
Linux Trovalds Linux Kernel
Debian Debian GNU/Linux

Hay otras implementaciones de UNIX para el 80386 y 80486. La arquitectura 80386 se presta al diseo de UNIX y
buen un nmero de vendedores han sacado ventaja de este factor.

Todas las versiones no comerciales de UNIX soportan bsicamente el mismo software, entorno de programacin,
y caractersticas de red. Sin embargo, hay algunas fuertes diferencias entre las versiones comerciales de UNIX.

En primer lugar, las versiones no comerciales soportan un rango de hardware diferente de las implementaciones
comerciales, es decir, soportan la mayora de dispositivos hardware conocidos, sin embargo, los vendedores de
UNIX comercial por lo general tienen una base de soporte menos amplia, reduciendose a su propio hardware

En lo que concierne a estabilidad y robustez, muchos usuarios han comentado que las versiones no comerciales
son al menos tan estables como los sistemas UNIX comerciales.

El factor ms importante a considerar por muchos usuarios es el precio. El software no comercial es gratis, si se
tiene acceso a Internet. Si no tiene acceso a Internet, tiene la opcin de comprarlo pidindolo por correo en
disquetes, cinta o CD-ROM.

El valor de las implementaciones comerciales de UNIX incluye el precio del software en s, mas la documentacin,
el soporte, y relativamente una calidad. Estos factores son muy importantes para grandes instituciones, pero los
usuarios de ordenadores personales pueden no necesitar esos beneficios.

TEMARIO-TICB-feb04 B1G2T01
Actualizado en febrero de 2004 Pgina 27 de 31
www.haztefuncionario.com Material registrado. Prohibida su reproduccin.

Copia exclusiva de Jos Ignacio Mndez Yanes. Av de los Poblados 133, 7 - 3 - 28025 - Madrid - Tel. 917464968

7. CONCLUSIN
UNIX es uno de los sistemas operativos con ms fama en todo el mundo junto con los sistemas operativos de
Microsoft, sin embargo, cabe destacar que cuando se habla de UNIX se est haciendo referencia a una
implementacin concreta de UNIX.

Es un sistema que posee una alta capacidad de configuracin, proporciona varios interpretes de comandos con
una gran disponibilidad de configuracin y una gestin del sistema de archivos inmejorable, asociando un sistema
de archivos determinado a una porcin del rbol jerrquico.

De los shells ms utilizados en UNIX destaca sobre todo el Bourne Shell (sh), que se encuentra en todas las
versiones de UNIX, y el bash (Bourne Again Shell) que incorpora las mejoras que aplicaron en su da el C Shell y
el Korn Shell al Bourne Shell, este ltimo utilizado mayoritariamente en LINUX.

Es curioso observar como a partir de una versin concreta de UNIX, las diversas compaas que ofrecen su
propio UNIX conservar una forma estndar de colocar sus ficheros y directorios en la estructura jerrquica de
UNIX.

El temor a la instalacin es lo primero que se le puede achacar al sistema frente a otros como por ejemplo UNIX,
sin embargo es agradable decir que las compaas se estn dando cuenta de estos detalles y en las ultimas
versiones de sus respectivos UNIX se estn esforzando en la realizacin de una instalacin grfica. Por ejemplo
las famosas distribuciones de RedHat y SuSe.

Que decir tiene la configuracin del sistema, que tambin es complicada por el amplio numero de opciones
disponibles para cualquier aplicacin (por ejemplo un firewall) y como pasa anteriormente las compaas tambin
se mejoran da a da en este aspecto, solo hay que echarle un vistazo a la ultima versin de SuSe, donde casi
toda la configuracin del sistema se realiza con asistentes.

Los comandos bsicos para operar con archivos y directorios son los mismos en todos los interpretes y en todas
las versiones de UNIX, variando eso si, ciertos comandos de configuracin.

Gracias al modelo cliente-servidor del sistema X-Window es posible ejecutar un entorno grfico en un monitor que
no este fsicamente conectado al sistema, incluso con separacin de miles de kilmetros. Algo parecido se puede
hacer tambien ahora con Windows XP y su famosa herramienta de control remoto de escritorio.

8. BIBLIOGRAFA
James C. Amstrong Jr.: Los secretos de UNIX.
M. Catalina Gallego y A. Catalina Gallego: Iniciacin y Referencia Unix/Linux
Steve Moritsugu: La Biblia de UNIX.
Syed M. Sarwar, Robert Koretsky, Syed A. Sarwar: El libro de UNIX.

TEMARIO-TICB-feb04 B1G2T01
Actualizado en febrero de 2004 Pgina 28 de 31
www.haztefuncionario.com Material registrado. Prohibida su reproduccin.

Copia exclusiva de Jos Ignacio Mndez Yanes. Av de los Poblados 133, 7 - 3 - 28025 - Madrid - Tel. 917464968

9. ESQUEMA RESUMEN
Unix es un sistema operativo totalmente aceptado en el mundo de la informatica y sobre todo como servidor de
red, debido a sus caractersticas inherentes. Existen sobre todo dos versiones de UNIX principales

UNIX System V de AT&T


BSD de la Universidad de Berkeley

Como caractersticas principales a destacar resaltan:

El sistema est escrito en un lenguaje de alto nivel, hacindolo fcil de leer, comprender, cambiar, y
mover a otras mquinas.
Posee una simple interfase de usuario con el poder de dar los servicios que los usuarios quieren.
Provee de primitivas que permiten construir programas complejos a travs de programas simples.
Usa un sistema de archivos jerrquico que permite un mantenimiento fcil y una implementacin eficiente.
Usa un formato consistente para los archivos, el flujo de bytes, haciendo a los programas de aplicacin
ms fciles de escribir.
Provee una simple y consistente interfase a los dispositivos perifricos.
Es un sistema multiusuario y multitarea; cada usuario puede ejecutar varios procesos simultneamente.
Oculta la arquitectura de la mquina al usuario, haciendo fcil de escribir programas que se ejecutan en
diferentes implementaciones hardware

En cuanto a los interpretes de comandos en modo texto destacan sobre todo 4:

Bourne Shell (sh); es el que distribuye AT&T con el UNIX.


C Shell (csh), desarrollado en la Universidad de Berkeley basado en el lenguaje C.
Korn Shell (ksh), interface escrita por David Korn.
BASH (Bourne Again Shelll) que unifica las caractersticas del csh y ksh junto con la versin inicial del
Bourne Shell (sh)

En todos los shells se pueden realizar las siguientes tareas:

Los modos de invocar una orden son:


Teclear el comando y pulsar enter
ampersand, &, para ejecutar una orden en el modo subordinado.
; para invocar varias ordenes desde una unica linea.
Utilizar comodines para los nombres de archivos (*, ? , [ ])
Cambiar la salida y la entrada estndar con los operadores de redireccin ( >,>>,< y | )

El shell dispone de un mecanismo para definir variables que se utilizan para almacenar informacin utilizada por
los programas del sistema o por el usuario. Algunas de esas variables son.

HOME contiene el nombre de camino absoluto del directorio de recepcin.


PATH lista, en orden, los directorios en los que el shell busca para encontrar el programa a ejecutar
cuando se teclea una orden.
PSl y PS2 definen los signos de sus peticiones de orden primaria y secundaria, respectivamente.

TEMARIO-TICB-feb04 B1G2T01
Actualizado en febrero de 2004 Pgina 29 de 31
www.haztefuncionario.com Material registrado. Prohibida su reproduccin.

Copia exclusiva de Jos Ignacio Mndez Yanes. Av de los Poblados 133, 7 - 3 - 28025 - Madrid - Tel. 917464968

LOGNAME contiene su nombre de presentacin. Lo fija automticamente el sistema.


SHELL contiene el nombre de su programa de shell.
TERM contiene informacin sobre el tipo de terminal que se est utilizando. Esta informacin es
necesaria para permitir a los programas que comparen su salida con las capacidades del terminal y para
interpretar su entrada correctamente.

El sistema de archivos de UNIX permite organizar y gestionar la informacin contenida en el equipo. Aunque
muchas de las caractersticas del sistema de archivos se inventaron.

Las caractersticas del sistema de archivos son:

Para cada archivo se definen 3 tipos de acceso diferentes: lectura, escritura y ejecucin.
UNIX no impone ninguna restriccin a la organizacin interna de un fichero.
UNIX ofrece herramientas para realizar copias de seguridad de ficheros
Tratar a los dispositivos de entrada salida como si fuesen archivos.
Tiene una estructura jerrquica en forma de rbol invertido.
Realizar un tratamiento consistente de los datos de los archivos.

En UNIX existen cinco tipos de archivos:

Archivos ordinarios: Almacenar informacin en dispositivos de almacenamiento secundario


Directorios: archivo que contiene informacin sobre las localizaciones y atributos de otros archivos
Vinculo: forma de que un archivo tenga dos nombres distintos
Vinculo simbolico: Equivale al acceso directo en windows
Archivos de dispositivos: archivo especial que representa un dispositivo fisico
Archivos de dispositivo en modo carcter. Transfieren datos carcter a carcter.
Archivos de dispositivo en modo bloque: Transfieren datos en bloques.
Tuberas (pipes) con nombre: Mecanismo de comunicacin para transferencia de datos entre 2 procesos

En la estructura del sistema de archivos de un UNIX versin System V se distinguen cuatro partes:

El bloque de arranque: contiene el programa busca el sistema operativo y lo carga en memoria para
iniciar la mquina.
El super bloque. Muestra el estado de un sistema de archivos
La lista de nodos ndice: tiene una entrada (denominada inode) por cada archivo del sistema de archivos
donde se guarda la descripcin del mismo.
Los bloques de datos. Almacenan el contenido de los archivos referenciados por un inode.

La interfaz grfica de UNIX es el sistema X-Window basado en el modelo cliente servidor. Conceptos importantes

El servidor X gestiona todo el acceso al hardware, encargndose de controlar los dispositivos que se
utilizarn en la interfaz grafica: ratn, teclado y pantalla. El servidor X recibe los eventos generados por
este hardware y tambin es el encargado de mostrar los grficos e iconos en el monitor.
El software cliente programas que utilizan el servidor X para interactuar con los usuarios
Protocolo X: Dicta las normas a seguir para lograr una comunicacin cliente servidor.
Gestor de ventanas: Ofrece una apariencia comn a todas las ventanas.

TEMARIO-TICB-feb04 B1G2T01
Actualizado en febrero de 2004 Pgina 30 de 31
www.haztefuncionario.com Material registrado. Prohibida su reproduccin.

Copia exclusiva de Jos Ignacio Mndez Yanes. Av de los Poblados 133, 7 - 3 - 28025 - Madrid - Tel. 917464968

TEMARIO-TICB-feb04 B1G2T01
Actualizado en febrero de 2004 Pgina 31 de 31

S-ar putea să vă placă și