Manual de Unix

162
UNIX OPERACION, PROGRAMACION Y ADMINISTRACION Lic. Raúl N. Confalonieri

description

Manual de Unix basico. Introduccion

Transcript of Manual de Unix

  • Lic. Ral N. Confalonieri

    Pgina iContenidos

    Contenidos

    Captulo 1: Introduccin .............................................................................................1

    Historia del Sistema UNIX .....................................................................................2Nacimiento del Sistema UNIX................................................................................2Evolucin del Sistema UNIX ..................................................................................3Difusin del Sistema UNIX.....................................................................................3AT&T UNIX ............................................................................................................4Berkeley UNIX .......................................................................................................4Intentos de Estandarizacin de UNIX ....................................................................5

    Metas de UNIX.......................................................................................................5 Caractersticas de UNIX ........................................................................................6

    Captulo 2: Conceptos Fundamentales ......................................................................7

    Usuario ..................................................................................................................8 Archivo ...................................................................................................................8 Proceso ................................................................................................................10 Daemon ...............................................................................................................10 Driver ................................................................................................................... 11 Stream ................................................................................................................. 11

    Captulo 3: Componentes del Sistema UNIX ...........................................................12

    Arquitectura Gerneral de un Sistema Operativo ..................................................13 Estructura en Capas ............................................................................................13 Arquitectura Funcional del Sistema UNIX............................................................14 Procesos ..............................................................................................................15

    Estados Posibles de un Proceso .........................................................................15Diagrama de Estados ..........................................................................................15

    Sistema de Archivos ............................................................................................16Estructura fsica ...................................................................................................16i-nodos .................................................................................................................16Estructura lgica ..................................................................................................18

    Redes ..................................................................................................................19Conceptos bsicos ..............................................................................................19TCP/IP .................................................................................................................19Aplicaciones TCP/IP ............................................................................................20Sockets ................................................................................................................21Direcciones IP ......................................................................................................21

    Secuencia de Arranque .......................................................................................23

  • Lic. Ral N. Confalonieri

    Pgina iiContenidos

    Captulo 4: Conceptos Bsicos de Shell ..................................................................25

    Definicin de shell ................................................................................................26 Distintos tipos de shell .........................................................................................26

    Bourne shell (bsh) ................................................................................................26C-shell (csh) .........................................................................................................26Korn shell (ksh) ....................................................................................................26

    Archivos standard ................................................................................................27 Formato general de los comandos ......................................................................27 Redireccionamiento () ....................................................................................27 Redireccionamiento no destructivo: Appending (>>) ...........................................28 Comodines (wildcards) ........................................................................................28 Conjuntos y Rangos: [ ] y - ...................................................................................28 Separadores de comandos (;) .............................................................................29 Ejecucin en back-ground (&) ..............................................................................29 Tuberas o pipes (|) ..............................................................................................29 Ejecucion condicional de comandos (|| y &&) ......................................................30Captulo 5: Primera Sesin ......................................................................................31

    Ingreso al sistema: login ......................................................................................32 Salida del sistema: exit, logout y [ctrl]d ................................................................32 Administracin de claves .....................................................................................33

    Cambio de clave: passwd ....................................................................................33 Comandos de Informacin general ......................................................................33

    Presentacin en pantalla: echo ...........................................................................33Bandera de saludo: banner .................................................................................33Fecha del Sistema: date ......................................................................................33Calendario: cal .....................................................................................................34Usuarios Activos: who..........................................................................................34Datos del usuario actual: whoami y who am i ......................................................34

    Captulo 6: Comandos Bsicos ................................................................................35

    Comandos para el manejo de directorios ............................................................36Directorio de trabajo: pwd ....................................................................................36Contenido de directorios: ls .................................................................................36Cambio de directorio: cd ......................................................................................37Creacin de un nuevo directorio: mkdir ...............................................................38Eliminacin de un directorio: rmdir .......................................................................38

    Comandos para el manejo de archivos ...............................................................39Vista del contenido de archivos: cat ....................................................................39Copia de archivos y directorios: cp ......................................................................39Renombrado y reubicacin de archivos: mv ........................................................40

  • Lic. Ral N. Confalonieri

    Pgina iiiContenidos

    Eliminacin de archivos y subdirectorios: rm .......................................................40Vista en pantallas sucesivas: more ......................................................................41Redireccionamiento y muestra en pantalla: tee ...................................................42Muestra de primeras lneas de un archivo: head .................................................42Vista de ltimas lneas de un archivo: tail ............................................................43Creacin o cambio de fechas de un archivo: touch .............................................43Cuenta de caracteres, palabras y lneas: wc .......................................................44Determinacin del tipo de archivo: file .................................................................44Bsqueda de archivos: find ..................................................................................45Impresin de archivos: lp .....................................................................................45Enlace (linking) de archivos : ln............................................................................46Redefinicin de un comando: alias ......................................................................47

    Comandos para la comunicacin entre usuarios .................................................47Envo de mensajes a otros usuarios: write...........................................................47Comunicacin en lnea entre usuarios: talk .........................................................48Tablero de mensajes: wall ....................................................................................49Habilitacin/inhabilitacin de recepcin de mensajes: mesg ...............................49

    Dueos y permisos de archivos y directorios .......................................................50Cambio de permisos de archivos y directorios: chmod (simblico y numrico) ...50

    Comandos de manejo de procesos .....................................................................52Estado de procesos: ps........................................................................................52Sealizacin de procesos: kill ..............................................................................52

    Manejo temporal de procesos ..............................................................................53Ejecucin temporizada de procesos: at ...............................................................53Sistema de temporizacin de procesos: cron ......................................................54

    Captulo 7: Comandos Avanzados...........................................................................57

    Familia de editores de UNIX ................................................................................58 Expresiones regulares (regexp) ...........................................................................58 Editor vi ................................................................................................................59 Comandos de ed (aplicables en vi) ......................................................................61 Comandos filtro ....................................................................................................62

    Bsqueda de patrones en archivos: grep ............................................................62Editor dinmico o de flujo: sed .............................................................................62Filtro programable: awk .......................................................................................63Ordenamiento de archivos: sort ...........................................................................65Comparacin de archivos: cmp ...........................................................................66Diferencia entre archivos: diff ..............................................................................67Lneas comunes a dos archivos: comm...............................................................68Traduccin de caracteres: tr ................................................................................68Numeracin de lneas: nl .....................................................................................69

    Manipulacin de archivos en bloques ..................................................................70Divisin horizontal de archivos: split ....................................................................70

  • Lic. Ral N. Confalonieri

    Pgina ivContenidos

    Divisin vertical de archivos: cut ..........................................................................70Concatenacinn vertical de archivos: paste ........................................................71Operador relacional de archivos: join ..................................................................72

    Respaldo de archivos ..........................................................................................72Archivador: tar ......................................................................................................72

    Captulo 8: Programacin en Shell ..........................................................................74

    Procedimientos shell (shell scripts) ......................................................................75 Variables en shell .................................................................................................75 Reglas Generales para Direccionamiento de Variables.......................................76 Comando expr .....................................................................................................78 Evaluacin de expresiones ..................................................................................78 Operadores: .........................................................................................................78 Estructuras de control ..........................................................................................79 Ejemplo 1 .............................................................................................................80 Ejemplo 2 .............................................................................................................80 Ejemplo 3 .............................................................................................................81 Funciones ............................................................................................................82

    Captulo 9: Administracin del Sistema ...................................................................85

    Administracin por medio de utilitarios ................................................................86 Administracin por medio de comandos ..............................................................87 Administracin de usuarios ..................................................................................87

    Agregado de usuarios: useradd ...........................................................................87Modificacin de usuarios: usermod .....................................................................87Eliminacin de usuarios: userdel .........................................................................88

    Administracin de grupos ....................................................................................88Agregado de grupos: groupadd ...........................................................................88Modificacin de grupos: groupmod ......................................................................89Eliminacin de grupos: groupdel ..........................................................................89

    Otros comandos de administracin .....................................................................89Cambio de titularidad de dueos de archivos: chown .........................................89Cambio de titularidad de grupos de archivos: chgrp ............................................90Cambio del shell por defecto: chsh ......................................................................90Cambio de informacin de usuario: chfn .............................................................91

    Administracin de procesos .................................................................................91Muestra del estado de los procesos: ps ..............................................................91Sealizacin de procesos: kill ..............................................................................92

    Administracin de discos y sistemas de archivos ................................................92Montaje de sistemas de archivos: mount.............................................................92Desmontaje de sistemas de archivos: umount ....................................................93Generacin de sistemas de archivos: mkfs .........................................................93Uso de espacio en disco: du ................................................................................94

  • Lic. Ral N. Confalonieri

    Pgina vContenidos

    Espacio libre en disco: df .....................................................................................94Verificacin de estado de sistemas de archivos: fsck ..........................................95Resumen de la posesin de espacio en sistemas de archivos: quot ..................95Uso y lmites de espacio en disco: quota .............................................................96Edicin de cuotas de discospara usuarios: edquota ............................................96Reporte del uso de cuotas y espacio en disco: repquota ....................................97Auditora de consistencia de cuotas: quotacheck ................................................97

    Captulo 10: Impresin .............................................................................................98

    Modos de impresin en UNIX ..............................................................................99 Modo directo ........................................................................................................99 Modo indirecto .....................................................................................................99 Sistema BSD .....................................................................................................100

    El demonio de impresin de BSD: lpd ...............................................................100Comandos del Sistema BSD .............................................................................101Envo de trabajos al spool: lpr ............................................................................101Examen de la cola de impresin del spool: lpq..................................................101Remocin de trabajos de la cola de impresin del spool: lprm..........................102Control del spool: lpc .........................................................................................103Archivo de configuracion del spool: /etc/printcap...............................................104

    Sistema SYSV ...................................................................................................106El demonio de impresin del spool: lpsched......................................................106Envo de trabajos al spool: lp .............................................................................107Cancelacin de trabajos enviados al spool: cancel ...........................................107Permiso de encolamiento de trabajos de impresin: accept .............................108Prohibicin de encolamiento de trabajos de impresin: reject ...........................108Habilitacin de impresoras: enable ....................................................................109Inhabilitacin de impresoras: disable .................................................................109Reporte del estado del spool: lpstat...................................................................109Configuracin del spool: lpadmin ....................................................................... 110Cierre del demonio de impresin: lpshut ........................................................... 111

    Sistema AIX ....................................................................................................... 111El demonio de impresin del spool: qdaemon ................................................... 112Back-end para el spool de impresin: piobe ...................................................... 113Programa de encolamiento de propsito general: enq ...................................... 113Envo de trabajos de impresin al spool: qprt .................................................... 114Cancelacin de trabajos de impresin: qcan ..................................................... 114Comprobacin del estado de los trabajos de impresin: qchk .......................... 115Asignacin de prioridad a un trabajo de impresin: qpri .................................... 115Retencin y liberacin de trabajos de impresin: qheld .................................... 116Desplazamiento de trabajos entre colas de impresin: qmov ........................... 116Estado de las colas de impresin del spool: qstatus ......................................... 117Archivo de configuracin del spool: /etc/qconfig ................................................ 119

    Impresin con formato para todos los sistemas: pr ...........................................121

  • Lic. Ral N. Confalonieri

    Pgina viContenidos

    Captulo 11: Desarrollo de Programas ...................................................................123

    make: Actualizacin y regeneracin de grupos de archivos y programas .........124 RCS: Sistema de Control de Revisiones ...........................................................132

    Descripcin ........................................................................................................132Caractersticas de RCS .....................................................................................132Sumario de Comandos RCS .............................................................................133Comandos RCS .................................................................................................133Depsito (check-in) de archivos de trabajo: ci ...................................................133Extraccin (check-out) de archivos de trabajo: co .............................................134Cambio de atributos de archivos RCS: rcs ........................................................135Muestra de informacin sobre archivos RCS: rlog ............................................136Identificacin de archivos de trabajo: ident ........................................................137Comparacin de archivos RCS y/o de trabajo: rcsdiff .......................................138Intercalacin de archivos RCS y/o de trabajo: rcsmerge ...................................138Mini-Tutorial del funcionamiento de RCS ..........................................................139

    Captulo 12: Redes ................................................................................................142

    Envo de requerimiento de eco: ping .................................................................143 Conexin a host remoto remoto: telnet ..............................................................144 Transferencia de archivos: ftp ............................................................................145 Mensajera electrnica: mail ..............................................................................147

    Apndice A: Compilacin del kernel linux ..............................................................150

    Apndice B: Tipos de sistema de archivos en linux ...............................................152

    Bibliografa: ...........................................................................................................154

  • Lic. Ral N. Confalonieri

    Pgina 1Captulo 1: Introduccin

  • Lic. Ral N. Confalonieri

    Pgina 2Captulo 1: Introduccin

    Histria del Sistema UNIX

    Nacimiento del Sistema UNIX

    En 1965, la Bell Telephone Laboratories integr, conjuntamente con la General ElectricCompany y el Massachusetts Institute of Technology, un equipo de trabajo con el fin dedesarrollar un nuevo sistema operativo llamado MULTICS (MULTiplexed Informationand Computing Service).

    Las metas del sistema MULTICS eran:

    Permitir que un gran nmero de usuarios tuviese acceso simultneo a un sistemade computacin.

    Proveer a esos usuarios de una importante potencia computacional yalmacenamiento masivo de datos (para la poca).

    Permitir que los usuarios pudieran compartir sus datos con facilidad.

    El desarrollo de MULTICS sufri una serie de retrasos en su desarrollo, en gran partedebido a que estaba escrito en un lenguaje de alto nivel (idea revolucionaria para lapoca), el PL/I, cuyo compilador se encontraba an en etapa experimental. Cuandofinalmente estuvo lista la versin operativa del mencionado compilador, se vio que elmismo estaba lejos de cubrir las expectativas puestas en l.

    En 1969, una versin primitiva de MULTICS lleg a funcionar en una computadora GE645. Sin embargo, qued en claro que no alcanzaba las metas para las que se habadiseado, ni las alcanzara jams. Este hecho, conjuntamente con el anuncio de GEde retirarse del mercado de produccin de computadoras en un futuro muy prximo,hizo que Bell se retirase del proyecto. Esto dejo a los integrantes del mismo en libertadde buscar nuevas posibilidades en el campo de la investigacin.

    Uno de estos investigadores, Ken Thompson, decidi reescribir (esta vez en assembler),una versin reducida de MULTICS en una minicomputadora DEC PDP-7, con el pretextode desarrollar un sistema de procesamiento de textos para el departamento de patentesde Bell.

    A pesar de los modestos recursos del hardware elegido como soporte, el sistemapergeado por Thompson funcion perfectamente, lo que hizo que muchos de suscolegas en el departamento lo secundaran en su proyecto. Uno de ellos, Brian Kernighan,lo bautiz con el sarcstico nombre de UNICS (UNiplexed Information and ComputingService). De alguna manera inexplicable, se cambi el nombre por el de UNIX, que escomo se lo conoce desde entonces. La ancdota segn la cual el nombre se deriva deltrmino EUNUCHS (pronunciado iunux y traducido como eunuco, debido a que setrata de una versin castrada de MULTICS), es apcrifa.

  • Lic. Ral N. Confalonieri

    Pgina 3Captulo 1: Introduccin

    La Versin 1 qued concluida en ese mismo ao de 1969.

    Evolucin del Sistema UNIX

    El xito de UNIX hizo que se incrementara el esfuerzo en su desarrollo. En 1971,Thompson y Ritchie lo trasladaron a un equipo DEC PDP-11, dando origen a la Versin2.

    Posteriormente, Thompson decidi reescribirlo nuevamente en un lenguaje de altonivel. Eligi uno de su creacin, el B (una forma simplificada del BCPL, sucesor a suvez del CPL, el cual, como el PL/I, nunca funcion adecuadamente). El intento no fuedel todo satisfactorio, ya que el B presentaba una serie de defectos, tales como lacarencia de estructuras. Por lo tanto, Dennis Ritchie desarroll un sucesor del B, llamadoC, y escribi un excelente compilador para l.

    En 1973, Thompson y Ritchie reescribieron el UNIX en C, dando orgen a la Versin 3.

    Luego de diversos agregados y modificaciones, se llega en 1974 a la Versin 6, queestaba escrita en un 95% en lenguaje C, y slo el 5% restante en assembler para lainterfaz con el hardware.

    Difusin del Sistema UNIX

    Thomson y Ritchie publicaron en 1974 un trabajo describiendo el sistema operativoUNIX (por el cual recibieron el prestigioso ACM Turing Award). Esta publicacin estimula muchas universidades a solicitar a Bell una copia de UNIX. En aquellos tiempos,AT&T, duea de Bell, era un monopolio regulado y tena prohibido ingresar en el negociode la computacin. Por lo tanto, Bell no puso objecin para otorgar licencias de UNIXa las universidades, a un precio muy modesto.

    La combinacin PDP-11 + UNIX fue durante aos el sistema preferido por losdepartamentos de informtica de la mayora de las universidades. En parte porque lasPDP-11 (en sus modelos 20, 44 y 70) dominaron el mercado de las minicomputadorasdurante la dcada del 70 (fue la primera familia de minicomputadoras de costo accesibley con una excelente documentacin de su hardware). En parte porque el UNIX seentregaba con el cdigo fuente completo, el cual permita que profesores, estudiantese investigadores lo utilizaran para experimentar.

    El estndar de facto fue la Versin 6, as llamada porque fue descrita en la sextaedicin del UNIX Programmers Manual. A los pocos aos, fue reemplazado por laVersin 7. Una generacin completa de estudiantes aprendi con estos sistemas, loque contribuy a su difusin al graduarse estos e ingresar en la industria.

    Steve Johnson, de Bell, dise e implement un compilador portable de C, el cual

  • Lic. Ral N. Confalonieri

    Pgina 4Captulo 1: Introduccin

    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, elcual ayud enormemente a la difusin del sistema UNIX.

    Para mediados de la dcada de los 80, UNIX tena una amplia difusin en el mercadode 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 compaase encontr en libertad de establecer una subsidiaria en el mercado informtico, lo quehizo inmediatamente. Al poco tiempo lanz su primer producto comercial UNIX, elSystem III. Este sistema no tuvo un feliz recibimiento, y fue reemplazado un ao mastarde 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 estaltima 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 Californiaen Berkeley. Debido a que el cdigo fuente se encontraba disponible, Berkeley lomodific substancialmente, produciendo una versin mejorada para la PDP-11 llamado1BSD (First Berkeley Software Distribution), al cual sigui rpidamente la 2BSD, tambinpara la misma mquina. Las versiones 3BSD y 4BSD se implementaron en la VAX deDEC, la sucesora de la PDP-11. Entre las mejoras proporcionadas por estas versiones,figuraban memoria virtual, paginacin, agilizacin del sistema de archivos y utilizacinde nombres de archivos mayores de 14 caracteres.

    Asimismo, debido a los trabajos de Berkeley en conjunto con la DARPA (DefenseAdvanced 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 defacto para la comunicacin entre computadoras.

    El modelo de interfaz con TCP/IP, el socket, es actualmente el modelo utilizado paraimplementar 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 suversin de UNIX en la implementacin de Berkeley en lugar del UNIX oficial (VersinV).

  • Lic. Ral N. Confalonieri

    Pgina 5Captulo 1: Introduccin

    Intentos de Estandarizacin de UNIX

    Para fines de los 80, existan dos versiones diferentes y altamente incompatibles deUNIX: 4.3BSD y System V Release 3. Adicionalmente, cada fabricante agregaba suspropias mejoras fuera del estndar.

    Esta divisin en el mundo de UNIX fue el motivo que impidi el suceso comercial deUNIX, ya que era imposible para los diseadores de software producir programas conla seguridad de que pudieran ejecutarse en cualquier sistema UNIX (que fue lo quehizo al MS-DOS tan exitoso).

    El primer intento serio de reencauzar las dos grandes vertientes de UNIX se inici bajolos auspicios del IEEE, una organizacin de enorme prestigio y, adems, neutral. Cientosde individuos provenientes de los mbitos acadmico, industrial y gubernamentaltomaron parte en el proyecto, el que se denomin POSIX (Portable Operating System unIX).

    Desafortunadamente, sucedi una cosa curiosa con posterioridad al acuerdo deestandarizacin. Una vez que la lucha entre BSD vs. System V se haba solucionado,comenz una nueva. Un grupo de fabricantes liderados por IBM, DEC, Hewlett-Packardy muchos otros, opinaba que no era conveniente que AT&T tuviera control sobre elresto de UNIX, por lo que formaron un consorcio llamado OSF (Open SoftwareFoundation), para producir un sistema que cumpliera con los estndares de IEEE,pero tambin con un importante nmero de caractersticas adicionales como un sistemade ventanas (X11), un interfaz grfico de usuario (MOTIF), computacin distribuida(DCE - Distributed Computing Environment), administracin distribuida (DME -Distributed Management Environment) y muchas ms.

    La reaccin de AT&T fue crear su propio consorcio UI (Unix International), exactamentecon los mismos fines. La versin de UNIX de UI es el System V.

    El resultado final es que ahora hay dos poderosos grupos industriales cada uno de loscuales ofrece su propia versin de UNIX. Adicionalmente, cada compaia tiene supropia variante (IBM AIX, Hewlett Packard HP-UX, Sun Solaris, SCO UnixWare, SGIIRIX, DEC Ultrix, etc.). Ms an, todos estos sistemas continan evolucionando endirecciones distintas. de modo tal que los usuarios no se encuentran ms cerca de unestndar que al comienzo.

    Metas de UNIX

    Portabilidad a distintas plataformas de hardware. Sistema de archivos independiente de los dispositivos Combinacin de programas simples para ejecutar tareas complejas. Posibilidad de que mltiples usuarios ejecuten mltiples taras.

  • Lic. Ral N. Confalonieri

    Pgina 6Captulo 1: Introduccin

    Caractersticas de UNIX

    Es un sistema multiusuario y multitarea. Soporta mltiples usuarios y cada usuariopuede ejecutar varios procesos simultneamente.

    Est escrito en un lenguaje de alto nivel, lo que lo hace fcil de leer, entender,modificar e implementar en distintos equipos.

    Esconde la arquitectura de mquina de los ojos del usuario, facilitando la tarea deconstruir programas que puedan ejecutarse en distintas implementaciones dehardware.

    Su interfaz de usuario es sencillo, pero lo suficientemente potente para dar a losusuarios los servicios que necesitan.

    Provee primitivas que permiten la construccin de programas complejos y potentesa partir de otros mas sencillos.

    Emplea un sistema jerrquico de archivos que permite su implementacin eficientey sencillo mantenimiento.

    Utiliza un formato consistente para los archivos, el byte stream (sarta de bytes),que facilita la construccin de programas de aplicacin.

    Provee un interfaz consistente y sencillo para los dispositivos perifricos.

  • Lic. Ral N. Confalonieri

    Pgina 7Captulo 2: Conceptos Bsicos

  • Lic. Ral N. Confalonieri

    Pgina 8Captulo 2: Conceptos Bsicos

    Conceptos Fundamentales

    Usuario:

    Un usuario es toda aquella entidad que est habilitada para utilizar recursos del siste-ma. Puede ser una persona o un programa. Para ello, debe poseer una UID (UserIDentification) y un GID (Group IDentification). Los usuarios humanos deben poseeradems 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 aquelque posee todos los privilegios de acceso al sistema. Puede acceder a todos los archi-vos, agregar y quitar usuarios, instalar nuevos programas, reconfigurar el sistema, etc.Tamben puede otorgar derechos a otros usuarios para que ejecuten taras adminis-trativas (redes, impresin, bases de datos, etc.) pero siempre conserva los mximosprivilegios 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 El usuario root o superusuario.daemon Usuario para los daemons.adm Usuario administrador del sistema.guest Usuario invitado.

    Archivo:

    Los archivos se utilizan para toda la entrada y salida (E/S) de informacin en el sistemaoperativo. Esto estandariza el acceso tanto al software como al hardware. La entradase produce cuando se modifica o se graba en el contenido de un archivo. La salida seproduce cuando se lee el contenido de un archivo o se transfiere a otro archivo. Porejemplo, para crear una copia impresa de un archivo, el sistema lee la informacin delarchivo 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 determinanquin puede leer, modificar o ejecutar el archivo.

    Tipos de archivos:

    normal Almacena datos (texto, binario y ejecutable).directorio Contiene informacin utilizada para acceder a otros archivos.especial Define un dispositivo fsico (de carcter o de bloque).

  • Lic. Ral N. Confalonieri

    Pgina 9Captulo 2: Conceptos Bsicos

    Todos los tipos de archivos reconocidos por el sistema se enmarcan en una de estascategoras. No obstante, el sistema operativo utiliza muchas variaciones de estos tiposbsicos.

    Archivos normales:

    Los archivos normales son los archivos ms usuales. Otro nombre para los archivosnormales es archivos ordinarios. Los archivos normales contienen datos.

    Archivos de texto:

    Los archivos de texto son archivos normales que contienen informacin que el usuariopuede leer. Esta informacin se almacena en ASCII. Puede visualizar e imprimir dichosarchivos.

    Archivos binarios:

    Los archivos binarios son archivos normales que contienen informacin que el sistemapuede leer. Las libreras del sistema son archivos binarios.

    Archivos ejecutables:

    Los archivos binarios pueden ser archivos ejecutables que indican al sistema que efecteun trabajo. Los mandatos y los programas se almacenan en archivos binariosejecutables.

    Archivos de directorio:

    Los archivos de directorio contienen informacin que el sistema necesita para accedera todos los tipos de archivo, pero no contienen los datos reales de los archivos. Enconsecuencia, los directorios ocupan menos espacio que un archivo normal yproporcionan a la estructura de sistema de archivos flexibilidad y profundidad. Cadaentrada de directorio representa un archivo o un subdirectorio. Cada entrada contieneel 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 laubicacin de los datos asociados con el archivo.

    Archivos especiales:

    Los archivos especiales definen dispositivos para el sistema o archivos temporalescreados por procesos. Existen tres tipos bsicos de archivos especiales: FIFO (primeroen entrar, primero en salir), de bloque y de caracteres. Los archivos FIFO tambinreciben en el nombre de pipes (tuberas o conductos). Los conductos se crean medianteun proceso para permitir temporalmente las comunicaciones con otro proceso. Estos

  • Lic. Ral N. Confalonieri

    Pgina 10Captulo 2: Conceptos Bsicos

    archivos dejan de existir cuando termina el primer proceso. Los archivos de bloque ylos archivos de caracteres definen dispositivos o drivers.

    Proceso:

    Un proceso es un programa en ejecucin, o dicho en trminos ms tcnicos, es unainstancia activa de un programa.

    Un proceso ocupa un espacio en la memoria principal del sistema. Este espacio dememoria est compuesto por un bloque de bytes que el procesador interpreta comoinstruccines de mquina (llamado programa o texto), datos de usuario y la pila ostack. Este espacio de memoria es denominado contexto de un proceso.

    UNIX identifica los procesos por medio de un nmero llamado PID (ProcessIDentification).

    Los procesos se comunican con el S.O, por medio de las llamadas de sistema (systemcalls).

    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 procesollamante se denomina proceso padre (parent process), y el llamado, proceso hijo (childprocess). 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 procesohijo, y luego ejecuta la llamada execl que carga el programa llamado en el rea dememoria del proceso hijo y lo ejecuta.

    Nivel usuario y nivel kernel:

    Un proceso se ejecuta normalmente en modo usuario. Esto significa que se encuentradentro de su propio contexto, esto es, que tiene acceso a sus propias instrucciones ydatos (pero no a los del kernel o de otros procesos). Cuando ejecuta una llamada desistema, 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 otraparte, algunas instrucciones de mquina (como manipular el registro de estado delprocesador) 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 elusuario. Generalmente, los daemons se ejecutan al inicializar el sistema y permane-cen siempre activos (slo el usuario root puede detenerlos). Habitualmente realizantaras de planificacin, mantenimiento y como servidores de comunicaciones.

  • Lic. Ral N. Confalonieri

    Pgina 11Captulo 2: Conceptos Bsicos

    Algunos daemons del sistema:

    crond Planificador de trabajos en modo diferido (batch).lpd Planificador de trabajos de impresin.telnetd Servidores de comunicaciones telnet.ftpd Servidores de comunicaciones ftp.httpd Servidores de comunicaciones http (Web).

    Driver:

    Generalmente, los dispositivos fsicos (discos rgidos, tarjetas de red, scanners, etc.)que pueden conectarse a una computadora requieren de una programacin muy com-pleja, y que requiere de grn conocimiento del hardware de los mismos. Esto sin olvi-dar que la programacin de dispositivos requiere de mucha habilidad en en manejo delenguajes como C o assembler.

    Para esconder esta complejidad a ojos del usuario, UNIX posee una interfaz muysencilla para el manejo de dispositivos: los drivers. Un driver es un archivo que actacomo interfaz entre un programa y un dispositivo fsico. Para escribir en una terminalde caracteres, o grabar algo en un disco, simplemente se escriben los datos deseadosen el archivo correspondiente al dispositivo.

    Como se mencion en el apartado anterior, los archivos que definen drivers puedenser de bloques o de caracter. Los drivers de bloques estn orientados a dispositivosque manejan los datos en bloques (discos y cintas). En cambio, los drivers de caracte-res sirven para comandar dispositivos que reciben o envan datos en sartas de carac-teres de longitud variable (terminales, teclados, mdems).

    Stream:

    Un stream es un mecanismo empleado por UNIX para transferir datos entre un progra-ma de usuario y un driver de un dispositivo fsico. Al momento de establecerse lacomunicacin entre ambos, se crea en memoria una estructura lgica que facilita elpasaje de datos entre programa y dispositivo. Si el dispositivo es de bloques, el streamlo dotar de un buffer (memoria intermedia) adecuado al tamao de los bloques aenviar. Si es de caracteres, el buffer, en caso de existir, es de pequeo tamao (gene-ralmente una sola lnea de caracteres, o line buffer).

    El mecanismo consta de un inicio y un final de stream, conectados ambos por doscolas (queues) de datos: una de entrada y una de salida. El programa de usuarioescribe y lee los dados del inicio del stream y el dispositivo los recibe y enva desde elfinal del stream.

  • Lic. Ral N. Confalonieri

    Pgina 12Captulo 3: Estructura de Unix

  • Lic. Ral N. Confalonieri

    Pgina 13Captulo 3: Estructura de Unix

    Componentes del Sistema UNIX

    Arquitectura General de un Sistema Operativo:

    Un Sistema Operativo es el interfaz empleado por usuarios y aplicaciones para controlarlos recursos del sistema tales como el procesador (CPU), memoria, discos, impresoras,etc.

    Fig. 2: Arquitectura general de un S.O.

    Estructura en Capas:

    Conceptualmente, el sistema UNIX puede ser visto como una esructura estratificada,donde cada capa tiene una funcin especfica.

    Fig. 2: Estructura en capas de UNIX

    USUARIOS Y PROGRAMAS

    SISTEMA OPERATIVO

    H A R D W A R E

    USUARIOS

    UTILERIA STANDARD(SHELL - EDITORES -

    COMPILADORES, ETC.)

    B IBLIOTECA STANDARD(fork, open, read, write, close, etc.)

    KERNEL(ADM. DE PROCESOS, ADM. DE MEMORIA, SIST. DE ARCHIVOS, ETC.)

    H A R D W A R E(CPU - MEMORIA - DISCOS -TERMINALES - ETC.)

    Interfaz de Usuario

    Interfaz de Biblioteca

    Interfaz deLlamadas deSistema

    M O D OUSUARIO

    M O D OKERNE

    L

  • Lic. Ral N. Confalonieri

    Pgina 14Captulo 3: Estructura de Unix

    Arquitectura Funcional del Sistema UNIX:

    Fig. 3: Arquitectura de UNIX

    PROGRAMA DE USUARIO

    BIBLIOTECA STANDARD

    SEGURIDAD

    SUBSISTEMADE

    ARCHIVOS

    COMUNICACIONENTRE

    P R O C E S O S

    PLANIFICADOR

    ADMINISTRACIONDE

    MEMORIA

    SERVICIOSDE RED

    (SOCKETS)

    PROTOCOLOSTCP/IP

    MANEJADORESDE

    DISPOSITIVOS

    INTERFAZ DE LLAMADAS DE SISTEMA

    CONTROL DE HARDWARE

    H A R D W A R E

    U S U A R I O

    K E R N E L

    K E R N E L

    H A R D W A R E

    BUFFERCACHE

    CARACTER BLOQUE

    MANEJADORESDE

    DISPOSITIVOS

    A R C H I V O S P R O C E S O S R E D

  • Lic. Ral N. Confalonieri

    Pgina 15Captulo 3: Estructura de Unix

    Procesos:

    Estados Posibles de un Proceso:

    1. El proceso se ejecuta en Modo Usuario2. El proceso se ejecuta en Modo Kernel3. 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 prin-cipal.

    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 elmodo inicial de todos los procesos).

    9. El proceso ejecut la llamada de sistema exit y est en estado zombie. Este es elestado final de un proceso. No existe ms, pero deja un registro conteniendo uncdigo de salida y estadsticas de tiempo para el proceso padre.

    Diagrama de Estados de un Proceso:

    1M O D O

    USUARIO

    7P R E E M P T E D

    3LISTO PARA

    CORRER;EN MEMORIA

    2M O D O

    K E R N E L

    8C R E A D O

    9ZOMBIE

    4DORMIDO;

    E NMEMORIA

    6DORMIDO;

    E NDISCO

    5LISTO PARA

    CORRER;S W A P P E D

    fork()R E T O R N OA USUARIO

    R E T O R N OA USUARIO

    LLAMADA DE SISTEMA;

    INTERRUPCION

    INTERRUPCION;R E T O R N O

    EXIT

    P R O C E S O D EPLANIFICACION;

    R E S C H E D U L E

    SLEEP

    W A K E U P

    S W A PO U T

    W A K E U P

    S W A P O U T

    SWAP IN

    MEMORIASUFICIENTE

    MEMORIAINSUFICIENTE;

    S W A P P E D

    Fig. 4: Diagrama de estados de un proceso.

  • Lic. Ral N. Confalonieri

    Pgina 16Captulo 3: Estructura de Unix

    TAMAO DEL SISTEMA DE ARCHIVOS

    NMERO DE BLOQUE L IBRES

    LISTA DE BLOQUES LIBRES

    INDICE DEL PROXIMO BLOQUE LIBRE

    TAMA DE LA LISTA DE INODOS

    NUMERO DE INODOS L IBRES

    LISTA DE INODOS LIBRES

    INDICE DEL PROXIMO INODO LIBRE

    CAMPO DE BLOQUEO PARA LA L ISTA DE BLOQUES E INODOS LIBRES

    BANDERA DE MODIFICACION DEL SUPER BLOCK

    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 puedecontener el cdigo de booteo que lee la mquina para la inicializacin del sistemaoperativo.

    Un super block que describe el estado del sistema de archivos

    Fig. 5: Estructura del super block.

    Una inode list (lista de inodos), ubicada al final del super block, que contiene unalista 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 necesariapara que un proceso pueda acceder a un archivo (ver Fig. 6). En la Fig. 7 se da unejemplo de un inodo hipottico.

  • Lic. Ral N. Confalonieri

    Pgina 17Captulo 3: Estructura de Unix

    Fig. 6: Estructura de un sistema de archivos.

    BOO

    T BL

    OCK

    SUPE

    R BL

    OCK

    LIST

    A DE

    INOD

    OSNU

    MER

    O D

    E IN

    ODO

    DUE

    OG

    RUPO

    TIPO

    DE

    ARCH

    IVO

    MO

    DO D

    E AC

    CESO

    ULTI

    MO

    CAM

    BIO

    (ARC

    HIVO

    )UL

    TIM

    O A

    CCES

    O(A

    RCHI

    VO)

    ULTI

    MO

    CAM

    BIO

    (INOD

    O)EN

    LACE

    S

    TAM

    AO

    DE

    ARCH

    IVO

    BLO

    QUES

    DE

    DATO

    SDI

    RECT

    O 0

    DIRE

    CTO

    1

    DIRE

    CTO

    2

    DIRE

    CTO

    3

    DIRE

    CTO

    4

    DIRE

    CTO

    5

    DIRE

    CTO

    6

    DIRE

    CTO

    7

    DIRE

    CTO

    8

    DIRE

    CTO

    9

    INDI

    RECT

    O 1

    BLO

    QUE

    DATO

    S

    BLO

    QUE

    DATO

    S

    BLO

    QUE

    DATO

    S

    BLO

    QUE

    DATO

    S

    BLO

    QUE

    DATO

    S

    BLO

    QUE

    DATO

    S

    BLO

    QUE

    DATO

    S

    BLO

    QUE

    DATO

    S

    BLO

    QUE

    DATO

    S

    BLO

    QUE

    DATO

    S

    INDI

    RECT

    O 2

    INDI

    RECT

    O 3

    BLO

    QUE

    DATO

    SBL

    OQU

    E DA

    TOS

    BLO

    QUE

    DATO

    SBL

    OQU

    E DA

    TOS

    BLO

    QUE

    DATO

    SBL

    OQU

    E DA

    TOS

    INO

    DO

  • Lic. Ral N. Confalonieri

    Pgina 18Captulo 3: Estructura de Unix

    NUMERO DE INODO

    DUEOG R U P O

    TIPO DE ARCHIVO

    MODO DE ACCESO

    ULTIMO CAMBIO (ARCHIVO)ULTIMO ACCESO (ARCHIVO)

    ULTIMO CAMBIO ( INODO)ENLACES

    TAMAO DE ARCHIVOBLOQUES DE DATOS

    1798

    jperezadmin

    regular

    rwxr-xr-x

    Apr 27 2000 1:50 P.M.

    Apr 27 2000 1:50 P.M.

    Apr 27 2000 1:50 P.M.

    1

    6030 bytes

    - - - - - - - -

    Fig. 7: Ejemplo de un inodo (hipottico).

    Estructura Lgica:

    La estructura lgica de los sistemas de archivos en UNIX, es del tipo jerarquico o derbol invertido (la raz va al tope). La informacin se almacena en divisiones llamadasdirectorios (archivos que contienen informacin de otros archivos). El directorio princi-pal se denomina / y de el penden todos los dems. Un directorio puede contenerarchivos y otros directorios (llamados a veces subdirectorios). Una estructura tpica deUNIX es la siguiente:

    Fig. 8: Ejemplo de un sistema de archivos.

    \

    bin dev etc home lib root sbin usr

    cat

    dateechofindmore

    cp

    ...

    stdin

    stderrtty0fd0hda

    stdout

    ...

    fstab

    hostsmotdpasswdprofile

    group

    ...

    jperez

    jperez

    cap2cap1

    deriv.c

    calc1.c

    fdisk

    mkfsmountshutdownumount

    fsck

    ...

    libc.so

    libcurse.solibdb.solibutil.solibvga.so

    libcrypt.so

    ...

    ...

    ...

    bin

    doc

    include

    man

    share

    ...

    ...

  • Lic. Ral N. Confalonieri

    Pgina 19Captulo 3: Estructura de Unix

    Formato interno de un directorio:

    Fig. 9: Formato interno de un directorio.

    Redes:

    Conceptos bsicos:

    Topologa: Disposicin geomtrica de los componentes de una red.

    Protocolo: Conjunto de normas que rigen la comunicacin de datos entre loscomponentes de una red, teniendo en cuenta la jerarqua de los mismos.

    TCP/IP:

    TCP/IP (Transmision Control Protocol / Internet Protocol), es el conjunto de protocolosde comunicaciones standard de UNIX. Define los mtodos de direccionamiento entresistemas (hosts) a travs de distintos tipos de redes (LAN, WAN, etc.) y las formas enque se enruta la informacin a travs de las mismas. Bsicamente se trata de unmodelo estratificado similar al modelo OSI.

    Fig. 10: Pila de protocolos TCP/IP.

    OFFSET DEBYTE EN

    DIRECTORIO

    NUMERO DEINODO

    (2 BYTES)

    N O M B R E SDE

    ARCHIVOS

    0163248648096

    112128144160176192208224240256

    832

    17981276

    8512681799

    88211417171851

    9284

    14320

    95188

    .

    ..

    initfsckclrimotdmountmknodpasswdumountchecklistfsdb1bconfiggettycrashmkfsinittab

    APLICACIONTRANSPORTE (TCP/UDP)

    RED (IP)ENLACE DE DATOS

    F SICA

  • Lic. Ral N. Confalonieri

    Pgina 20Captulo 3: Estructura de Unix

    Capa Fsica: Se encarga de la transmisin de bits a travs del medio fsico.Capa de Enlace: Ejecuta el entramdo y desentramado de los paquetes

    procedentes de la capa superior y controla errores detransmisin.

    Capa de Red: Ejecuta el enrutamiento de la informacin a travs de la red.Capa de Transporte: Controla la transmisin entre usuarios finales (hosts). Puede

    ser con control de arribo (TCP) o sn control de arribo (UDP).Capa de Aplicacin: Brinda servicios a las aplicaciones que los soliciten, utilizando

    los servicios de las capas inferiores.

    Aplicaciones TCP/IP:

    Las aplicaciones de TCP/IP dan soporte a los ms variados servicios, desde una simpleconexin remota hasta la videoconferencia.

    Fig. 11: Aplicaciones TCP/IP.

    DNS: Domain Name Service (Servicio de Servidor de Dominios). Es un servicio quetraduce direcciones de red a nombres de dominio legibles por seres humanos (p.ej. de192.164.69.36 a http://www.raul.com).

    SMTP: Simple Mail Transfer Protocol (Protocolo Simple de Transferencia de Correo).Es un protocolo que define el enrutamiento de la correspondencia electrnica entre loshosts de una red.

    Telnet: Es un protocolo simple de comunicaciones remotas con un host.

    FTP: File Transfer Protocol (Protocolo de Transferencia de Archivos). Es un serviciode transferencia de archivos entre hosts. Si la conexin al host es remota, se apoya enel protocolo Telnet. Si no, emplea TCP/IP en forma directa.

    NFS: Network File Service (Servicio de Archivos de Red). Es un servicio por medio delcual se puede ver el sistema de archivos de un host remoto.

    NFS

    RPCDNS SMTP

    FTP

    TCP UDP

    IP

    CAPA DE ENLACE DE DATOS (OSI)CAPA F SICA (OSI)

    TELNET

    XDR

  • Lic. Ral N. Confalonieri

    Pgina 21Captulo 3: Estructura de Unix

    XDR: External Data Representation (Representacin Externa de Datos). Si el hostremoto utiliza distinta representacin de la informacin que el host local, NFS hace usode este protocolo para que la informacin sea legible por el mismo.

    RPC: Remote Procedure Call (Llamada a Procedimiento Remoto). Es un servicio pormedio del cual se puede ejecutar un proceso en un host remoto.

    Sockets:

    Los sockets son un interfaz entre las aplicaciones y los protocolos TCP/IP. Un socketse crea cuando una aplicacin cliente efecta un requerimiento de servicio a unaaplicacin servidora, empleando los servicios TCP/IP.

    Fig. 12: Interfaz de sockets.

    Direcciones IP:

    Una direccin IP consta de 4 bytes (32 bits), dispuestas de la siguiente forma:

    Fig. 13: Direcciones IP.

    Para hacer ms legible la direccin, por convencin se escribe cada byte en su formadecimal, separado del siguiente por puntos. As, la direccin de la figura 13 ser

    PROCESO CLIENTE

    INTERFAZSOCKETS

    TCP/UDP

    IP

    CAPA DE ENLACEDE DATOS (OSI)

    CAPA F SICA(OSI)

    PROCESO SERVIDOR

    INTERFAZSOCKETS

    TCP/UDP

    IP

    CAPA DE ENLACEDE DATOS (OSI)

    CAPA F SICA(OSI)

    MEDIO FISICO DE TRANSMISION DE DATOS

    Respuestadel servidor

    Peticin deservicio del

    cliente

    CAPA DEAPLICACION

    H O S T A H O S T B

    direccin de 32 bits = 4 bytes

    01110011 10100101 10010111 01110111

  • Lic. Ral N. Confalonieri

    Pgina 22Captulo 3: Estructura de Unix

    115.165.151.119

    Una direccin IP consta de dos partes: direccin de red y direccin de host:

    Fig. 14: Direcciones de red y de host.

    Las direcciones IP se clasifican en 3 grupos, de acuerdo a los bytes de direccionempleados por las secciones red y host:

    Fig. 14: Clases de direcciones IP.

    Las redes clase A llevan un prefijo 0 en su primer bit y tienen su primer byte con unvalor 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 bytecon un valor entre 128 y 191.

    Las redes clase C llevan un prefijo 110 en su primeros tres bits y tienen su primer bytecon un valor entre 192 y 223.

    Gracias al primer nmero de una red, se puede determinar fcilmente su tipo:

    DIRECCION DE RED DIRECCION DE HOST

    direccionamiento en 2 partes

    0

    Direccion dered = 8 bits Direccin de host = 24 bits

    10

    Direccion de red = 16 bits Direccin de host = 16 bits

    110

    Direccion de red = 24 bits Direccin dehost = 8 bits

    Clase A126 redes

    16.777.214 hosts

    Clase B16.384 redes65534 hosts

    Clase C2.097.152 redes

    253 hosts

    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

  • Lic. Ral N. Confalonieri

    Pgina 23Captulo 3: Estructura de Unix

    Direcciones especiales:

    Existen direcciones IP que tienen un significado especial:

    Fig. 15: Direcciones IP especiales.

    La direccin denominada loopback sirve para establecer una comunicacin circularcon el host que origin la comunicacin. De esta manera, los procesos que debancomunicarse a traves de TCP/IP dentro del mismo host utilizan esta direccin paraevitar enviar paquetes a la red.

    La direccin esta red indica que estamos indica la red en la cual se encuentra el hostque solicita comunicacin.

    La direccin todos los hosts indica que se desea difundir un mensaje (broadcast) atodos los hosts de la red direccionada.

    La mascara de red posee todos los bits de la direccin de red en 1 y los bits de ladireccin de host en 0 (para cualquier tipo de direccin: A, B o C). Por su intermedio sepuede calcular la direccin de la red a partir de la direccin del host (haciendo unaoperacin AND bit a bit a lo largo de los 32 bits de la direccin completa). Por ejemplo,si un host tiene la direccin 206.197.168.200 y su mscara de red es 255.255.255.0,entonces su direccin de red es 206.197.168.0 (verificar en formato binario).

    Secuencia de arranque de UNIX:

    Desde el momento en que se enciende el equipo hasta que el usuario puede accedera los servicios de UNIX, el sistema ejecuta una secuencia de procedimientos que sepueden esquematizar de la siguiente manera:

    127.0.0.1

    0000000000000000 DIRECCION DE HOST

    DIRECCION DE RED 1111111111111111

    1111111111111111 0000000000000000

    Loopback

    "Esta red"

    "Todos loshosts"

    Mascara de red

  • Lic. Ral N. Confalonieri

    Pgina 24Captulo 3: Estructura de Unix

    Fig. 16: Secuencia de arranque de UNIX.

    init

    getty

    boot

    login

    esperaconexion

    login namepassword

    verificacinde acceso

    sesion detrabajo

    sh:exit

    login:exit

    Archivos deConfiguracin

    Archivos deConfiguracin

    ksh Archivos deConfiguracin

  • Lic. Ral N. Confalonieri

    Pgina 25Captulo 4:Conceptos Bsicos de Shell

  • Lic. Ral N. Confalonieri

    Pgina 26Captulo 4:Conceptos Bsicos de Shell

    Definicin de Shell:

    El shell gestiona la interaccin del usuario con los recursos del sistema, tales comoprogramas, archivos y dispositivos.

    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 alusuario de los resultados obtenidos. Por este motivo se dice que el shell es un intrpretede comandos.

    Asimismo, el usuario puede agrupar comandos en archivos llamados scripts (guiones),para su ejecucin automatizada. Debido a que el shell dispone de estructuras lgicasde alto nivel (variables, bifurcaciones, lazos, etc.) se dice que el shell es un lenguagede programacin.

    Distintos Tipos de Shell:

    Bourne Shell (sh bsh)

    Es el shell original de UNIX. Se lo denomina as por su creador, Steve Bourne. Suscaractersticas son las descritas anteriormente.

    C-Shell (csh)

    Desarrollado con posterioridad en Berkeley, el c-shell lleva su nombre debido a queutiliza 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 mejorescaractersticas de los anteriormente descritos, adems de agregar algunas nuevastales como evaluacin aritmtica, histrico de comandos y edicin de la lnea decomandos. Es el shell por defecto en los sistemas UNIX que adhieren al standardPOSIX.

    USUARIO

    SHELL

    RECURSOS DEL SISTEMA

  • Lic. Ral N. Confalonieri

    Pgina 27Captulo 4:Conceptos Bsicos de Shell

    Archivos Standard:

    Para dar una mayor flexibilidad al sistema, los comandos de UNIX tienen definido pordefecto las entradas y salidas de los mismos. Estas son llamadas entradas y salidasstandard o archivos standard.

    Figura 2: Entrada y Salida Standard

    Por regla general, la entrada standard es el teclado de la consola del usuario y la saliday el error standard son la pantalla de la consola del usuario.

    En caso necesario, estas entradas y salidas pueden modificarse, proceso que se conocecomo 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 loscaracteres para salida o error.

    La lnea de comando:

    $comando1 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.

    ENTRADASTANDARD P R O C E S O

    SALIDASTANDARD

    ERRORSTANDARD

  • Lic. Ral N. Confalonieri

    Pgina 28Captulo 4:Conceptos Bsicos de Shell

    Redireccionamiento no destructivo (appending):

    Si se desea redireccionar la salida de un comando y agregarla al contenido de unarchivo ya existente, se debe utilizar el caracter >>.

    La lnea de comando:

    $comando1 >> archivo1

    redireccionar la salida de comando1 y la colocar al final del contenido de archivo1.

    Comodines (wildcards):

    El carcter * significa literalmente cualquier cadena conteniendo 0 o ms caracterescualesquiera.

    La lnea de comando:

    $comando1 capitulo*

    significa que el comando1 ser aplicado a todos aquellos archivos cuyos nombrescomiencen con la palabra capitulo, tales como:

    capitulo1, capitulo2, capitulo_medio, capitulo_final

    El carcter ?significa un caracter (y slo uno ) cualquiera.

    La lnea de comando:

    $comando1 capitulo?

    significa que el comando1 ser aplicado a todos aquellos archivos cuyos nombrescomiencen con la palabra capitulo, y que a continuacin posean un carcter cualquiera,tales como:

    capitulo1, capitulo2, capituloA

    Conjuntos y Rangos:

    Para denotar un conjunto de caracteres se emplean los corchetes []. Loscomponentes del conjunto se escriben uno a continuacin del otro dentro de loscorchetes.

  • Lic. Ral N. Confalonieri

    Pgina 29Captulo 4:Conceptos Bsicos de Shell

    La lnea de comando:

    $comando1 capitulo[1234]

    ejecutar el comando1 para los archivos cuyo nombre comience con la palabra captuloy 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 mismoseparados por un guin -

    La lnea de comando:

    $comando1 capitulo[1-9]

    ejecutar el comando1 para los archivos para los archivos cuyo nombre comience conla palabra captulo y finalice con un nmeros del 1 al 9:

    capitulo1 capitulo2 capitulo3 capitulo4 capitulo5 capitulo6capitulo7 capitulo8 capitulo9

    Separadores de comandos:

    Se pueden ingresar varios comandos en la misma lnea. Para ello, deben estarseparados 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 back-ground, 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 comandocon la entrada de otro, mediante las llamadas tuberas o pipes. Para hacer un pipe

  • Lic. Ral N. Confalonieri

    Pgina 30Captulo 4:Conceptos Bsicos de Shell

    entre dos comandos, se utiliza el carcter |.La lnea de comando:

    $comando1 | comando2har que la salida del comando 1 sea pasada a la entrada del comando 2, quienmostrar su salida en la salida standard.

    Ejecucin condicional de comandos:

    Operador &&

    En la lnea de comando:

    $comando1 && comando2

    el comando2 ser ejecutado si y solo si la ejecucin del comando1 es exitosa.

    Operador ||En la lnea de comando:

    $comando1 || comando2el comando2 ser ejecutado si y solo si la ejecucin del comando1 es fallida.

  • Lic. Ral N. Confalonieri

    Pgina 31Captulo 5: Primera Sesin

  • Lic. Ral N. Confalonieri

    Pgina 32Captulo 5: Primera Sesin

    Primera Sesin

    Ingreso al Sistema:

    Para poder ingresar al sistema, el usuario debe poseer una cuenta en el mismo. Si nola posee, debe solicitar al Administrador del Sistema que le asigne una.

    Una cuenta est compuesta por dos componentes:

    Un nombre de usuario (login name o UID - User IDentification) Una clave de acceso (password).

    Al encender la terminal (real o virtual), el sistema le solicita que ingrese el nombre deusuario:

    login: jperez

    Seguidamente, el sistema solicita el ingreso de la clave de acceso. Por motivos deseguridad, esta clave no se exhibe en pantalla y el cursor no cambia de posicin.

    password:

    Si se ingres una clave incorrecta, el sistema mostrar el siguiente mensaje:

    login incorrectlogin:

    Si la clave fue correctamente ingresada, el sistema le da acceso mostrndole el smbolode sistema o prompt. Si el usuario es root, el prompt por defecto es #, mientras quepara el resto de los usuarios es $.

    Salida del Sistema:

    Para salir del sistema (concluir la sesin), el usuario puede usar cualquiera de tresposibilidades: logout, exit . En cualquiera de los casos, se cierra lasesin en curso y el sistema vuelve a solicitar el ingreso de un nombre de usuario. Eneste momento se puede apagar la terminal o iniciar una nueva sesin.

    #logoutlogin:

  • Lic. Ral N. Confalonieri

    Pgina 33Captulo 5: Primera Sesin

    Administracin de Claves

    Cambio de la clave de usuario:

    Si el usuario desea cambiar su clave, deber utilizar el comando passwd:

    $passwdChanging password for jperezOld password: New password: Retype new password: $

    Comandos de Informacin General

    echo: Presentacin en pantalla

    Para imprimir en la salida standard, se emplea el comando echo

    $echo Bienvenidos a UNIXBienvenidos a UNIX$

    banner: Bandera de saludo

    El comando banner imprime una bandera (banner) de saludo en la salida standard:

    $banner hola

    # # #### # ### # # # # # ####### # # # # ## # # # # ####### # # # # # ## # #### ###### # #$

    date: Fecha del sistema

    Para ver la fecha se emplea el comando date:

    $dateFri Jun 2 11:03:25 EDT 2000$

  • Lic. Ral N. Confalonieri

    Pgina 34Captulo 5: Primera Sesin

    cal: Calendario

    El comando cal (sin argumentos) imprime el calendario del mes en curso:

    $cal June 2000Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 7 8 9 1011 12 13 14 15 16 1718 19 20 21 22 23 2425 26 27 28 29 30

    Si se lo invoca con el argumento ms y ao, imprime el calendario correspondiente:

    $cal 2 2001 February 2001Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 7 8 9 1011 12 13 14 15 16 1718 19 20 21 22 23 2425 26 27 28

    who: Usuarios activos

    Para ver que usuarios estn logeados en el sistema, ingresamos el comando who:

    $whoroot tty0 Jun 16 10:00pjuarez tty2 Jun 16 11:15amarquez tty5 Jun 16 12:32$

    whoami: Datos del usuario actual

    Los comandos whoami y who am i, identifican al usuario en curso, dando distintainformacin del mismo:

    $whoamijperez$who am ijperez ttyp1 Jun 16 15:32$

  • Lic. Ral N. Confalonieri

    Pgina 35Captulo 6: Comandos Bsicos

  • Lic. Ral N. Confalonieri

    Pgina 36Captulo 6: Comandos Bsicos

    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 directorioen 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. Sino se le suministra nombre de directorio alguno, lista el directorio de trabajo actual.

    Opciones:

    -a Lista todos los archivos, incluso los ocultos (aquellos cuyos nombrescomienzan con un punto)

    -A Idem opcin anterior, con la diferencia que no lista los directorios .(actual) y .. (padre)

    -d Lista slo los directorios (no los archivos contenidos en ellos).-i Agrega el nmero de inodo de cada archivo al listado (en la primera

    columna del mismo)-l Lista larga (tipo de archivo, modo, nmero de links, dueo, grupo,

    tamao en bytes, tiempo de la ltima modificacin y nombre delarchivo). Si el archivo es un enlace simblico, el nomre del archivo es

  • Lic. Ral N. Confalonieri

    Pgina 37Captulo 6: Comandos Bsicos

    listado seguido de la cadena -> y el nombre del archivo referenciado.-m Formato por defecto. Lista solamente los nombres ordenados de arriba

    hacia abajo y de izquierda a derecha.-n Idem opcin -l, con la diferencia que se imprimen el UID y el GID en

    lugar de los nombres asociados a ellos.-p Pone una barra / luego del nombre si el archivo es un directorio.-r -R Lista recursivamente los contenidos de los directorios encontrados.-1 Lista los nombres de los archivos en una sola columna.

    Ejemplo:

    $ls -ltotal 456drwxr-xr-x 1 jperez jperez 4096 Jun 30 07:08 ejemplosdrwxr-xr-x 1 jperez jperez 4096 Jul 4 08:19 filtrosdrwxr-xr-x 1 jperez jperez 4096 May 24 18:19 mail-rw-rr 1 jperez jperez 64 Mar 3 20:47 prog1.c-rw-rr 2 jperez jperez 93 May 11 01:41 prog2.c-rw-rr 2 jperez jperez 80 May 12 00:49 prog3.c...

    cd: Cambio de directorio

    Formado del Comando:

    cd [directorio]

    Descripcin:

    El comando cd cambia el directorio de trabajo actual al especificado. Si no se especificningun directorio, el comando hace un cambio al directorio especificado en la variablede ambiente HOME.

    Ejemplo:

    $pwd/home/finanzas/cuentas$cd /home/administracion/empleados$pwd/home/administracion/empleados$

  • Lic. Ral N. Confalonieri

    Pgina 38Captulo 6: Comandos Bsicos

    mkdir: Creacin de un nuevo directorio

    Formado del Comando:

    mkdir [opciones] directorio ...

    Descripcin:

    El comando mkdir crea los directorios especificados en la lnea de comando.

    Opciones:

    -m [modo] Establece los permisos de acceso para el directorio creado y suscontenidos. El modo se establece con la misma sintaxis que el comandochmod.

    Ejemplo:

    $pwd/home/jperez$mkdir /home/jperez/apuntes$

    rmdir: Eliminacin de directorios

    Descripcin:

    El comando rmdir elimina los directorios especificados (deben estar vacos; casocontrario, enva un aviso por el error standard).

    Formado del Comando:

    rmdir [opciones] directorio ...

    Opciones:

    -i [modo] Solicita confirmacin (en la salida standard) para cada uno de losdirectorios a eliminar.

    Ejemplo:

    $rmdir /finanzas/cuentas$

  • Lic. Ral N. Confalonieri

    Pgina 39Captulo 6: Comandos Bsicos

    Comandos para el manejo de archivos

    cat: Vista de contenidos de archivos

    Formado del Comando:

    cat [opciones] archivo ...

    Descripcin:

    El comando cat muestra en la salida standard el contenido de lo archivo especificado.Si se trata de mltiples archivos, los concatena en la salida standard, cada uno acontinuacin del anterior.

    Opciones:

    -b Muestra las lneas del archivo precedidas por el nmero de lneacorespondiente, exceptuando las lneas en blanco. Si se especificaesta opcin, se especifida automticamente la opcin -n

    -n Muestra las lneas del archivo precedidas por el nmero de lneacorespondiente.

    -r Reemplaza un conjunto de lneas en blanco consecutivas,mostrndolas como una sola lnea.

    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). Elargumento fuente puede ser un archivo, un conjunto de ellos o un directorio. Elargumento destino puede ser un archivo o un directorio. Las copias pueden ser archivoa archivo, archivos a directorio y directorio a directorio.

  • Lic. Ral N. Confalonieri

    Pgina 40Captulo 6: Comandos Bsicos

    Opciones:

    -f Ejecuta una copia forzada sobre un archivo existente (soobreescritura).-i Solicita confirmacin (en la salida standard) para ejecutar una copia

    sobre un archivo existente (soobreescritura).-r Copia los archivos y subdirectorios (en forma recursiva) del directorio

    origen) al directorio destino.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 seencuentran en el mismo directorio, ejecuta un cambio de nombre. Si se encuentran endirectorios diferentes, ejecuta una reubicacin.

    Opciones:

    -f Ejecuta una reubicacin o un cambio de nombre forzado sobre unarchivo existente (soobreescritura).

    -i Solicita confirmacin (en la salida standard) para ejecutar unareubicacin o un cambio de nombre sobre un archivo existente(soobreescritura).

    Ejemplo:

    $mv presentismo.lst pres.lst$mv pres.lst /home/administracion/empleados$

    rm: Eliminacin de archivos y subdirectorios

    Formado del Comando:

    rm [opciones] destino

  • Lic. Ral N. Confalonieri

    Pgina 41Captulo 6: Comandos Bsicos

    Descripcin:

    El comando rm elimina componentes del sistema de archivos. El argumento destinopuede ser un archivo o un conjunto de ellos (incluyendo subdirectorios y sus contenidos,en forma recursiva).

    Opciones:

    -f Ejecuta un borrado forzado sobre un archivo o archivos existentes.-i Solicita confirmacin (en la salida standard) para ejecutar la eliminacin

    de un archivo o archivos existentes.-r o -R Elimina subdirectorios y sus contenidos en forma recursiva.

    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 (deltamao de una pantalla) por vez. Para avanzar un rengln se debe digitar ,y para avanzar una pgina se debe digitar . Este comando solo permitemostrar los contenidos en avance (no se puede retroceder para visualizar una pantallaya vista). Para salir del comando se debe digirar la letra q.

    Opciones:

    -n nmero Establece el nmero de lneas de la pgina a visualizar en pantalla.

    Ejemplo:

    $more libro...

    $cat libro | more...

  • Lic. Ral N. Confalonieri

    Pgina 42Captulo 6: Comandos Bsicos

    tee: Redireccionamiento y muestra en pantalla

    Formado del Comando:

    tee [opciones] [archivo...]

    Descripcin:

    El comando tee se utiliza como una ampliacin de un pipe (tubera). Transcribe laentrada standard a la salida standard y realiza una copia del archivo o archivosespecificados.

    Opciones:

    -a Genera una extensin (appending) de los archivos (en caso de existirpreviamente) en lugar de sobreescribirlos.

    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 archivosespecificados. Por defecto muestra 10 lneas.

    Formado del Comando:

    head [opciones] archivo...

    Opciones:

    -n nmero Establece el nmero de lneas a mostrar.

    Ejemplo:

    $head -5 libro...

  • Lic. Ral N. Confalonieri

    Pgina 43Captulo 6: Comandos Bsicos

    tail: Muestra de ltimas lneas de un archivo

    Formado del Comando:

    tail [opciones] archivo...

    Descripcin:

    El comando tail muestra en la salida standard las ltimas lneas del archivo o archivosespecificados. Por defecto muestra 10 lneas.

    Opciones:

    -n nmero Establece el nmero de lneas a mostrar.

    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 cadaarchivo pasado como argumento. Si el archivo no existe, se crea con longitud 0. Si nose especifican las fechas, se emplea la fecha y hora actual.

    Opciones:

    -a 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 unafecha, 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]

    Nota: las opciones -r y -t son mutuamente excluyentes

  • Lic. Ral N. Confalonieri

    Pgina 44Captulo 6: Comandos Bsicos

    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 archivosespecificados y muestra el resultado por la salida standard. Si no se especifica opcinalguna, muestra un reporte total.

    Opciones:

    -c Muestra el nmero de bytes-m Muestra el nmero de caracteres-w Muestra el nmero de palabras-l Muestra el nmero de lneas

    Ejemplo:

    $wc -l capitulo150 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 comoargumentos 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 constantenumrica o una cadena de caracteres que idiquen su tipo.

  • Lic. Ral N. Confalonieri

    Pgina 45Captulo 6: Comandos Bsicos

    Opciones:

    -m archivo Establece un archivo de identificacin alternativo.-f archivo Establece un archivo que contiene los nombres de los archivos a

    clasificar, en lugar de leerlos de la lnea de comando.

    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 archivosque concuerden con la expresin suministrada.

    Expresin:

    -name archivo Busca los archivos cuyo nombre concuerde con el dado.-follow Ejecuta la bsqueda siguiendo los enlaces dinmicos.-fsonly tipoFS Slo busca en el tipo de sistema de archivos especificado.-local Busca en el sistema de archivos 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...

  • Lic. Ral N. Confalonieri

    Pgina 46Captulo 6: Comandos Bsicos

    Opciones:

    -c Copia el o los los archivos a imprimir en el directorio del sistema despooling. Normalmente son enlazados (linked).

    -ddestino Selecciona destino como la impresora elegida para ejecutar el trabajode impresin.

    -m Enva un mail al usuario para avisarle que su requerimiento de inpresinfue cumplido.

    -nnumero Especifica el nmero de copias del trabajo a imprimir. El valor pordefecto es 1.

    -pprioridad Establece la prioridad del trabajo de impresin. El valor ms bajo es 0y el ms alto es 7. Si no se especifica, el valor por defecto es elestablecido 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 estlogeado, le enva un mail.

    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 comoargumento.

    La forma (1) crea un enlace entre archivo1 (existente) y archivo2 (existente o creadopor el comando ln) en el mismo directorio.La forma (2) crea enlaces entre archivo1 (archivo2, etc) y archivo/s (nuevos o creadospor ln) del mismo nombre en el directorio_destino.La forma (3) crea enlaces entre directorio1 (directorio2, etc) y directorio/s (nuevos ocreados por ln) del mismo nombre en el directorio_destino.

  • Lic. Ral N. Confalonieri

    Pgina 47Captulo 6: Comandos Bsicos

    Opciones:

    -f Remueve (elimina) de manera forzada los nombres de destino parapermitir el enlace.

    -i Solicita confirmacin (en la salida standard) para ejecutar un enlacesobre un archivo existente (soobreescritura). Esta opcin slo tieneefecto si se usa en conjunto con la opcin -f

    -s El enlace creado es simblico (no comparten el mismo inodo), lo quele permite estar en otro sistema de archivos.

    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 comandoredefinido 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 loque el emisor escribe en su terminal, en la terminal del receptor. Finaliza cuando el

  • Lic. Ral N. Confalonieri

    Pgina 48Captulo 6: Comandos Bsicos

    emisor tipea . 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 interfazteclado/pantalla. El argumento receptor puede tomar las formas:

    recetorreceptor@hosthost:receptorhost.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 siguientemensaje:

    Message from Talk_Daemon@host_emisor...

    talk: connection requested by emisor@host_emisortalk: 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 losinterlocutores puede tipear sus mensajes simultaneamente, apareciendo los mensajesenviados y recibidos en distintas regiones de la pantalla.

    Cuando cualquiera de los interlocutores desea terminar la sesin, debe digitar

  • Lic. Ral N. Confalonieri

    Pgina 49Captulo 6: Comandos Bsicos

    D> o para terminar la ejecucin del comando talk desde su extremo. El otroextremo ser notificado que la sesin fue concluida y no le queda mas remedio queterminar 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 detodos 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 alos 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 demesg es root.

    Ejemplo:

    $wallEn 10 minutos se bajar el sistema para mantenimiento.Favor de deslogearse. Gracias.

    $

    mesg: Habilitacin/inhabilitacin de recepcin de mensajes

    Formato del Comando:

    mesg [opciones]

  • Lic. Ral N. Confalonieri

    Pgina 50Captulo 6: Comandos Bsicos

    Descripcin:

    El comando mesg habilita o inhabilita la recepcin de mensajes de los comandos writey talk. Si se lo ejecuta sin opciones, informa del estado de recepcin de mensajes.

    Opciones:

    n Inhabilita la recepcin