Beruflich Dokumente
Kultur Dokumente
UNIX
Contenidos
Captulo 1: Introduccin ............................................................................................. 1
H Historia del Sistema UNIX ..................................................................................... 2
Nacimiento del Sistema UNIX................................................................................ 2
Evolucin del Sistema UNIX .................................................................................. 3
Difusin del Sistema UNIX..................................................................................... 3
AT&T UNIX ............................................................................................................ 4
Berkeley UNIX ....................................................................................................... 4
Intentos de Estandarizacin de UNIX .................................................................... 5
Metas de UNIX ....................................................................................................... 5
Caractersticas de UNIX ........................................................................................ 6
Captulo 2: Conceptos Fundamentales ...................................................................... 7
H
H
H
H
H
H
Usuario .................................................................................................................. 8
Archivo ................................................................................................................... 8
Proceso ................................................................................................................10
Daemon ............................................................................................................... 10
Driver ................................................................................................................... 11
Stream ................................................................................................................. 11
Contenidos
Pgina i
UNIX
Contenidos
Pgina ii
UNIX
H
H
H
Contenidos
Pgina iii
UNIX
Pgina iv
UNIX
Pgina v
UNIX
Contenidos
Pgina vi
UNIX
CAPITULO 1:
Introduccin
Captulo 1: Introduccin
Pgina 1
UNIX
Captulo 1: Introduccin
Pgina 2
UNIX
Captulo 1: Introduccin
Pgina 3
UNIX
poda redirigirse para generar cdigo objeto para casi cualquier procesador. Por aos,
casi todos los compiladores de C estuvieron basados en el compilador de Johnson, el
cual ayud enormemente a la difusin del sistema UNIX.
Para mediados de la dcada de los 80, UNIX tena una amplia difusin en el mercado
de las minicomputadoras y estaciones de trabajo de una multitud de fabricantes.
AT&T UNIX
Luego de la divisin de la AT&T en 1984 debida a las leyes antimonopolio, la compaa
se encontr en libertad de establecer una subsidiaria en el mercado informtico, lo que
hizo inmediatamente. Al poco tiempo lanz su primer producto comercial UNIX, el
System III. Este sistema no tuvo un feliz recibimiento, y fue reemplazado un ao mas
tarde por el System V (es un misterio que paso con el System IV). Desde entonces,
han hecho su aparicin las Releases 2, 3 y 4 del AT&T UNIX System V, siendo esta
ltima la que se halla en vigencia (conocida como S5V4).
Berkeley UNIX
Una de las universidades que adquiri el UNIX Versin 6 fue la Universidad de California
en Berkeley. Debido a que el cdigo fuente se encontraba disponible, Berkeley lo
modific substancialmente, produciendo una versin mejorada para la PDP-11 llamado
1BSD (First Berkeley Software Distribution), al cual sigui rpidamente la 2BSD, tambin
para la misma mquina. Las versiones 3BSD y 4BSD se implementaron en la VAX de
DEC, la sucesora de la PDP-11. Entre las mejoras proporcionadas por estas versiones,
figuraban memoria virtual, paginacin, agilizacin del sistema de archivos y utilizacin
de nombres de archivos mayores de 14 caracteres.
Asimismo, debido a los trabajos de Berkeley en conjunto con la DARPA (Defense
Advanced Research Proyects Agency) del Departamento de la Defensa Norteamericano,
naci el TCP/IP, el protocolo de redes de BSD, el que se convirti en el estndar de
facto para la comunicacin entre computadoras.
El modelo de interfaz con TCP/IP, el socket, es actualmente el modelo utilizado para
implementar la comunicacin en redes en la mayora de los sistemas operativos actuales
(incluido MS Windows).
Berkeley aadi tambin una cantidad substancial de nuevos programas utilitarios,
incluyendo un nuevo editor (vi), un nuevo shell (csh), compiladores de Pascal y Lisp,
etc.
Estas mejoras provocaron que Sun Microsystems, DEC y otros fabricantes basaran su
versin de UNIX en la implementacin de Berkeley en lugar del UNIX oficial (Versin
V).
Captulo 1: Introduccin
Pgina 4
UNIX
Captulo 1: Introduccin
Pgina 5
UNIX
Caractersticas de UNIX
G
G
G
G
G
G
G
G
Captulo 1: Introduccin
Pgina 6
UNIX
CAPITULO 2:
Conceptos Bsicos
Pgina 7
UNIX
Conceptos Fundamentales
Usuario:
Un usuario es toda aquella entidad que est habilitada para utilizar recursos del sistema. Puede ser una persona o un programa. Para ello, debe poseer una UID (User
IDentification) y un GID (Group IDentification). Los usuarios humanos deben poseer
adems una nombre de usuario (login name) y una clave de acceso (password).
El usuario root:
En todos los sistemas UNIX existe un usuario llamado root o superusuario. Es aquel
que posee todos los privilegios de acceso al sistema. Puede acceder a todos los archivos, agregar y quitar usuarios, instalar nuevos programas, reconfigurar el sistema, etc.
Tamben puede otorgar derechos a otros usuarios para que ejecuten taras administrativas (redes, impresin, bases de datos, etc.) pero siempre conserva los mximos
privilegios del sistema.
Por definicin, su nombre de usuario es root, su UID es 0 y su GID es 0.
Algunos usuarios standard del sistema:
root
daemon
adm
guest
Archivo:
Los archivos se utilizan para toda la entrada y salida (E/S) de informacin en el sistema
operativo. Esto estandariza el acceso tanto al software como al hardware. La entrada
se produce cuando se modifica o se graba en el contenido de un archivo. La salida se
produce cuando se lee el contenido de un archivo o se transfiere a otro archivo. Por
ejemplo, para crear una copia impresa de un archivo, el sistema lee la informacin del
archivo de texto y graba dicha informacin en el archivo que representa la impresora.
Cada archivo tiene un conjunto de permisos (llamado modo de acceso) que determinan
quin puede leer, modificar o ejecutar el archivo.
Tipos de archivos:
normal
directorio
especial
Pgina 8
UNIX
Todos los tipos de archivos reconocidos por el sistema se enmarcan en una de estas
categoras. No obstante, el sistema operativo utiliza muchas variaciones de estos tipos
bsicos.
Archivos normales:
Los archivos normales son los archivos ms usuales. Otro nombre para los archivos
normales es archivos ordinarios. Los archivos normales contienen datos.
H
Archivos de texto:
Los archivos de texto son archivos normales que contienen informacin que el usuario
puede leer. Esta informacin se almacena en ASCII. Puede visualizar e imprimir dichos
archivos.
H
Archivos binarios:
Los archivos binarios son archivos normales que contienen informacin que el sistema
puede leer. Las libreras del sistema son archivos binarios.
H
Archivos ejecutables:
Los archivos binarios pueden ser archivos ejecutables que indican al sistema que efecte
un trabajo. Los mandatos y los programas se almacenan en archivos binarios
ejecutables.
Archivos de directorio:
Los archivos de directorio contienen informacin que el sistema necesita para acceder
a todos los tipos de archivo, pero no contienen los datos reales de los archivos. En
consecuencia, los directorios ocupan menos espacio que un archivo normal y
proporcionan a la estructura de sistema de archivos flexibilidad y profundidad. Cada
entrada de directorio representa un archivo o un subdirectorio. Cada entrada contiene
el nombre del archivo y el nmero de referencia de nodo de ndice (inodo) del archivo.
El inodo designa el nodo de ndice exclusivo asignado al archivo. El inodo describe la
ubicacin de los datos asociados con el archivo.
Archivos especiales:
Los archivos especiales definen dispositivos para el sistema o archivos temporales
creados por procesos. Existen tres tipos bsicos de archivos especiales: FIFO (primero
en entrar, primero en salir), de bloque y de caracteres. Los archivos FIFO tambin
reciben en el nombre de pipes (tuberas o conductos). Los conductos se crean mediante
un proceso para permitir temporalmente las comunicaciones con otro proceso. Estos
Pgina 9
UNIX
archivos dejan de existir cuando termina el primer proceso. Los archivos de bloque y
los archivos de caracteres definen dispositivos o drivers.
Proceso:
Un proceso es un programa en ejecucin, o dicho en trminos ms tcnicos, es una
instancia activa de un programa.
Un proceso ocupa un espacio en la memoria principal del sistema. Este espacio de
memoria est compuesto por un bloque de bytes que el procesador interpreta como
instruccines de mquina (llamado programa o texto), datos de usuario y la pila o
stack. Este espacio de memoria es denominado contexto de un proceso.
UNIX identifica los procesos por medio de un nmero llamado PID (Process
IDentification).
Los procesos se comunican con el S.O, por medio de las llamadas de sistema (system
calls).
Procesos padres e hijos:
Cuando se invoca un programa desde la lnea de comando, el intrprete de comandos
(que es un proceso) llama al programa invocado. En terminos de UNIX, el proceso
llamante se denomina proceso padre (parent process), y el llamado, proceso hijo (child
process). Para hacer esto, el proceso padre hace uso de la llamada de sistema fork,
que genera una copia de si mismo en memoria, dando lugar a la creacin del proceso
hijo, y luego ejecuta la llamada execl que carga el programa llamado en el rea de
memoria del proceso hijo y lo ejecuta.
Nivel usuario y nivel kernel:
Un proceso se ejecuta normalmente en modo usuario. Esto significa que se encuentra
dentro de su propio contexto, esto es, que tiene acceso a sus propias instrucciones y
datos (pero no a los del kernel o de otros procesos). Cuando ejecuta una llamada de
sistema, el proceso pasa a ejecutarse en modo kernel. Bajo este modo de ejecucin,
un proceso puede acceder a las direcciones ocupadas por otros procesos. Por otra
parte, algunas instrucciones de mquina (como manipular el registro de estado del
procesador) estn disponibles en modo kernel, pero jams en modo usuario.
Daemon:
Un daemon es un proceso que se ejecuta de manera desatendida e invisible para el
usuario. Generalmente, los daemons se ejecutan al inicializar el sistema y permanecen siempre activos (slo el usuario root puede detenerlos). Habitualmente realizan
taras de planificacin, mantenimiento y como servidores de comunicaciones.
Captulo 2: Conceptos Bsicos
Pgina 10
UNIX
Driver:
Generalmente, los dispositivos fsicos (discos rgidos, tarjetas de red, scanners, etc.)
que pueden conectarse a una computadora requieren de una programacin muy compleja, y que requiere de grn conocimiento del hardware de los mismos. Esto sin olvidar que la programacin de dispositivos requiere de mucha habilidad en en manejo de
lenguajes como C o assembler.
Para esconder esta complejidad a ojos del usuario, UNIX posee una interfaz muy
sencilla para el manejo de dispositivos: los drivers. Un driver es un archivo que acta
como interfaz entre un programa y un dispositivo fsico. Para escribir en una terminal
de caracteres, o grabar algo en un disco, simplemente se escriben los datos deseados
en el archivo correspondiente al dispositivo.
Como se mencion en el apartado anterior, los archivos que definen drivers pueden
ser de bloques o de caracter. Los drivers de bloques estn orientados a dispositivos
que manejan los datos en bloques (discos y cintas). En cambio, los drivers de caracteres sirven para comandar dispositivos que reciben o envan datos en sartas de caracteres de longitud variable (terminales, teclados, mdems).
Stream:
Un stream es un mecanismo empleado por UNIX para transferir datos entre un programa de usuario y un driver de un dispositivo fsico. Al momento de establecerse la
comunicacin entre ambos, se crea en memoria una estructura lgica que facilita el
pasaje de datos entre programa y dispositivo. Si el dispositivo es de bloques, el stream
lo dotar de un buffer (memoria intermedia) adecuado al tamao de los bloques a
enviar. Si es de caracteres, el buffer, en caso de existir, es de pequeo tamao (generalmente una sola lnea de caracteres, o line buffer).
El mecanismo consta de un inicio y un final de stream, conectados ambos por dos
colas (queues) de datos: una de entrada y una de salida. El programa de usuario
escribe y lee los dados del inicio del stream y el dispositivo los recibe y enva desde el
final del stream.
Pgina 11
UNIX
CAPITULO 3:
Estructura de UNIX
Pgina 12
UNIX
HARDWARE
Estructura en Capas:
Conceptualmente, el sistema UNIX puede ser visto como una esructura estratificada,
donde cada capa tiene una funcin especfica.
Interfaz de Usuario
Interfaz de Biblioteca
Interfaz de
Llamadas de
Sistema
USUARIOS
UTILERIA STANDARD
(SHELL - EDITORES COMPILADORES, ETC.)
MODO
USUARIO
BIBLIOTECA STANDARD
(fork, open, read, write, close, etc.)
KERNEL
(ADM. DE PROCESOS, ADM. DE MEMORIA, SIST. DE ARCHIVOS, ETC.)
MODO
KERNE
L
HARDWARE
(CPU - MEMORIA - DISCOS -TERMINALES - ETC.)
Pgina 13
UNIX
PROGRAMA DE USUARIO
BIBLIOTECA STANDARD
USUARIO
KERNEL
INTERFAZ DE LLAMADAS DE SISTEMA
ARCHIVOS
SEGURIDAD
PROCESOS
COMUNICACION
ENTRE
PROCESOS
SUBSISTEMA
DE
ARCHIVOS
RED
SERVICIOS
DE RED
(SOCKETS)
PLANIFICADOR
BUFFER
CACHE
CARACTER
PROTOCOLOS
TCP/IP
BLOQUE
MANEJADORES
DE
DISPOSITIVOS
ADMINISTRACION
DE
MEMORIA
MANEJADORES
DE
DISPOSITIVOS
CONTROL DE HARDWARE
KERNEL
HARDWARE
HARDWARE
Pgina 14
UNIX
Procesos:
Estados Posibles de un Proceso:
1. El proceso se ejecuta en Modo Usuario
2. El proceso se ejecuta en Modo Kernel
3. El proceso no se se encuentra en ejecucin pero est listo para correr tan pronto
como el kernel lo planifique.
4. El proceso est inactivo (durmiente) y reside en la memoria principal.
5. El proceso est listo para correr, pero el swapper debe transferirlo a la memoria
principal para que el kernel lo planifique (previo a 3).
6. El proceso est inactivo (durmiente) y el swapper lo ha pasado al
almacenamiento secundario para dar lugar a otros procesos en la memoria principal.
7. El proceso est volviendo del modo kernel al modo usuario.
8. El proceso est recientemente creado y se encuentra en modo de transicin.
Existe, pero no esta listo para correr y no se encuentra durmiendo (este es el
modo inicial de todos los procesos).
9. El proceso ejecut la llamada de sistema exit y est en estado zombie. Este es el
estado final de un proceso. No existe ms, pero deja un registro conteniendo un
cdigo de salida y estadsticas de tiempo para el proceso padre.
Diagrama de Estados de un Proceso:
fork()
RETORNO
A USUARIO
1
MODO
USUARIO
LLAMADA DE
SISTEMA;
INTERRUPCION
PREEMPTED
CREADO
SWAP IN
2
MODO
KERNEL
MEMORIA
INSUFICIENTE;
SWAPPED
MEMORIA
SUFICIENTE
RETORNO
A USUARIO
PROCESO DE
PLANIFICACION;
RESCHEDULE
LISTO PARA
CORRER;
EN MEMORIA
SWAP OUT
5
LISTO PARA
CORRER;
SWAPPED
INTERRUPCION;
RETORNO
WAKEUP
WAKEUP
EXIT
SLEEP
9
ZOMBIE
4
DORMIDO;
EN
MEMORIA
SWAP
OUT
6
DORMIDO;
EN
DISCO
Pgina 15
UNIX
Sistema de Archivos:
Estructura fsica:
Un sistema de archivos (file system) tiene la siguiente estructura:
Un boot block que ocupa el primer sector del sistema de archivos, y que puede
contener el cdigo de booteo que lee la mquina para la inicializacin del sistema
operativo.
Una inode list (lista de inodos), ubicada al final del super block, que contiene una
lista de los inodos del sistema (ver Fig. 6).
Los data blocks (bloques de datos), que contienen datos de usuario y de sistema.
Inodos:
Un inodo es la representacin interna de un archivo. Contiene la informacin necesaria
para que un proceso pueda acceder a un archivo (ver Fig. 6). En la Fig. 7 se da un
ejemplo de un inodo hipottico.
Pgina 16
NUMERO DE INODO
LISTA DE INODOS
BLOQUES DE DATOS
TAMAO DE ARCHIVO
ENLACES
ULTIMO CAMBIO
(ARCHIVO)
ULTIMO ACCESO
(ARCHIVO)
ULTIMO CAMBIO
(INODO)
MODO DE ACCESO
TIPO DE ARCHIVO
GRUPO
DUEO
INODO
SUPER BLOCK
BOOT BLOCK
BLOQUE DATOS
BLOQUE DATOS
BLOQUE DATOS
BLOQUE DATOS
BLOQUE DATOS
BLOQUE DATOS
BLOQUE DATOS
BLOQUE DATOS
BLOQUE DATOS
DIRECTO 1
DIRECTO 2
DIRECTO 3
DIRECTO 4
DIRECTO 5
DIRECTO 6
DIRECTO 7
DIRECTO 8
DIRECTO 9
INDIRECTO 3
INDIRECTO 2
INDIRECTO 1
BLOQUE DATOS
DIRECTO 0
BLOQUE DATOS
BLOQUE DATOS
BLOQUE DATOS
BLOQUE DATOS
BLOQUE DATOS
BLOQUE DATOS
UNIX
Lic. Ral N. Confalonieri
Pgina 17
UNIX
NUMERO DE INODO
1798
DUEO
jperez
GRUPO
admin
TIPO DE ARCHIVO
regular
MODO DE ACCESO
rwxr-xr-x
ENLACES
TAMAO DE ARCHIVO
6030 bytes
BLOQUES DE DATOS
--------
Estructura Lgica:
La estructura lgica de los sistemas de archivos en UNIX, es del tipo jerarquico o de
rbol invertido (la raz va al tope). La informacin se almacena en divisiones llamadas
directorios (archivos que contienen informacin de otros archivos). El directorio principal se denomina / y de el penden todos los dems. Un directorio puede contener
archivos y otros directorios (llamados a veces subdirectorios). Una estructura tpica de
UNIX es la siguiente:
\
bin
dev
etc
home
lib
cat
stdin
fstab
cp
stdout
group
cap1
libcrypt.so
date
stderr
hosts
cap2
libcurse.so
echo
tty0
motd
find
fd0
passwd
more
hda
profile
...
...
...
jperez
libc.so
root
...
...
...
sbin
fdisk
bin
fsck
mkfs
libdb.so
mount
libutil.so
shutdown
calc1.c
libvga.so
umount
deriv.c
...
...
jperez
usr
doc
include
man
share
...
Pgina 18
UNIX
NUMERO DE
INODO
(2 BYTES)
83
2
1798
1276
85
1268
1799
88
2114
1717
1851
92
84
1432
0
95
188
NOMBRES
DE
ARCHIVOS
.
..
init
fsck
clri
motd
mount
mknod
passwd
umount
checklist
fsdb1b
config
getty
crash
mkfs
inittab
Redes:
Conceptos bsicos:
Topologa: Disposicin geomtrica de los componentes de una red.
Protocolo: Conjunto de normas que rigen la comunicacin de datos entre los
componentes de una red, teniendo en cuenta la jerarqua de los mismos.
TCP/IP:
TCP/IP (Transmision Control Protocol / Internet Protocol), es el conjunto de protocolos
de comunicaciones standard de UNIX. Define los mtodos de direccionamiento entre
sistemas (hosts) a travs de distintos tipos de redes (LAN, WAN, etc.) y las formas en
que se enruta la informacin a travs de las mismas. Bsicamente se trata de un
modelo estratificado similar al modelo OSI.
APLICACION
TRANSPORTE (TCP/UDP)
RED (IP)
ENLACE DE DATOS
FSICA
Pgina 19
UNIX
Capa Fsica:
Capa de Enlace:
NFS
FTP
DNS
SMTP
XDR
TELNET
RPC
TCP
UDP
IP
CAPA DE ENLACE DE DATOS (OSI)
CAPA FSICA (OSI)
Pgina 20
UNIX
HOST B
CAPA DE
APLICACION
PROCESO SERVIDOR
INTERFAZ
SOCKETS
TCP/UDP
INTERFAZ
SOCKETS
Peticin de
servicio del
cliente
TCP/UDP
Respuesta
del servidor
IP
IP
CAPA DE ENLACE
DE DATOS (OSI)
CAPA DE ENLACE
DE DATOS (OSI)
CAPA FSICA
(OSI)
CAPA FSICA
(OSI)
Direcciones IP:
Una direccin IP consta de 4 bytes (32 bits), dispuestas de la siguiente forma:
direccin de 32 bits = 4 bytes
01110011
10100101
10010111
01110111
Para hacer ms legible la direccin, por convencin se escribe cada byte en su forma
decimal, separado del siguiente por puntos. As, la direccin de la figura 13 ser
Pgina 21
UNIX
115.165.151.119
Una direccin IP consta de dos partes: direccin de red y direccin de host:
direccionamiento en 2 partes
DIRECCION DE RED
DIRECCION DE HOST
10
Direccin de
host = 8 bits
Clase C
2.097.152 redes
253 hosts
110
Las redes clase A llevan un prefijo 0 en su primer bit y tienen su primer byte con un
valor entre 1 y 126. Los valores 0 y 127 estn reservados.
Las redes clase B llevan un prefijo 10 en su primeros dos bits y tienen su primer byte
con un valor entre 128 y 191.
Las redes clase C llevan un prefijo 110 en su primeros tres bits y tienen su primer byte
con un valor entre 192 y 223.
Gracias al primer nmero de una red, se puede determinar fcilmente su tipo:
Clase A
1.xxx.xxx.xxx a 126.xxx.xxx.xxx
Clase B
127.xxx.xxx.xxx a 191.xxx.xxx.xxx
Clase C
192.xxx.xxx.xxx a 223.xxx.xxx.xxx
Pgina 22
UNIX
Direcciones especiales:
Existen direcciones IP que tienen un significado especial:
Loopback
127.0.0.1
0000000000000000
DIRECCION DE HOST
"Esta red"
DIRECCION DE RED
1111111111111111
"Todos los
hosts"
1111111111111111
0000000000000000
Mascara de red
Pgina 23
UNIX
boot
Archivos de
Configuracin
init
Archivos de
Configuracin
getty
espera
conexion
login
sh:exit
login:exit
login name
password
verificacin
de acceso
ksh
Archivos de
Configuracin
sesion de
trabajo
Fig. 16: Secuencia de arranque de UNIX.
Pgina 24
UNIX
CAPITULO 4:
Pgina 25
UNIX
Definicin de Shell:
El shell gestiona la interaccin del usuario con los recursos del sistema, tales como
programas, archivos y dispositivos.
USUARIO
SHELL
RECURSOS DEL SISTEMA
Figura 1: Shell
Esta gestin se lleva a cabo mediante la habilitacin del usuario a ingresar comandos,
la traduccin de los mismos en trminos entendibles por el sistema y la devolucin al
usuario de los resultados obtenidos. Por este motivo se dice que el shell es un intrprete
de comandos.
Asimismo, el usuario puede agrupar comandos en archivos llamados scripts (guiones),
para su ejecucin automatizada. Debido a que el shell dispone de estructuras lgicas
de alto nivel (variables, bifurcaciones, lazos, etc.) se dice que el shell es un lenguage
de programacin.
Distintos Tipos de Shell:
Bourne Shell (sh bsh)
Es el shell original de UNIX. Se lo denomina as por su creador, Steve Bourne. Sus
caractersticas son las descritas anteriormente.
C-Shell (csh)
Desarrollado con posterioridad en Berkeley, el c-shell lleva su nombre debido a que
utiliza una sintaxis similar al lenguaje de programacin C.
Korn Shell shell POSIX (ksh)
Creado por Steve Korn, este shell es el ms moderno y combina las mejores
caractersticas de los anteriormente descritos, adems de agregar algunas nuevas
tales como evaluacin aritmtica, histrico de comandos y edicin de la lnea de
comandos. Es el shell por defecto en los sistemas UNIX que adhieren al standard
POSIX.
Pgina 26
UNIX
Archivos Standard:
Para dar una mayor flexibilidad al sistema, los comandos de UNIX tienen definido por
defecto las entradas y salidas de los mismos. Estas son llamadas entradas y salidas
standard o archivos standard.
ENTRADA
STANDARD
PROCESO
SALIDA
STANDARD
ERROR
STANDARD
Por regla general, la entrada standard es el teclado de la consola del usuario y la salida
y el error standard son la pantalla de la consola del usuario.
En caso necesario, estas entradas y salidas pueden modificarse, proceso que se conoce
como redireccionamiento de entrada/salida.
Formato General de los Comandos:
El formato general de cualquier comando en UNIX es:
$comando [opcion, ...] [argumento, ...]
Redireccionamiento:
Para cambiar el la entrada, salida o error standard de un comando se utilizan los
caracteres < (para entrada) y > para salida o error.
La lnea de comando:
$comando1 <archivo1 >archivo2 2>archivo3
nos indica que el comando comando1 toma como archivo de entrada a archivo1,
como archivo de salida a archivo2 y como archivo de error a archivo3.
Pgina 27
UNIX
Pgina 28
UNIX
La lnea de comando:
$comando1 capitulo[1234]
ejecutar el comando1 para los archivos cuyo nombre comience con la palabra captulo
y finalice con uno de los nmeros 1, 2, 3 y 4:
capitulo1 capitulo2 capitulo3 capitulo4
Si el conjunto de caracteres es un rango se escriben los valores inicial y final del mismo
separados por un guin -
La lnea de comando:
$comando1 capitulo[1-9]
ejecutar el comando1 para los archivos para los archivos cuyo nombre comience con
la palabra captulo y finalice con un nmeros del 1 al 9:
capitulo1 capitulo2 capitulo3 capitulo4 capitulo5 capitulo6
capitulo7 capitulo8 capitulo9
Separadores de comandos:
Se pueden ingresar varios comandos en la misma lnea. Para ello, deben estar
separados por el signo ;
La lnea de comando:
$comando1; comando2
ejecutar en primer lugar el comando1 y a continuacin el comando2
Ejecucin en background:
Si se agrega el caracter & al final de un comando, este se ejecutar en modo background, devolviendo inmediatamente al usuario el smbolo de sistema.
$comando1&
Tuberas (pipes):
El shell proporciona al usuario una forma cmoda de encadenar la salida de un comando
con la entrada de otro, mediante las llamadas tuberas o pipes. Para hacer un pipe
Pgina 29
UNIX
Pgina 30
UNIX
CAPITULO 5:
Primera Sesin
Pgina 31
UNIX
Primera Sesin
Ingreso al Sistema:
Para poder ingresar al sistema, el usuario debe poseer una cuenta en el mismo. Si no
la posee, debe solicitar al Administrador del Sistema que le asigne una.
Una cuenta est compuesta por dos componentes:
Pgina 32
UNIX
Administracin de Claves
Cambio de la clave de usuario:
Si el usuario desea cambiar su clave, deber utilizar el comando passwd:
$passwd
Changing password for jperez
Old password: <ENTER>
New password: <ENTER>
Retype new password: <ENTER>
$
Comandos de Informacin General
echo: Presentacin en pantalla
Para imprimir en la salida standard, se emplea el comando echo
$echo Bienvenidos a UNIX<ENTER>
Bienvenidos a UNIX
$
banner: Bandera de saludo
El comando banner imprime una bandera (banner) de saludo en la salida standard:
$banner hola
#
#
#
#
######
#
#
#
#
#
#
$
####
#
#
#
#
#
#
#
#
####
#
#
#
#
#
######
##
#
#
#
######
#
#
#
#
11:03:25
EDT
2000
Pgina 33
UNIX
cal: Calendario
El comando cal (sin argumentos) imprime el calendario del mes en curso:
$cal
Su Mo
4 5
11 12
18 19
25 26
June 2000
Tu We Th Fr
1 2
6 7 8 9
13 14 15 16
20 21 22 23
27 28 29 30
Sa
3
10
17
24
Sa
3
10
17
24
tty0
tty2
tty5
Jun 16 10:00
Jun 16 11:15
Jun 16 12:32
ttyp1
Jun 16 15:32
Pgina 34
UNIX
CAPITULO 6:
Comandos Bsicos
Pgina 35
UNIX
Comandos Bsicos
Comandos para el manejo de directorios
pwd: Directorio de trabajo
Formado del Comando:
pwd
Descripcin:
El comando pwd muestra en la salida standard el directorio de trabajo actual (el directorio
en el que se encuentra trabajando el usuario en el momento de ejecutar el comando).
Ejemplo:
$pwd
/home/jperez
$
ls: Contenido de directorios
Formado del Comando:
ls [opciones] [directorio]
Descripcin:
El comando ls lista en la salida standard el contenido de un directorio especificado. Si
no se le suministra nombre de directorio alguno, lista el directorio de trabajo actual.
Opciones:
-a
-A
-d
-i
-l
Lista todos los archivos, incluso los ocultos (aquellos cuyos nombres
comienzan con un punto)
Idem opcin anterior, con la diferencia que no lista los directorios .
(actual) y .. (padre)
Lista slo los directorios (no los archivos contenidos en ellos).
Agrega el nmero de inodo de cada archivo al listado (en la primera
columna del mismo)
Lista larga (tipo de archivo, modo, nmero de links, dueo, grupo,
tamao en bytes, tiempo de la ltima modificacin y nombre del
archivo). Si el archivo es un enlace simblico, el nomre del archivo es
Pgina 36
UNIX
-m
-n
-p
-r -R
-1
Ejemplo:
$ls -l
total 456
drwxr-xr-x
drwxr-xr-x
drwxr-xr-x
-rw-rr
-rw-rr
-rw-rr
...
1
1
1
1
2
2
jperez
jperez
jperez
jperez
jperez
jperez
jperez
jperez
jperez
jperez
jperez
jperez
4096
4096
4096
64
93
80
Jun
Jul
May
Mar
May
May
30
4
24
3
11
12
07:08
08:19
18:19
20:47
01:41
00:49
ejemplos
filtros
mail
prog1.c
prog2.c
prog3.c
Pgina 37
UNIX
Ejemplo:
$pwd
/home/jperez
$mkdir /home/jperez/apuntes
$
rmdir: Eliminacin de directorios
Descripcin:
El comando rmdir elimina los directorios especificados (deben estar vacos; caso
contrario, enva un aviso por el error standard).
Formado del Comando:
rmdir [opciones] directorio ...
Opciones:
-i [modo]
Ejemplo:
$rmdir /finanzas/cuentas
$
Pgina 38
UNIX
-n
-r
Ejemplo:
$cat capitulo1 capitulo2 capitulo3 > libro
$
cp: Copia de archivos y directorios
Formado del Comando:
cp [opciones] fuente destino
Descripcin:
El comando cp ejecuta la copia de archivos y directorios (en forma recursiva). El
argumento fuente puede ser un archivo, un conjunto de ellos o un directorio. El
argumento destino puede ser un archivo o un directorio. Las copias pueden ser archivo
a archivo, archivos a directorio y directorio a directorio.
Pgina 39
UNIX
Opciones:
-f
-i
-r
Ejemplo:
$cp presentismo.lst /home/administracion/empleados
$
mv: Renombrado y reubicacin de archivos
Formado del Comando:
mv [opciones] origen destino
Descripcin:
El comando mv renombra archivos o los reubica. Si los archivos origen y destino se
encuentran en el mismo directorio, ejecuta un cambio de nombre. Si se encuentran en
directorios diferentes, ejecuta una reubicacin.
Opciones:
-f
-i
Ejemplo:
$mv presentismo.lst pres.lst
$mv pres.lst /home/administracion/empleados
$
rm: Eliminacin de archivos y subdirectorios
Formado del Comando:
rm [opciones] destino
Pgina 40
UNIX
Descripcin:
El comando rm elimina componentes del sistema de archivos. El argumento destino
puede ser un archivo o un conjunto de ellos (incluyendo subdirectorios y sus contenidos,
en forma recursiva).
Opciones:
-f
-i
-r o -R
Ejemplo:
$rm capitulo*
$
more: Vista en pantallas sucesivas
Formado del Comando:
more [opciones] archivo
Descripcin:
El comando more permite visualizar el contenido de un archivo de a una pgina (del
tamao de una pantalla) por vez. Para avanzar un rengln se debe digitar <ENTER>,
y para avanzar una pgina se debe digitar <SPACE>. Este comando solo permite
mostrar los contenidos en avance (no se puede retroceder para visualizar una pantalla
ya vista). Para salir del comando se debe digirar la letra q.
Opciones:
-n nmero
Ejemplo:
$more libro
...
Pgina 41
UNIX
Ejemplo:
$ls -l | tee directorio
$
head: Muestra de la primeras lneas de un archivo
Formado del Comando:
head [opciones] archivo...
Descripcin:
El comando head muestra en la salida standard las prineras lneas del archivo o archivos
especificados. Por defecto muestra 10 lneas.
Formado del Comando:
head [opciones] archivo...
Opciones:
-n nmero
Ejemplo:
$head -5 libro
...
Pgina 42
UNIX
Ejemplo:
$tail -5 libro
...
touch: Creacin o cambio de fechas de un archivo
Formado del Comando:
touch [opciones] archivo...
Descripcin:
El comando touch actualiza las fechas de modificacin y/o ltimo acceso de cada
archivo pasado como argumento. Si el archivo no existe, se crea con longitud 0. Si no
se especifican las fechas, se emplea la fecha y hora actual.
Opciones:
Modifica la fecha de acceso al archivo. Si no se especifica una fecha,
se emplea la actual.
-m
Modifica la fecha de modificacin del archivo. Si no se especifica una
fecha, se emplea la actual.
-c
Impide la creacin del archivo si este no existe previamente.
-r arch_ref Toma la fecha de arch_ref en lugar de la actual
-t tiempo
Especifica la fecha a modificar. El formato de tiempo es
[[CC]YYMMDDhhmm[.ss]
-a
Pgina 43
UNIX
Ejemplo:
$touch -t 199907141045 cuentas.lst
$
wc: Cuenta de caracteres, palabras y lneas
Formado del Comando:
wc [opciones] archivo...
Descripcin:
El comando wc cuenta caracteres (o bytes), palabras y lneas del archivo o archivos
especificados y muestra el resultado por la salida standard. Si no se especifica opcin
alguna, muestra un reporte total.
Opciones:
-c
-m
-w
-l
Ejemplo:
$wc -l capitulo1
50 capitulo1
$
file: Determinacin del tipo de archivo
Formado del Comando:
file [opciones] archivo...
Descripcin:
El comando file realiza una serie de pruebas sobre el o los archivos pasados como
argumentos con el fin de determinar su tipo y muestra el resultado en la salida standard.
Emplea el archivo /etc/magic para identificar archivos que posean una constante
numrica o una cadena de caracteres que idiquen su tipo.
Pgina 44
UNIX
Opciones:
-m archivo
-f archivo
Ejemplo:
$file saludo
$
find: Bsqueda de archivos
Formado del Comando:
find directorio... [expresin]
Descripcin:
El comando find recorre el o los directorios pasados como argumento, buscando archivos
que concuerden con la expresin suministrada.
Expresin:
-name archivo
-follow
-fsonly tipoFS
-local
Ejemplo:
$find / -name resumen
...
lp: Impresin de archivos
Descripcin:
El comando lp enva archivos al sistema de colas de impresin (print queue).
Formado del Comando:
lp [opciones] achivo...
Pgina 45
UNIX
Opciones:
Copia el o los los archivos a imprimir en el directorio del sistema de
spooling. Normalmente son enlazados (linked).
-ddestino
Selecciona destino como la impresora elegida para ejecutar el trabajo
de impresin.
-m
Enva un mail al usuario para avisarle que su requerimiento de inpresin
fue cumplido.
-nnumero
Especifica el nmero de copias del trabajo a imprimir. El valor por
defecto es 1.
-pprioridad Establece la prioridad del trabajo de impresin. El valor ms bajo es 0
y el ms alto es 7. Si no se especifica, el valor por defecto es el
establecido por el administrador del sistema.
-s
Suprime los mensajes enviados por el comando lp a la salida standard.
-tttulo
Imprime un banner con el ttulo del trabajo de impresin en la primera
pgina del mismo.
-w
Enva un mensaje a la salida standard del usuario para avisarle que
su requerimiento de inpresin fue cumplido. Si el usuario no est
logeado, le enva un mail.
-c
Ejemplo:
$lp -dlp2 -m resumen
$
ln: Enlace (linking) de archivos
Formado del Comando:
(1) ln [opciones] archivo1 archivo2
(2) ln [opciones] archivo1 [archivo2...] directorio_destino
(3) ln [opciones] directorio1 [directorio2...] directorio_destino
Descripcin:
El comando ln crea un enlace (link) entre los archivos o directorios pasados como
argumento.
La forma (1) crea un enlace entre archivo1 (existente) y archivo2 (existente o creado
por el comando ln) en el mismo directorio.
La forma (2) crea enlaces entre archivo1 (archivo2, etc) y archivo/s (nuevos o creados
por ln) del mismo nombre en el directorio_destino.
La forma (3) crea enlaces entre directorio1 (directorio2, etc) y directorio/s (nuevos o
creados por ln) del mismo nombre en el directorio_destino.
Pgina 46
UNIX
Opciones:
-f
-i
-s
Ejemplo:
$ln usuarios users
$
alias: Redefinicin de un comando
Formado del Comando:
alias [comando=shell script]
Descripcin:
El comando alias se emplea para redefinir comandos. Si no se le suministran parmetros,
lista los alias definidos en el sistema. Si se le suministran parmetros, crea el comando
redefinido y exporta su definicin.
Ejemplo:
$alias ll=ls -l
$
Comandos para la comunicacin entre usuarios
write: Envo de mensajes a otros usuarios
Formado del Comando:
write receptor [terminal]
Descripcin:
El comando write sirve para enviar un mensaje a la terminal de otro usuario. Copia lo
que el emisor escribe en su terminal, en la terminal del receptor. Finaliza cuando el
Pgina 47
UNIX
emisor tipea <CTRL-D>. Cuando se lo llama por primera vez, escribe el mensaje:
Message from emisor on terminal at fecha ...
y a continuacin las lneas escritas por el emisor.
Para controlar la recepcin de mensajes, el usuario debe utilizar el comando mesg
(descrito al final de esta seccin).
talk: Comunicacin en lnea entre usuarios
Formado del Comando:
talk receptor [terminal]
Descripcin:
El comando talk es una aplicacin de comunicaciones bidireccional, orientada al interfaz
teclado/pantalla. El argumento receptor puede tomar las formas:
recetor
receptor@host
host:receptor
host.receptor
donde receptor es un nombre de login y host es un nombre de host.
Cuando se lo llama por primera vez, escribe en la pantalla del receptor el siguiente
mensaje:
Message from Talk_Daemon@host_emisor
...
talk: connection requested by emisor@host_emisor
talk: respond with: talk emisor@host_emisor
En este punto, el receptor debe responder:
talk emisor@host_emisor
y lla comunicacin queda establecida. Una vez logrado esto, cada uno de los
interlocutores puede tipear sus mensajes simultaneamente, apareciendo los mensajes
enviados y recibidos en distintas regiones de la pantalla.
Cuando cualquiera de los interlocutores desea terminar la sesin, debe digitar <CTRL-
Pgina 48
UNIX
D> o <CTRL-C> para terminar la ejecucin del comando talk desde su extremo. El otro
extremo ser notificado que la sesin fue concluida y no le queda mas remedio que
terminar la propia.
Para controlar la recepcin de mensajes, el usuario debe utilizar el comando mesg
(descrito al final de esta seccin).
wall: Tablero de mensajes
Formado del Comando:
wall [-g grupo] [archivo]
Descripcin:
El comando wall permite que un usuario enve un mensaje a la salida standard de
todos los usuarios logeados en el sistema.
El comando lee el mensaje de la entrada standard, salvo que se utilice la opcin archivo,
en cuyo caso el comando lee el mensaje del archivo pasado como parmetro.
Si se hace uso de la opcin -g, el emisor tiene la posibilidad de restringir el mensaje a
los usuarios logeados pertenecientes a un grupo determinado.
Para controlar la recepcin de mensajes, el usuario debe utilizar el comando mesg
(descrito al final de esta seccin).
El nico usuario que puede escribir en todas las terminales sin importar el estado de
mesg es root.
Ejemplo:
$wall
En 10 minutos se bajar el sistema para mantenimiento.
Favor de deslogearse. Gracias.
<CTRL-D>
$
mesg: Habilitacin/inhabilitacin de recepcin de mensajes
Formato del Comando:
mesg [opciones]
Pgina 49
UNIX
Descripcin:
El comando mesg habilita o inhabilita la recepcin de mensajes de los comandos write
y talk. Si se lo ejecuta sin opciones, informa del estado de recepcin de mensajes.
Opciones:
n
y
operacin
+
=
Pgina 50
UNIX
permiso
r
w
x
s
t
Permiso de lectura
Permiso de escritura
Permiso de ejecucin (bsqueda si es un directorio).
Establece el UID (User ID) GID (Group ID) durante la ejecucin.
Restringe la eliminacin de archivos a los propietarios del directorio,
de los archivos o a root (a este permiso se lo llama sticky bit).
b. Modo numrico
Las opciones llevan la forma:
[n0]n1n2n3
donde:
n0 es una cifra opcional que corresponde a la suma de los valores numricos de los
permisos extra de un archivo o directorio marcado como ejecutable.
n1 es una cifra que corresponde a la suma de los valores numricos de los permisos
del dueo.
n2 es una cifra que corresponde a la suma de los valres numricos de los permisos
del grupo.
n3 es una cifra que corresponde a la suma de los valres numricos de los permisos
del resto.
Valores numricos de los permisos n1 a n3
Permiso
Lectura
Escritura
Ejecucin
Habilitado
4
2
1
Inhabilitado
0
0
0
Habilitado
4
2
1
Inhabilitado
0
0
0
Ejemplo:
$chmod ug=rwx,o=r listado
$chmod 774 listado
Pgina 51
UNIX
Ejemplo:
$ps -t tty0
...
kill: Sealizacin de procesos
Formado del Comando:
kill [seal] proceso
Descripcin:
El comando kill enva una seal a un proceso identificado por su PID.
Seales:
-0
-9
-25
-26
Ejemplo:
$kill -9 12536
Captulo 6: Comandos Bsicos
Pgina 52
UNIX
Pgina 53
UNIX
tiempo
fecha
+cuenta
next
[[CC]YY]MMDDhhmm[.ss]
Tiempo base para la ejecucin del comando.
Fecha base para la ejecucin del comando.
Cuenta es un nmero decimal que indica el incremento de ut (unidad
de tiempo) que se ledebe sumar al tiempo base para obtener el tiempo
deseado de ejecucin.
Equivale a +1 ut (unidad de tiempo).
Tiempos:
tiempo
fecha
ut
Pueden ser los nombres midnight, noon, now o un tiempo definido por
el formato hh:mm [am | pm].
Pueden ser los nombres today, tomorrow, o un tiempo definido por el
formato dia de la semana (nombre completo o abreviado) o el formato
dia (numrico), mes(nombre completo, abreviado o numrico) y
opcionalmente el ao (numrico). Los separadores pueden ser coma
(,), punto (.), barra (/) y guin (-).
Puede ser minute(s), hour(s), day(s), week(s), month(s) o year(s).
Ejemplo:
$at -f trabajo now + 5 minutes
$at -f trabajo 5am tuesday + 2 weeks
$at -f trabajo 17:15 next month
cron: Sistema de temporizacin de procesos
Descripcin:
cron es un sistema de ejecucin temporizada de comandos. Por su intermedio, se
puede planificar la ejecucin peridica de procesos.
Su esquema de funcionamiento es sencillo: el programa cron es un daemon que se
lanza automticamente al iniciar el sistema y que verifica constantemente la existencia
de trabajos para ejecutar en tablas llamadas genricamente crontab ubicadas en el
directorio /var/spool/cron/crontabs (las tablas llevan el nombre del usuario que
las envi). Los usuarios pueden generar sus tablas crontab mediante la ejecucin del
comando crontab.
Para poder emplear el comando crontab, el usuario debe tener su nombre incluido en
el archivo /var/adm/cron/cron.allow. Si no existiese el mencionado archivo,
cualquie usuario puede emplear el comando crontab siempre y cuando su nombre no
se encuentre incluido en el archivo /var/adm/cron/cron.deny. De no existir ninguno
de ambos archivos, el uso de crontab es irrestricto para todos los usuarios.
Pgina 54
UNIX
archivo
-e [usuario]
-l [usuario]
-r [usuario]
(1) Crea o reemplaza el archivo crontab del usuario, copiando el archivo pasado como
parmetro al directorio donde residen las tablas crontab. El nombre de la tabla ser
el mismo que el nombre del usuario invocante.
(2) Edita una copia de una tabla existente o crea una nueva si no existiese previamente.
Finalizada la sesin de edicin, el archivo editado se guardar en el directorio
donde residen las tablas crontab.
(3) Lista el contenido de una tabla crontab.
(4) Elimina la tabla crontab del usuario invocante del directorio donde residen las tablas
crontab.
Los usuarios solo pueden manipular sus propias tablas crontab. Para hacer uso de la
opcin usuario, se deben poseer privilegios especiales (ej. root).
El formato de una tabla crontab consta de 5 campos numricos enteros y un campo de
caracteres. Su descripcin es la siguiente:
1. minute
2. hour
3. monthday
4. month
5. weekday
6. command
Pgina 55
UNIX
Ejemplo:
#minute
hour
monthday month
weekday
command
############################################################
0
0
1,15
*
1
comando1
0
0
*
*
1
comando2
El comando1 se ejecutar a la medianoche de los das 1 y 15 de cada mes, como as
tambin los dias lunes de cada semana
El cmando2 se ejecutar a la medianoche solamente los lunes.
Pgina 56
UNIX
CAPITULO 7:
Comandos Avanzados
Pgina 57
UNIX
ex
red
edit
vi
view
vedit
vipw
vigr
red:
ex:
edit:
view:
vedit:
vipw:
vigr:
Expresiones Regulares
Las expresiones regulares se emplean en la concordancia de patrones (pattern matching) en las bsquedas textuales. Son utilizadas con profusin en UNIX, tanto en los
editores como en los comandos de filtrado. A continuacin se muestra una tabla
conteniendo las ms sencillas:
c
\c
^
$
.
c*
c+
c?
c1c2
c1|c2
Pgina 58
UNIX
[...]
[^...]
(
)
rango de caracteres.
rango negado de caracteres.
agrupa caracteres.
Editor VI
El editor vi tiene dos modos de funcionamiento: modo comando (se abre por defecto
en este modo) y modo texto. La forma de conmutar entre uno u otro modo es la siguiente:
a,A,i,I,o,O,R
modo
comando
modo
texto
<ESC>
:e<archivo>[CR]
:e!<archivo>[CR]
:q[CR]
:q![CR]
:w[CR]
:w<archivo>[CR]
:w!<archivo>[CR]
:<cmd>[CR]
B. Comandos de Posicionamiento
1. Caracter
2. Palabra
w
b
e
3. Lnea
Pgina 59
UNIX
M
L
0
$
4. Pantalla
[CTRL]F
[CTRL]B
[CTRL]D
[CTRL]U
[CTRL]E
[CTRL]Y
[CTRL]G
C. Comandos de Edicin
1. Borrado
[n]dl [n]x
[n]dw
[n]dd
d$ D
2. Reemplazo
r
3. Insercin
a
A
i
I
o
O
R
4. Manejo de Buffers
[n]yy [n]Y
[n]yl
p
xy
xp
Pgina 60
UNIX
5. Reparacin de Errores
Deshace el ltimo cambio.
Restaura la lnea actual.
u
U
/patron/
//
?patron?
??
2. Sustitucin
s/texto viejo/texto nuevo/
3. Aadido, insercin, eliminacin
na
ni
n,c
m,nd
Pgina 61
UNIX
4. Union de lneas
m,nj
Comandos Filtro
grep: Bsqueda de patrones en archivos
Formato del comando:
grep [opciones] patrn archivo...
grep [opciones] -f archivo_patron archivo...
Descripcin:
El comando grep busca la ocurrencias de un patron de texto en el archivo o archivos
pasados como argumento. Cuando encuentra una lnea que contiene el patrn buscado
la muestra en la salida standard. La opcin -f permite leer el patrn buscado de un
archivo.
Opciones:
-v
-i
-n
-c
Ejemplo:
$grep -i unix capitulo1
...
sed: Editor dinmico o de flujo
Formato del comando:
sed lista de comandos ed archivo...
sed -f archivo_comandos archivo...
Descripcin:
El comando sed lee un archivo o archivos pasados como argumentos, ejecuta una
lista de comandos de ed a los mismos y muestra el resultado en la salida standard. Los
comandos deben ser comandos vlidos de ed. Si el comando no posee direcciones de
Captulo 7: Comandos Avanzados
Pgina 62
UNIX
Pgina 63
UNIX
Significado
Nmero de argumentos de la lnea de comandos
Arreglo de argumentos de la lnea de comandos
Nombre del archivo de entrada actual
Nmero de registro en el archivo de entrada actual
Separador de campo de entrada
Nmero de campos en el registro actual
Nmero de registros ledos hasta el momento
Formato de salida para nmeros
Separador de campo de salida
Separador de registro de salida
Separador de registro de entrada
Valor Inic.
%.6g
\n
\n
Funciones Integradas:
Matemticas: sin(), cos(), exp(), int(), log(), sqrt(), etc
De cadena: split(), substr(), match(), index(), length(), etc
Campos:
En awk, los campos son cadenas de caracteres (distintas de blancos), separados por
un espacio en blanco (un blanco o un tabulador). Los campos de cada lnea leda se
denominan $1, $2, etc. La lnea completa se denomina $0. Para operar con ellos es
necesario referenciarlos con ese nombre.
Pgina 64
UNIX
Ejemplo:
awk -f busca direcciones
El archivo direcciones est compuesto de la siguiente manera:
nombre:direccin:barrio:ciudad:telefono
El archivo busca contiene el siguiente programa awk:
BEGIN{
FS=:; OFS=; tot=0; print Direcciones de Crdoba
}$4 == Cordoba{
print Nombre: , $1, ** Direccin: , $2; tot=tot+1
}END{
OFS= ; print Se imprimieron:, tot, lneas del archivo
}
La salida ser de la forma:
Direcciones de Crdoba
Nombre: Juan Perez ** Direccin: 27 de Abril 9009
.................................................
.................................................
Se imprimieron: 999 lneas del archivo
sort: Ordenamiento de archivos
Formato del Comando:
sort [opcin...] archivo...
Descripcin:
El comando sort ordena las lneas del archivo o archivos especificados como argumentos
y las muestra en la salida standard.
Opciones:
-o salida
-k clave
-u
-d
-f
Pgina 65
UNIX
-n
-r
-tx
Pgina 66
UNIX
Opciones:
-l
-s
Ejemplo:
$cmp archi1 archi2
...
diff: Diferencia entre archivos
Formato del Comando:
diff [opciones] archivo1 archivo2
Descripcin:
El comando diff muestra en la salida standard las modificaciones que se deben realizar
sobre el archivo1 para hacerlo idntico a archivo2.
La salida es de la forma:
n1 a n3,n4
n1,n2 d n3
n1,n2 c n3,n4
Los nmeros a continuacin de las letras pertenecen al archivo2. Los comandos a, d
y c significan agregar (append), borrar (delete) y cambiar (change) respectivamente.
Siguiendo a cada una de estas lneas vienen las lineas afectadas del archivo1 precedidas
de un signo <, y luego las lineas afectadas del archivo2 precedidas del signo >.
Opciones:
-e
-f
Ejemplo:
$diff -e arch1 arch2 > script; echo w >> script
$ed x1 < script
Captulo 7: Comandos Avanzados
Pgina 67
UNIX
Ejemplo:
$comm -12 lista1 lista2
...
tr: Traduccin de caracteres
Formato del Comando:
tr [opciones] [conjunto1 [conjunto2]]
Descripcin:
El comanto tr copia la entrada standard en la salida standard con sustitucin o
eliminacin de caracteres seleccionados. Los caracteres del conjunto1 son apareados
con los del conjunto2 sustituyendo el caracter n del conjunto1 por el caracter n del
conjunto2. Pueden emplearse rangos para abreviar.
Opciones:
-d
-s
Pgina 68
UNIX
Ejemplo:
$tr [a-z] [A-Z] < apunte > apunte_mayusculas
$
nl: Numeracin de lneas de archivos
Formato del Comando:
nl [opciones] archivo
Descripcin:
El comando nl lee lineas del archivo especificado y las muestra en la salida stardard
numeradas a la izquierda, de acuerdo a las opciones especificadas.
nl ve el texto en trminos de pginas lgicas. La numeracin es reseteada al comienzo
de cada pgina lgica. Una pgina consiste en un encabezamiento (header), un cuerpo
(body) y un pi (footer). Se aceptan secciones vacias. Pueden elegirse diferentes
opciones de numeracin para cada seccin.
El comienzo de las secciones se sealan con los siguientes delimitadores y deben
estar en lineas independientes:
\:\:\:
\:\:
\:
Comienza el header
Comienza el body
Comienza el footer
Si no hay ningn delimitador en el texto, nl asume que el texto es una pgina lgica
simple.
Opciones:
-btipo
-ftipo
-htipo
-vnmero
-iincr.
-p
Pgina 69
UNIX
-sseparador
-wancho
-nformat
Ejemplo:
#nl -v10 -il0 -p archivo
Numera el archivo (no recomienza en cada pgina) comenzando en la linea 10 con un
incremento de 10.
Ejemplo:
$split -l 100 listado list
$
cut: Divisin vertical de archivos
Formato del Comando:
cut [opciones] archivo
Captulo 7: Comandos Avanzados
Pgina 70
UNIX
Descripcin:
El comando cut extrae (corta) columnas de una tabla o campos de las lneas de entrada
de un archivo y las muestra en la salida standard.
Opciones:
-c lista
-f lista
-d caracter
Listas:
Una lista de nmeros enteros separados por comas, en orden creciente. Se puede
usar un guin - para indicar rangos.
P.ej:
1, 4 , 7
Posiciones 1, 4 y 7.
1-3, 8
Posiciones de 1 a 3, y 8.
-5, 10
Posiciones desde el comienzo hasta 5, y 10.
3Posiciones desde 3 hasta la ltima.
Ejemplo:
$cut -d : -f 1,5 /etc/passwd > nombreslogin
$
paste: Concatenacin vertical de archivos
Formato del Comando:
paste [opciones] archivo1 archivo2
Descripcin:
El comando paste concatena las lneas correspondientes de los archivos dados como
argumentos y muestra el resultado en la salida standard. Trata a cada archivo como
una columna y las pega en forma yuxtapuesta.
Opciones:
-d
caracter
Pgina 71
UNIX
Ejemplo:
$paste -d : codigos articulos > stock
$
join: Operador relacional de archivos
Formato del Comando:
join [opciones] archivo1 archivo2
Descripcin:
El comando join ejecuta una operacin relacional de yuxtaposicin entre dos archivos,
mostrando una lnea en la salida stardard para cada par de lneas con idnticos campos
en los archivos de origen. A menos que se especifique la opcin -t, se considera que
los campos estn separados por espacios.
Opciones:
-a archivo
-e EMPTY
-i
-t caracter
-1 campo
-2 campo
Ejemplo:
#join -t : -i -1 1 -2 1 personas dias
El comando del ejemplo ejecuta un join entre los archivos personas y dias, tomando
como campos de yuxtaposicin el primer campo de cada archivo, que se encuentran
separados por el carcter :, e ignorando si se encuentran en maysculas o
minsculas.
Respaldo de archivos
tar: Archivador
Formato del Comando:
tar clave [argumento...] [archivo|-C directorio]...
Captulo 7: Comandos Avanzados
Pgina 72
UNIX
Clave:
Es una cadena de caracteres que contiene una (y slo una) letra de funcin, y
posiblemente uno o ms modificadores de funcin, en cualquier orden. No debe haber
espacios en blanco entre la funcin y sus modificadores.
Funciones:
-c
-r
-t
-u
-x
-A
-M
Modificadores:
b
f
Argumentos:
Los modificadores b y f requieren argumentos. Si se especifican ambos, el orden de
los argumentos deber ser igual al de los modificadores.
Ejemplo:
$tar -cvf /dev/fd0 *
...
Pgina 73
UNIX
CAPITULO 8:
Programacin en Shell
Pgina 74
UNIX
(p.ej.: contador=0)
(p.ej.: total=$contador)
Pgina 75
UNIX
${#variable}
${#identificador[*]}
${variable:-valor}
${variable:=valor}
UNIX
${variable:?valor}
${variable:+valor}
Campana.
Backspace.
Imprimir sin nueva lnea.
Nueva pgina (form feed).
Pgina 77
UNIX
\n
\r
\t
\\
+
*
/
%
Evaluacin de expresiones:
La evaluacin de expresiones se puede efectuar de dos fornas:
test <expresion>
o
[ expresion ]
Operadores:
-a
-o
!
operador y lgico.
operador o lgico.
operador not lgico.
Pgina 78
UNIX
-ge
-le
Estructuras de Control:
a. if-then-else-fi
if <condicin>
then <lista de comandos 1>
else <lista de comandos 2>
fi
b. for
for <variable> in <lista de valores>
do
<lista de comandos>
done
Pgina 79
UNIX
c. while
while <condicin (comando exitoso)>
do
<lista de comandos>
done
d. until
until <condicin (comando exitoso)>
do
<lista de comandos>
done
e. case
case <cadena> in
cadena 1) <lista de comandos1>;;
......
cadena n) <lista de comandos n>;;
esac
Ejemplo 1:
#!/usr/bin/ksh
if [ $# -eq 0 ]
then
echo Faltan argumentos;
exit 1;
fi
if [ -f $1 ]
then
rm $1
else
echo No existe el archivo $1
fi
Ejemplo 2:
#!/usr/bin/ksh
clear
echo Script para la muestra de parametros posicionales
echo =================================================
echo
Captulo 8: Programacin en shell
Pgina 80
UNIX
Pgina 81
UNIX
Pgina 82
UNIX
Pgina 83
UNIX
exit
else
base=$1
altura=$2
rect $base $altura
echo -e "\nEl area del rectangulo es $sup \n\n"
fi
Pgina 84
UNIX
CAPITULO 9:
Captulo 9: Administracin
Pgina 85
UNIX
Captulo 9: Administracin
Pgina 86
UNIX
Captulo 9: Administracin
Pgina 87
UNIX
Administracin de Grupos
groupadd: Agrega un nuevo grupo al sistema
Formato del Comando:
groupadd [-g gid [-o]] grupo
Descripcion:
El comando groupadd crea un nuevo grupo en el sistema aadiendo la entrada
Captulo 9: Administracin
Pgina 88
UNIX
Captulo 9: Administracin
Pgina 89
UNIX
Descripcin:
El comando chown cambia la titularidad de los dueos de los archivos pasados como
parmetro. El usuario especificado por el parmetro dueo pasa a ser en nuevo
propietario de los archivos seleccionados. Opcionalmente, cambia el grupo al que
pertenecen los archivos. Tanto el dueo como el grupo pueden especificarse por su
UID y GID, como por un nombre de usuario y de grupo existentes en los archivos /etc/
passwd y /etc/group, respectivamente.
Opciones:
-h
-R
Captulo 9: Administracin
Pgina 90
UNIX
Administracin de Procesos
ps: Muestra el estado de los procesos en ejecucin
Formato del Comando:
ps [opciones] [formato de salida]
Descripcin:
El comando ps muestra el estado de los procesos activos en la salida standard.
Opciones:
-A -e
-p lista
-t lista
-u lista
Captulo 9: Administracin
Pgina 91
UNIX
Formato de salida
(ninguno)
-f
Captulo 9: Administracin
Pgina 92
UNIX
-Q
-r
-m
-o especif
-V
Captulo 9: Administracin
Pgina 93
UNIX
Captulo 9: Administracin
Pgina 94
UNIX
-k
-l
-v
-V
Captulo 9: Administracin
Pgina 95
UNIX
Opciones:
-F tipoFS
-V
-a
-c
-f
-v
Captulo 9: Administracin
Pgina 96
UNIX
Opciones
-p userprot Asigna a los usuarios especificados las cuotas definidas para un
usuario prototipo userprot.
-t
Edita los tiempos lmite para cada sistema de archivos.
repquota: Reporte del uso de cuotas y espacio en disco
Descripcion:
El comando repquota muestra un resumen de uso de espacio en disco y cuotas para
cada sistema de archivos o dispositivo especificado.
Formato del Comando:
repquota [-v] [sistema de archivos | dispositivo]
repquota [-v] -a
Opciones:
-v
-a
Captulo 9: Administracin
Pgina 97
UNIX
CAPITULO 10:
Impresin
Pgina 98
UNIX
Impresin en
UNIX
modo directo
modo indirecto
(spool)
Sistema
BSD
Solaris
Linux
Sistema
SYSV
HP-UX
UnixWare
Sistema
AIX
Modo directo:
El modo directo consiste en enviar directamente el archivo a imprimir al archivo de
control dispositivo de la impresora conectada al sistema (usualmente, /dev/lp0),
mediante un comando cp o cat.
Ejemplo:
#cat impresos.txt > /dev/lp0
#
Slo el usuario root puede emplear este modo de impresin, dado que es el nico que
tiene acceso total sobre los el directorio y los archivos que representan dispositivos
fsicos.
Modo indirecto:
El modo indirecto consiste en emplear un sistema denominado SPOOL (Simultaneous
Printing On/Off Line). Este sistema recepta los requerimientos de impresin de los
usuarios y los dispone en forma de cola de espera de trabajos de impresin (printing
queue); luego los enva al dispositivo de impresin por orden de llegada. Un demonio
de impresin es el engargado de controlar el funcionamiento del spool.
El sistema de spool est a disposicin de todos los usuarios.
Pgina 99
UNIX
Sistema BSD
Este sistema fue desarrollado en Berkeley para su distribucin BSD. Su esquema de
funcionamiento es el siguiente:
Comando de envo
de archivo al SPOOL
Demonio de
impresin
Definicin de dispositivos y
directorios de impresin
lpd
/etc/printcap
SPOOL
lpr
Archivo a
imprimir
Cola de
impresin
/var/spool/lpd/*
Impresora
/dev/*
Averigua estado
del spool
lpq
Elimina trabajos
del spool
lprm
Gestiona el spool
(root)
lpc
Pgina 100
UNIX
-#numero
Ejemplo:
#lpr -Plp lista.txt
#
En este ejemplo, se enva el archivo lista.txt al spooler para su impresin en el dispositivo
denominado lp.
lpq: Examen de la cola de impresin del spool
Formato del Comando:
lpq [opciones] {[job#...] | [usuario...]}
Descripcin:
El comando lpq examina el area de spool y emite por pantalla un reporte del estado de
todos los trabajos pertenecientes al mismo. Si se especifica un nmero de trabajo
(job#...), reporta slo el estado del trabajo mencionado. Si se especifica un usuario,
reporta el estado de los trabajos correspondientes al mismo.
Pgina 101
UNIX
Opciones:
-Pimpresora Especifica una impresora en particular.
-l
Emite un reporte completo para cada uno de los archivos en el spool.
Ejemplo:
#lpq
lp is ready and printing
Rank
Owner
Job Files
active root
63
lista
1st
root
64
personas
2nd
root
65
empresas
#
Total Size
46 bytes
182 bytes
224147 bytes
dequeued
dequeued
dequeued
dequeued
dequeued
dequeued
Pgina 102
UNIX
help nombre-comando
clean {impresora | all}
enable {impresora | all}
Descripcin
Muestra el estado de la impresora specificada.
Si no especifica el nombre del dispositivo, se
mostrar el estado de la impresora llamada Ip
(la predeterminada).
Suministra informacin sobre un comando de
Ipc determinado.
Borra los los trabajos de la cola de impresin,
incluido los activos.
Permite el almacenamiento en la cola de
impresin de los trabajos dirigidos a una
impresora determinada.
Desactiva el almacenamiento en cola de
impresin de todos los trabajos destinados a
una impresora en particular. Cuando se
desactiva, los usuarios no podrn utilizar Ipr
para imprimir.
Activa el demonio de impresin para que
comience a imprimir todos los trabajos que se
encuentran en la cola de impresin correspondiente a la impresora especificada.
Trata de reiniciar el demonio de impresin (Ipd).
Un usuario puede intentar utilizar este
comando cuando parece que la impresora
funciona correctamente pero no imprime nada,
aun en el caso de que lpq muestre que hay una
serie de trabajos esperando en la zona de
spool. Si quiere volver a reiniciar todas las
Pgina 103
UNIX
stop {impresora | all}
exit
quit
Pgina 104
UNIX
manera del /etc/passwd), o en varias lneas, teniendo el cuidado de finalizar cada lnea
(menos la ltima) con un caracter \ y de indentar con un tabulador las que siguen
a la primera.
Ejemplo:
lp:\
:lp=/dev/lp0:\
:sd=/var/spool/lpd/lp:\
:mx#0:\
:sh:
Campos del archivo /etc/printcap
Campo
hl
if
lf
lp
mx
of
pl
pw
px
py
rg
rm
rp
se
sd
sf
sh
Tipo
Default
booleano false
Descripcion
Si se especifica este campo y sh no, se imprime
una pgina en blanco como separador entre
documentos.
cadena NULL
Nombre del filtro de texto, al que se invoca cada
vez que se imprime un trabajo. Puede utilizarlo
para interpretar unarchivo y convertrlo a un
formato con el que pueda trabajar la impresora).
cadena /dev/console Nombre del archivo en el que se registran los
errores.
cadena /dev/lp
Nombre del dispositivo que se ha de abrir para
enviar la salida correspondiente a la impresora
nmero 1000
Tamao mximo de los trabajos de impresin (en
KB); un valor de 0 implica un tamao ilimitado.
cadena NULL
Nombre del programa de filtro de salida (tan slo
se le llama una vez si no se especifica el campo
if).
nmero 66
Nmero de lneas por pgina.
nmero 132
Ancho de pgina, en nmero de caracteres.
nmero 0
Ancho de pgina, en pxeles (horizontal).
nmero 0
Largo de pgina, en pxeles (vertical).
cadena NULL
Grupo reducido de usuario en el que nicamente
los miembros de una lista pueden acceder a la
impresora.
cadena NULL
Nombre del sistema de una impresora remota.
cadena IP
Nombre de la impresora remota.
boolsano f alse
Si se especifica, no imprimir varias copias.
cadena /var/spool/lpd Nombre del directorio de spool
booleano f alse
Si se especifica, no imprime los saltos de pgina.
booleano f alse
Si se especifica, no imprime una hoja en blanco
como separador.
Pgina 105
UNIX
Sistema SYSV
Este sistema fu desarrollado por AT&T para su versin de Unix System V, y su esquema de funcionamiento es el siguiente:
Comando de envo
de archivo al SPOOL
Demonio de
impresin
Definicin de dispositivos y
directorios de impresin
lpsched
/etc/lp/*
SPOOL
lp
Archivo a
imprimir
Cola de
impresin
Impresora
/var/spool/lp/*
/dev/*
Elimina trabajos
del spool
cancel
lpshut
Desactiva el demonio
de impresin
Acepta/rechaza
trabajos del spool
accept
reject
lpadmin
Administra el sistema
de impresin
Habilita/inhabilita
impresoras
enable
disable
lpstat
Averigua estado
del spool
Pgina 106
UNIX
Ejemplo:
#lp -dlp2 lista.txt
#
En este ejemplo, se enva el archivo lista.txt al spooler para su impresin en el dispositivo
denominado lp2.
cancel: Cancelacin de trabajos enviados al spool
Formato del Comando:
cancel [opciones]
Descripcin:
El comando cancel efecta la cancelacin de un trabajo de impresin enviado al spool.
Pgina 107
UNIX
Opciones:
id...
printer...
-a
-e
-uusario
Ejemplo:
#accept ljet1 djet2
Este comando permite que el comando lp enve requerimientos de impresin a las
impresoras ljet1 y djet2.
#reject ljet1
Este comando prohibe al comando lp el envo de requerimientos de impresin a la
impresora ljet1.
Pgina 108
UNIX
Ejemplo:
#enable ljet1
Este comando habilita la impresora ljet1 para aceptar requerimientos de impresin.
#disable -c ljet1
Este comando inhabilita la impresora ljet1 para aceptar requerimientos de impresin y
cancela todos los trabajos encolados.
lpstat: Reporte del estado del spool
Formato del Comando:
lpstat [opciones]
Descripcin:
El comando lpstat muestra en la salida standard el estado del spool.
Opciones:
-a
Pgina 109
UNIX
-a[lista]
-d
-o[lista]
-p[lista]
-r
-s
-t
-u[lista]
-v[lista]
Ejemplo:
#lpstat -pljet1,djet1
Este comando muestra el estado de las impresoras ljet1 y djet1.
lpadmin: Configuracin del spool
Formato del Comando:
lpadmin [opciones]
Descripcin:
El comando lpadmin sirve para configurar el sistema de spool. NO PUEDE ser utilizado mientras est activo el demonio lpsched.
Opciones:
-pprinter
-xprinter
-pprinter
Pgina 110
UNIX
Ejemplo:
#lpadmin -plpr1 -mhp2934a -v/dev/lp
Este comando asigna a la impresora lpr1 el modelo de interfaz hp2934a, a travs del
dispositivo /dev/lp.
lpshut: Cierre del demonio de impresin
Formato del Comando:
lpshut
Descripcin:
El comando lpshut cierra el demonio de impresin (programa lpsched). Todas las
impresoras que se encuentran activas al momento de invocar lpshut cesarn de imprimir. Los requerimientos de impresin interrumpidos sern impresos completamente
cuando se active nuevamente lpched. Todos los comandos descritos hasta aqu pueden desarrollar sus funciones an cuando lpsched no se encuentre activo.
Sistema AIX
Este sistema fu desarrollado por IBM para su versin de Unix denominada AIX.
Adems de sus propios comandos, AIX permite la utilizacin de los comandos de
impresin de los sistemas BSD y SYSV, lo que permite que los usuarios provenientes
de estos entornos puedan utilizar comandos conocidos, hasta tanto se familiarizan con
el nuevo sistema.
comandos BSD
comandos SYSV
lpr
lpq
lprm
lp
cancel
lpstat
Sistema de
Impresin en AIX
enq
qprt
qcan
...
comandos AIX
Captulo 10: Impresin
Pgina 111
UNIX
En AIX, no existe un daemon especfico para el spool de impresin, sino que utiliza los
servicios de un daemon de propsito general para el encolamiento de trabajos de
cualquier tipo, incluyendo los de impresin.
Este daemon se llama qdaemon y se vale de otros programas denominados backend
para dar servicio a los distintos tipos de colas. En el caso de las colas de impresin, el
programa backend se denomina piobe.
El esquema de funcionamiento es el siguiente:
enq
qdaemon
/etc/qconfig
/var/spool/lpd/
qdir/*
/var/spool/lpd/
lpstat/*
piobe
Impresora
qprt
qcan
qchk
qpri
qhld
qmov
Pgina 112
UNIX
-R nmero
-T ttulo
-N copias
-x nmero
-X
Ejemplo:
$enq -P admin lista.txt
Este comando enva el archivo lista.txt a una cola llamada admin.
$enq -x 413
Este comando cancela el trabajo de impresin n 413.
Pgina 113
UNIX
cola
nmero
nmero
nmero
Ejemplo:
#qprt -P admin lista.txt
Este comando enva el archivo lista.txt a una cola llamada admin.
qcan: Cancelacin de trabajos de impresin
Formato del Comando:
qcan [opciones]
Descripcin:
El comando qcan cancela trabajos de impresin enviados al spool.
Opciones:
-P cola
-x nmero
-X
Pgina 114
UNIX
Ejemplo:
#qcan -P admin -x 123
Este comando cancela el trabajo n 123 de la cola llamada admin.
qchk: Comprobacin del estado de los trabajos de impresin
Formato del Comando:
qchk [opciones]
Descripcin:
El comando qchk muestra el estado de los trabajos de impresin, colas de impresin o
usuarios especificados.
Opciones:
-# nmero
-A
-P cola
-q
-u usuario
Ejemplos:
#qchk -P admin
Este comando muestra el estado de la cola de impresin llamada admin.
#qchk -q
Este comando muestra el estado de la cola de impresin por defecto.
qpri: Asignacin de prioridad a un trabajo de impresin
Formato del Comando:
qpri [opciones]
Descripcin:
El comando qpri asigna prioridad a un trabajo en una cola de impresin.
Captulo 10: Impresin
Pgina 115
UNIX
Opciones:
-# nmero
-a nmero
Ejemplos:
#qchk -# 123 -a 20
Este comando asigna al trabajo de impresin n 123 un valor de prioridad 20.
qheld: Retencin y liberacin de trabajos de impresin
Formato del Comando:
qheld [opciones]
Descripcin:
El comando qheld retiene trabajos de impresin enviados al spool o libera trabajos
retenidos.
Opciones:
-# nmero
-P cola
-r
-u usuario
Ejemplos:
#qheld -# 123
Este comando retiene el trabajo de impresin nmero 123..
qmov: Desplazamiento de trabajos entre colas de impresin
Formato del Comando:
qheld [opciones]
Pgina 116
UNIX
Descripcin:
El comando qmov mueve un trabajo de impresin a otra cola de impresin del spool.
Opciones:
-# nmero
-m cola
-P cola
-u usuario
Ejemplos:
#qmov -mljet1 -#123
Este comando reubica el trabajo de impresin nmero 123 a la cola ljet1.
#qmov -mljet1 -Pdjet1
Este comando reubica todos los trabajo de impresin nmero de la cola djet1 a la cola
ljet1.
qstatus: Estado de las colas de impresin del spool
Descripcin:
El comando qstatus muestra el estado de las colas de impresin del spool.
Opciones:
-# nmero
-A
-L
-P cola
-q
-u usuario
Pgina 117
UNIX
Ejemplos:
#qstatus -A
Este comando muestra el estado de todas las colas de impresin del sistema. Produce
una salida como la siguiente:.
Queue
----qprt0
bsh
lpr1
rp0
Dev
--lp0
Status
-----RUNNING
QUEUED
QUEUED
bshde READY
Ip2
READY
drp0 DOWN
QUEUED
Job
--54
56
59
Files
----DOC1
DOC2
DOCU6
User
PP
----user0l 9
root
root
60
DOCU7
root
%
-31
Blks
---9
1
1
Cp
-1
1
1
Rnk
--1
2
3
Pgina 118
UNIX
Pgina 119
UNIX
file = /dev/lp1
header = never
trailer = never
access = both
backend = /usr/lib/lpd/piobe
pcl:
device = lp1
lp1:
file = /dev/lp1
header = never
trailer = never
access = both
backend = /usr/lib/lpd/piobe
ps:
device = lp1
lp1:
file = /dev/lp1
header = never
trailer = never
access = both
backend = /usr/lib/lpd/piobe
En este ejemplo se definen cuatro colas de impresin (asc, gl, pcl y ps) que son atendidas
por el mismo dispositivo (/dev/lp1).
Impresoras virtuales:
Una impresora virtual es una vista lgica simple de todo el entorno de la impresora
desde el punto de vista del usuario. Describe una combinacin entre la configuracin
especfica de la cola, el dispositivo que la da servicio a la misma, el data stream soportado
y el dispositivo de impresin propiamente dicho.
La definicin de una impresora virtual no est contenida en el archivo /etc/qconfig. Su
presencia est implcita por el hecho de que el programa backend para la cola
correspondiente es piobe, pero est almacenada en otro lugar del sistema de archivos
de AIX. La definicin de una impresora virtual se crea al mismo tiempo que la definicin
de la cola de impresin, via el comando piomkpq. El nombre de la cola se emplea
generalmente para identificar y acceder a la definicin de la impresora virtual.
Las impresoras virtuales son muy importantes debido a que muchas impresoras pueden
soportar mltiples data streams. Por lo tanto, las impresoras virtuales proveen un mtodo
para identificar mltiples data streams a un dispositivo de impresin simple.
Pgina 120
UNIX
gl
pcl
ps
Colas de
Impresin
asc:4039
asc:4039
asc:4039
asc:4039
/dev/4039
Impresoras
virtuales
Driver
Dispositivo
Fsico
4039
Pgina 121
UNIX
Opciones:
-d
-h encab.
-l long.
-o margen
-t
-w ancho
Ejemplos:
#pr -d -h Listado de Cuentas -l 70 -w 78 listado.lst | prn
Este comando imprime el archivo listado.lst a doble espacio, con el ttulo Listado de
Cuentas, a 70 lneas y 78 caracteres por pgina.
Pgina 122
UNIX
CAPITULO 11:
Herramientas de Desarrollo
Pgina 123
UNIX
Pgina 124
UNIX
Contenido de un makefile
a. Reglas Explcitas
En su forma ms sencilla, un archivo makefile contiene una o mas lneas de texto
llamadas reglas (rules). Estas lineas muestran como dependen unas archivos de otros
y que comandos es necesario ejecutar para poner al dia el archivo final.
Una regla tiene la siguiente forma:
objetivo: [dependencias] [;comando ...]
[comando ...]
Objetivo:
Dependencias:
Comando:
Nota: los comandos enumerados en la linea siguiente a la del objetivo debern estar
precedidos por un tabulador, para que make los reconozca como un comando.
Para ilustrar esta supongamos que un programa llamado prog es creado compilando y
linkeditando tres archivos en lenguaje c: x.c, y.c y z.c con la librerla ls. Asumamos que
x.c e y.c comparten declaraciones de un archivo llamado defs y z.c no (o sea que x.c e
y.c contienen la linea #include defs mientras que z.c no).
Por convencin la salida de las compilaciones c se encontrarn en x.o y.o y z.o.
El siguiente texto muestra el archivo makefile, el cual describe las relaciones entre
los archivos y la operaciones que deben realizarse.
prog: x.o y.o z.o
cc x.a y.o z.o -ls -o prog
x.o: x.c defs
cc -c x.c
y.o: y.c defs
cc -c y.c
z.o: z.c
cc -c z.c
El comando make realizar las operaciones necesarias para recrear prog despus de
que cualquier cambio se haya realizado en los cuatro fuentes: x.c, y.c, z.c o defs.
Captulo 11: Herramientas de Desarrollo
Pgina 125
UNIX
En nuestra ejemplo, la primer regla dice que el objetivo es prog y que sus dependencias
son tres archivos .o (objetos). El comando describe como linkeditarlos y crear prog.
Las dos reglas siguientes expresan que x.o y y.o dependen del archivo defs adems
de sus correspondientes fuentes x.c e y.c y como compilarlos para generarlos.
La ltima regla establece que el objetivo z.o slo depende de z.c e indica como
compilarlo.
Si al ejecutar make algunos de los fuentes tiene fecha posterior a la fecha del ejecutable
prog, make se encarga de compilar los mdulos necesarios y linkear todos los mdulos
para crear prog.
Si ninguna de los fuentes fue modificado desde la ltima vez que fue creado prog,
todos los archivos serian actuales a la fecha de construccin de prog, y el comando
make anunciarla que el proyecto est actualizado y terminara.
Si, por ejemplo solo y.c tuvo cambios, solo l seria recompilado y se necesitara volver
a crear prog.
b. Reglas Implcitas
Algunas reglas de actualizacin de archivos se usan con mucha frecuencia. Por ejemplo,
la manera acostumbrada de generar un archivo objeto es procesando un archivo fuente
en lenguaje C con el compilador de C, cc.
Las reglas implcitas instruyen a make sobre la forma de emplear tcnicas comunes de
manera tal que no sea necesario especificarlas cuando se desea emplearlas.
Ejemplo:
La regla implcita:
main.o: defs.h
es equivalente a:
main.o: main.c defs.h
cc -c main.o defs.h
Algunas reglas implicitas:
.o
.o
.c
.cc .C
Compila programas en C.
Compila programas en C++.
Pgina 126
UNIX
.o
.o
.c
.c
.p
.f
.y
.l
c. Macros o Variables
Make provee un sencillo mecanismo de macros para substituciones en sus lineas.
Una macro o variable se define de la siguiente forma:
nombre = valor ...
Una macro o variable se invoca encerrando su nombre entre parntesis y precediendo
el mismo con el signo $.
Ejemplo:
OBJETOS = x.o y.o z.o
LIBRERIAS = -ls
prog: $(OBJETOS)
cc $(OBJETOS> $(LIBRERIAS) -o prog
Est caracteristica es muy til para el mantenimiento del archivo de definiciones.
d. Pseudo-objetivos u Objetivos Falsos (Phony Targets)
Es muchas veces til incluir reglas con pseudo-objetivos, o sea objetivos que no
dependen de ningn otro.
Los pseudo-objetivos permiten a make realizar taras que no estn dirctamente
relacionadas con la creacin de un programa, tales como copiar o remover archivos.
Por ejemplo, si el makefile contiene una regla como la siguiente:
limpiar:
rm -f x.o y.o z.o
Cuando se llame al make de la siguiente manera:
$make limpiar
se borrarn los archivos especificados. Si el objetivo limpiar no depende de ningn
otro (no figura como dependencia de ningn otro objetivo), no se ejecutar si no es
invocado especficamente.
Pgina 127
UNIX
d. Comentarios
Toda lnea que comience con el smbolo #, ser tratada como un comentario.
Ejemplo:
# Este es la regla que define el objetivo principal
prog: x.o y.o z.o
cc x.a y.o z.o -ls -o prog
e. Supresin de la impresin de comandos
Por defecto, make imprime en la salida standard todos los comandos que ejecuta. Si
se desea suprimir est caracterstica, se deben prefijar con el smbolo @.
Ejemplo:
# Este es la regla que define el objetivo principal
prog: x.o y.o z.o
@echo Procesando el objetivo pricipal
@cc x.a y.o z.o -ls -o prog
@echo Objetivo pricipal procesado
f. Directivas
Son comandos que instruyen a make para realizar alguna tara durante el proceso de
lectura de makefile.
La ms comn es include, que permite la inclusin de archivos externos a makefile. Se
debe indicar escribindola al comienzo de la lnea.
include <archivo>
Ejemplo:
prog: x.o y.o z.o
cc x.a y.o z.o -ls -o prog
include x.mk
include y.mk
include z.mk
g. Definiciones
Las definiciones sn una forma de generar variables (o macros) compuestas por varias
Pgina 128
UNIX
ifdef variable
texto_si_verdadero
else
texto_si_falso
endif
ifndef variable
texto_si_verdadero
else
texto_si_falso
endif
H
Los que preguntan por la igualdad (o desigualdad) entre dos variables o entre una
variable y una constante.
Pgina 129
UNIX
ifeq (variable1,variable2)
texto_si_verdadero
else
texto_si_falso
endif
ifneq (variable1,variable2)
texto_si_verdadero
else
texto_si_falso
endif
Ejemplo:
ifdef PRINCIPAL
include ppal.mk
else
include secu.mk
endif
En este ejemplo se pregunta si est definida la variable PRINCIPAL; en caso afirmativo
se ordena la inclusin del archivo ppal.mk; en caso contrario, se ordena la inclusin
del archivo secu.mk.
Ejemplo:
USUARIO="root"
...
...
ifneq ($(USUARIO),"root")
@echo $(USUARIO)
else
@echo "El usuario no puede ejecutar este comando"
endif
En este ejemplo se pregunta si la variable contiene un valor distinto; en caso afirmativo,
se imprime el valor de la variable; en caso contrario, se imprime un mensaje indicando
un mensaje de error.
Pgina 130
UNIX
Opciones
-f archivo
-i
-n
-r
-s
-t
-u
-w
Pgina 131
UNIX
Almacenamiento y recuperacin de versiones de archivos de texto. RCS almacena las versiones en una forma que permite ahorrar espacio. Las versiones pueden ser recuperadas de acuerdo al nmero, nombre, nombre simblico, fechas,
autores y estados.
Mantenimiento de una historia completa de modificaciones. RCS almacena todos los cambios automticamente. Adems del texto de la versin, RCS almacena el autor, fecha y hora del check-in (depsito) y un texto que describe la modificacin.
Resolucin de conflictos de acceso. Cuando dos o ms personas tratan de modificar simultneamente la misma versin del archivo, RCS los alerta y evita que
una modificacin corrompa a la otra.
Control de entrega y configuracin. Las versiones pueden ser nombradas simblicamente como experimentales, estables o entregadas. Con estas facilidades,
las configuraciones de un archivo pueden ser descriptas de manera simple y
directa.
Pgina 132
UNIX
Descripcin
Deposita una nueva version de un archivo de trabajo en un archivo RCS.
Extrae una version de un archivo RCS a un archivo de trabajo.
Cambia atritbutos de archivos RCS.
Imprime en la salida standard los mensajes de log y otra informacin
acerca de archivos RCS.
Identifica palabras clave RCS en archivos de trabajo.
Compara versiones de archivos RCS con archivos de trabajo.
Intercala versiones de archivos RCS en archivos de trabajo.
Limpia archivos de trabajo.
Comandos RCS
ci: Depsito (check-in) de archivos de trabajo
Formado del Comando:
ci [opciones] archivo_de_trabajo ...
Descripcin:
El comando ci deposita una nueva versin de un archivo de trabajo en el correspondiente
archivo RCS.
Si el archivo RCS no existe, lo crea y deposita el contenido del archivo de trabajo como
la versin inicial (por defecto, la 1.1). Para la creacin del archivo RCS, ci busca primero
la existencia de un subdirectorio RCS bajo el directorio de trabajo, y, si lo encuentra,
crea el archivo RCS en l; en caso contrario, lo crea en el directorio de trabajo.
Un archivo de trabajo creado por ci hereda los permisos de lectura y ejecucin del
archivo de trabajo. Si el archivo RCS existe, ci preserva sus permisos de lectura y
ejecucin. El comando ci siempre inhabilita el permiso de escritura de los archivos
RCS.
El usuario del comando debe poseer permisos de lectura y escritura sobre el archivo
de trabajo y sobre el directorio que contiene los archivos RCS, y permiso de lectura
sobre el archivo RCS.
Pgina 133
UNIX
Ejemplo:
$ci -l capitulo1.tex
RCS/capitulo1.tex,v < capitulo1.tex
new revision: 1.5; previous revision: 1.4
enter log message, terminated with single . or end of file:
>> Ultima revision del capitulo
>> .
$ls -l cap*
-rw-rr
1
root
root
142 May 15 19:58
capitulo1.tex
$
co: Extraccin (check-out) de archivos de trabajo
Formado del Comando:
co [opciones] archivo_de_trabajo ...
Descripcin:
El comando co extrae una versin de un archivo de trabajo del correspondiente archivo
RCS.
Captulo 11: Herramientas de Desarrollo
Pgina 134
UNIX
-q[rev]
-dfecha
-r[rev]
-sestado
-wusuario
Pgina 135
UNIX
Pgina 136
UNIX
-
Bloqueos
Nombres simblicos
Sufijo del archivo RCS
Nmero total de revisiones
Nmero de revisiones seleccionadas para impresin
Texto descriptivo
Esta informacin es seguida por las entradas correspondientes a cada una de las
revisiones depositadas, en rden cronolgico para cada rama. Para cada revisin, se
imprime la siguiente informacin:
-
Nmero de revisin
Autor
Nombe y fecha
Estado
Nmero de lneas agregadas o borradas
Mensaje de log
Opciones:
-dfechas
-h
-l[usuario]
-rrevisiones
-R
-sestados
-h
-w[usuario]
Pgina 137
UNIX
Descripcin:
El comando ident busca en los archivos especificados la ocurrencia de cadenas de
caracteres del tipo $clave:...$, donde clave puede ser:
Author, Date, Header, Id, Locker, Log, Source, State
rcsdiff: Compara archivos RCS y/o de trabajo
Formado del Comando:
rcsdiff [opciones] [-rrev1] [-rrev2] archivo ...
Descripcin:
El comando rcsdiff compara versiones entre versiones depositadas en archivos RCS,
o entre ellas y archivos de trabajo. La salida del comando es muy similar a la de diff (en
realidad, hace una llamada a diff).
Si se especifican ambos nmeros de revisin depositadas en un archivo RCS, se hace
una compraracin entre ellas. Si se omite el segundo nmero de revisin, se compara
la revisin especificada con el archivo de trabajo. Si se omiten ambos nmeros de
revisin, se compara la ltima revisin depositada con el archivo de trabajo.
Opciones:
Las opciones son las mismas que las de el comando diff.
rcsmerge: Intercala versiones de archivos RCS y/o de trabajo
Formado del Comando:
rcsmerge -rrev1 [-rrev2] [-p] archivo ...
Descripcin:
El comando rcsmerge intercala las versiones especificadas de un archivo RCS. Si se
especifica la opcin -p, se muestra el resultado en la salida standard, de otra manera,
sobreescribe en el archivo de trabajo.
El primer nmero de revisin es obligatorio. Si se omite el segndo nmreo de revisin,
se asume por defecto el ltimo depositado.
En caso de conflictos, rcsmerge imprime una advertencia y delimita las secciones que
Captulo 11: Herramientas de Desarrollo
Pgina 138
UNIX
Pgina 139
UNIX
RCS) y borra prog.c (archivo de trabajo) del directorio de trabajo. Antes de ejecutar
estas tareas, solicita al usuario el ingreso de una descripcion, la cual deberia ser un
breve resumen del contenido del archivo o de la tarea que realiza si es un programa.
Debe la descripcin solicitada, terminada con un . (punto) en una lnea en blanco.
Todos los comandos ci posteriores solicitaran una descripcin de los cambios introducidos al archivo.
Para recuperar el archivo de trabajo de nuestro ejemplo, empleamos el comando co
(check-out o extraccin):
co prog.c
Esto genera en nuestro directorio de trabajo una copia del archivo f.c de solo lectura.
Esto es util en caso de que se desee compilarlo o listarlo. Si se desea modificar el
mismo, hay que bloquearlo para que otro usuario no pueda extraerlo para su edicion al
mismo tiempo:
co -l prog.c
Ahora es posible editar el archivo prog.c. Si, luego de su edicion se desea conocer
los cambios introducidos, se debe ejecutar el comando rcsdiff, que muestra la diferencia entre el archivo de trabajo editado y la ultima versin RCS.
rcsdiff prog.c
Para generar una nueva versin, se hace un check-in:
ci prog.c
Si ci envia un mensaje de error similar al siguiente:
ci: no lock set by <usuario>
es que se quiere hacer un depsito an cuando no fue bloqueado al extraerlo (con la
opcion -l). En este momento no se puede hacer un check-out con bloqueo, porque
sobreescribira la versin que hemos editado. En su lugar se debe hacer:
rcs -l prog.c
Este comando bloquea la ultima revisin (si es que otro programador no se le adelanto, en cuyo caso, deber negociar con el). El bloqueo asegura que nign otro usuario
pueda editar el mismo archivo. El bloqueo no evita que otro usuario haga un check-out
sin bloqueo para visualizarlo, compilarlo, etc.
Pgina 140
UNIX
Si se desea depositar una versin (p.ej. para dejar documentado un cambio) y luego
seguir trabajando ella, podemos utilizar el comando ci de la siguiente manea:
ci -l prog.c
La opcin -l del comando ci deposita una nueva versin del archivo de trabajo en el
archivo RCS e inmediatamente lo extrae con bloqueo, para que se pueda seguir editando (equivale a hacer ci prog.c y co -l prog.c en forma consecutiva).
Con el devenir de las modificaciones, se van generando las sucesivas versiones del
archivo de trabajo: 1.1, 1.2, ..., 1.20, etc. Vamos a suponer que la versin 1.20 es
operativa y est puesta a disposicin de los usuarios. Sin embargo, como debemos
seguir con su desarrollo, queremos cambiar el orden de numeracin para dejar reflejado que las versiones subsiguientes pertenecen a una nueva etapa en la construccin
del programa. En este caso, extraemos la ltima versin, la editamos y la depositamos
de la siguiente manera:
$ci -r2
prog.c
Pgina 141
UNIX
CAPITULO 12:
4A@AI
Pgina 142
UNIX
Redes
ping: Envio de requerimiento de eco
Descripcin:
El comando ping enva un requerimiento de eco a otro servidor para ver si se encuentra disponible para su conexin. Tamben puede enviarse un ping al servidor propio
para chequear el estado de la tarjeta de red.
Formato del Comando:
ping { direccion ip | servidor | localhost}
Ejemplo 1: Envo de un ping a una direccin ip (que no est disponible).
$ping 192.168.69.36
PING 192.168.69.36 (192.168.69.36): 56 data bytes
ping: sendto: Network is unreachable
ping: wrote 192.168.69.36 64 chars, ret=-1
ping: sendto: Network is unreachable
ping: wrote 192.168.69.36 64 chars, ret=-1
ping: sendto: Network is unreachable
ping: wrote 192.168.69.36 64 chars, ret=-1
ping: sendto: Network is unreachable
ping: wrote 192.168.69.36 64 chars, ret=-1
ping: sendto: Network is unreachable
ping: wrote 192.168.69.36 64 chars, ret=-1
192.168.69.36 ping statistics
5 packets transmitted, 0 packets received, 100% packet loss
Ejemplo 2: Envo de un ping al servidor propio para probar la configuracin de la red.
$ping localhost
PING 127.0.0.0 (127.0.0.0): 56 data bytes
64 bytes from 127.0.0.1: icmp_seq=0 ttl=255 time=0.2
64 bytes from 127.0.0.1: icmp_seq=1 ttl=255 time=0.1
64 bytes from 127.0.0.1: icmp_seq=2 ttl=255 time=0.1
64 bytes from 127.0.0.1: icmp_seq=3 ttl=255 time=0.1
64 bytes from 127.0.0.1: icmp_seq=4 ttl=255 time=0.1
127.0.0.0 ping statistics
5 packets transmitted, 5 packets received, 0% packet
round-trip min/avg/max = 0.1/0.1/0.2 ms
ms
ms
ms
ms
ms
loss
Pgina 143
UNIX
SERVIDOR
TELNET
SISTEMA
OPERATIVO
SISTEMA
OPERATIVO
RED
Pgina 144
UNIX
SISTEMA CLIENTE
CONEXION
DATOS
CLIENTE
TRANSF.
DE
DATOS
PROC.
DE
CONTROL
SISTEMA SERVIDOR
CONEXION
CONTROL
CLIENTE
CONEXION
CONTROL
SERVIDOR
SISTEMA OPERATIVO
PROC.
DE
TRANSF.
DE
CONTROL
DATOS
CONEXION
DATOS
SERVIDOR
SISTEMA OPERATIVO
RED
Pgina 145
UNIX
Adems del interfaz de caracter existente en UNIX y Windows (en modo MS_DOS),
existen una multitud de implementacines grficas que simplifican y agilizan la tara.
A modo de ejemplo, mostramos la pantalla de uno de ellos (WS-FTP95 para Windows
9x, NT y 2000). Tambin existen interfaces grficas para UNIX ejecutando X.
Pgina 146
UNIX
MENSAJE
SALIENTE
I
N
T
E
R
F
A
Z
D
E
MENSAJE
ENTRANTE
U
S
U
A
R
I
O
BASE DE
DATOS
DE ALIAS
CLIENTE
SMTP
(CORREO
SALIENTE)
EXPANSION
DE ALIAS,
ENVIO
Y RECEPCION
SPOOL
DE CORREO
SALIENTE
CLIENTE
POP 3
IMAP 4
(CORREO
ENTRANTE)
CASILLAS
PARA
CORREO
ENTRANTE
CONEXION TCP
PARA CORREO
SALIENTE
CONEXION TCP
PARA CORREO
ENTRANTE
De cliente SMTP
SERVIDOR SMTP
(MTA)
sendmail
De otros servidores SMTP
A cliente POP
SERVIDOR
POP
(MUA)
procmail
SERVIDOR
IMAP
Casilla de Correo
A cliente IMAP
Pgina 147
casilla de
correo
Usuario B
interfaz de usuario
envio y
recepcion
cliente
pop/imap
alias
spool de
correo
cliente
smtp
notificador
servidor
pop/imap
Servidor
Usuario A
lector de
correo
casilla de
correo
procmail
servidor
smtp
Usuario C
lector de
correo
notificador
casilla de
correo
procmail
servidor
smtp
UNIX
Lic. Ral N. Confalonieri
Pgina 148
UNIX
Comandos:
+, n <ENTER>
d
s archivo
m usuario
q <CTRL-D>
x
!comando
? *
Va al prximo mensaje.
Borra el mensaje y va al prximo.
Regresa al mensaje anterior.
Guarda el mensaje en archivo (el archivo por defecto es mbox),
lo marca para el borrado del buzn de mensajes y va al proximo.
Enva el mensaje a usuario, lo marca para el borrado y va al
prximo.
Pone los mensajes no borrados en el buzn y sale al shell.
Aborta. Deja el buzn intacto y sale al shell.
Sale temporariamente al shell y ejecuta un comando.
Imprime un resumen de comandos.
Pgina 149
UNIX
APENDICE A:
Pgina 150
UNIX
make config
make menuconfig
make xconfig
(pantalla boba)
(terminal PC)
(terminal X)
d. Instalar el kernel
1. Verificar el modelo de kernel instado
cat /etc/lilo.conf
2. Copiar el archivo zImage al directorio boot
cp /usr/src/linux/arch/i386/boot/zImage /boot/<nueva imagen>
3. Instalar los modulos
cd /lib/modules
mv 2.2.14-5.0 2.2.14-5.0-working
make modules install
d. Habilitar el kernel
1. Editar el archivo /etc/lilo.conf para agregar el nuevo kernel
2. Correr lilo.conf para que tome los cambios
3. Reiniciar el equipo
Pgina 151
UNIX
APENDICE B:
Pgina 152
UNIX
ext
ext2
msdos
umsdos
vfat
proc
iso9660
hpfs
sysv
nfs
smb
ncpfs
Descripcin
Utilizado en el sistema operativo minix y el primero en existir bajo Linux.
Tiene una serie de limitaciones, tales como particiones de 64 Mb.,
nombres de archivo cortos, una sola fecha en los inodos, etc.
Es una extensin elaborada del sistema de archivos minix. Actualmente est fuera de uso y se planea quitarlo del kernel.
Diseado como una extensin del anterior, ofrece la mejor performance (en trminos de velocidad y uso de CPU) de todos los sistemas de
archivos soportados por Linux.
Es el sistema de archivos utilizado por MS-DOS, Windows y las versiones antiguas de OS-2. Los nombres de archivo deben ser de la
forma 8.3, es decir, ocho caracteres para el nombre, un punto y tres
caracteres para la extensin.
Es una extensin del anterior implementada bajo Linux. Agrega capacidad de nombres largos, UID/GID, permisos POSIX y dispositivos
especiales, sin sacrificar compatibilidad.
Es una extensin del sistema MS-DOS implementada por Windows
95 y NT. Agrega la capacidad de nombres largos bajo el sistema de
archivos MS-DOS.
Es un pseudo sistema de archivos que se emplea como un interfaz
con las estructuras de datos del kernel. No ocupa espacio en disco.
Es un sistema de archivos en CD-ROM, compatible con el estndar
ISO 9660.
Es el Sistema de Archivos de Alta Performance (High Performance
File System) empleado por OS-2. Debido a la falta de documentacin
disponible, slo puede ser montado como read-only.
Es una implementacin del sistema de archivos System V/Coherent
para Linux. Implementa los sistemas de archivos para Xenix, System
V/386, y Coherent.
Es el sistema de archivos de red empleado para acceder a discos
instalados en computadoras remotas.
Es un sistema de archivos de red que soporta el protocolo SMB/CIFS,
utilizado por Windows para Grupos de Trabajo, 95, NT y Lan Manager.
Es un sistena de archivos de red que soporta el protocolo NCP, utilizado por Novell NetWare. Para utilizarlo, se necesitan programas especiales, los que pueden ser encontrados en:
Pgina 153
UNIX
BIBLIOGRAFIA
Bibliografa
Pgina 154
UNIX
Bibliografa
The Design of the Unix Operating System
Maurice J. Bach
Prentice Hall International Editions
0-13-201757-1
El Entorno de Programacin Unix
Brian Kernighan - Rob Pike
Prentice Hall International
958-880-067-8
Unix Power Tools
Jerry Peek - Tim OReilly - Mike Loukides
OReilly
1-56592-260-3
Administracin de Sistemas Linux
M. Carling - Stephen Degler - James Dennis
Prentice Hall - New Riders
84-8322-174-8
Internetworking with TCP/IP - Vol. 1: Principles, Protocols and Architecture
Douglas Comer
Prentice Hall International Editions
0-13-474321-0
Computer Networks
Andrew S. Tanenbaum
Prentice Hall International Editions
0-13-166836-6
Bibliografa
Pgina 155