ideas básicas sobre unix

Upload: nataliavcampos

Post on 11-Oct-2015

14 views

Category:

Documents


0 download

DESCRIPTION

Ideas básicas sobre UNIX

TRANSCRIPT

  • 5/21/2018 Ideas b sicas sobre UNIX

    1/40

    14/02/99

    1Apunte original de las materias Sistemas Operativos y Computacin II dictadas durante la cursada

    1996. Ayudantes: Carlos Barcenilla, Fernando Garca, David Mauro Pendenza y Carolina Piboul.

    Universidad Tecnolgica NacionalFacultad Regional La Plata

    Carrera:Ingeniera en Sistemas de Informacin

    Ctedra:Internetworking

    Cursada: 1999

    IDEAS BSICAS SOBRE

    UNIX1

    http://www.frlp.utn.edu.ar/http://www.frlp.utn.edu.ar/http://www.frlp.utn.edu.ar/
  • 5/21/2018 Ideas b sicas sobre UNIX

    2/40

    Contenidos

    1. IDEAS BSICAS SOBRE UNIX.....................................................................................................4

    1.1........ ........................................................... ........................................................ EL SISTEMA UNIX 4

    1.2...................................... ....................................................................... E STRUCTURA DE ARCHIVOS 5

    1.3...................................................................................................................A RCHIVOS DEL SISTEMA 7

    1.4..............................................................................................S INTAXIS DE LA LNEA DE COMANDOS 8

    1.5........ ........................................................... ............. ABORTANDO LA EJECUCIN DE UN PROGRAMA 9

    1.6....................................................................................C ONTROLANDO LA SALIDA EN LA PANTALLA 9

    1.7...............................................................................................................................L OGIN EN UNIX 9

    1.8...................................... ...................................................................................... LOGOFF EN UNIX 10

    1.9..............................................................................................................C AMBIANDO LA PASSWORD 10

    1.10 MANUAL EN LNEA....................................................................................................................11

    1.11 LOS COMANDOS WHO, FINGER ID Y TTY ....................................................................................11

    1.12 CUESTIONARIO .........................................................................................................................13

    2. ARCHIVOS ..................................................... ............................................................ ....................15

    2.1........ ........................................................... ............................... PERMISOS DE ACCESO A ARCHIVOS 15

    2.2............................................................................L ISTANDO LOS CONTENIDOS DE LOS DIRECTORIOS 18

    2.3....................................................................................................C LASIFICACIN DE LOS ARCHIVOS 20

    2.4...............................................................................M OSTRANDO LOS CONTENIDOS DE UN ARCHIVO 20

    2.5........ ........................................................... ................................................ ELIMINANDO ARCHIVOS 23

    2.6........ ........................................................... ............................................... IMPRIMIENDO ARCHIVOS 23

    2.7................................................................................................................E STADO DE LA IMPRESIN 23

    2.8...........................................................................................CANCELANDO TRABAJOS DE IMPRESIN

    242.9.......................................................................................................................C OPIANDO ARCHIVOS 24

    2.10 MOVIENDO ARCHIVOS ..............................................................................................................25

    3. DIRECTORIOS...............................................................................................................................26

    3.1........ ........................................................... .................................. RUTAS ABSOLUTAS Y RELATIVAS 26

    3.2........ ........................................................... .......................................... CREACIN DE DIRECTORIOS 27

    3.3........ ........................................................... ................................................ ELIMINAR DIRECTORIOS 27

    3.4....................................................................................................................C AMBIAR DIRECTORIOS 28

    3.5...........................................................................................................R ENOMBRAR UN DIRECTORIO 28

    3.6.............................................................................L OS DIRECTORIOS . (PUNTO) Y .. (PUNTO PUNTO) 293.7..............................................................................................P ERMISOS DE ACCESO A DIRECTORIOS 30

    4. COMUNICACIONES.....................................................................................................................30

    4.1........ ........................................................... ............................... ENVIANDO CORREO ELECTRNICO 31

    4.2.....................................................................................................L EYENDO CORREO ELECTRNICO 32

    4.3...........................................................................................G UARDANDO EL CORREO ELECTRNICO 33

    4.4........ ........................................................... .................................................. BORRANDO MENSAJES 34

    4.5...................................................................................M ENSAJES QUE NO HAN LLEGADO A DESTINO 35

    4.6.........................................................................................................................E L UTILITARIO TALK 37

    4.7....................................................................................................R ECHAZANDO LA COMUNICACIN 38

  • 5/21/2018 Ideas b sicas sobre UNIX

    3/40

    3

    4.8..........................................................................................................................L A UTILIDAD WRITE 39

    4.9.................................................................................................................................C UESTIONARIO 40

  • 5/21/2018 Ideas b sicas sobre UNIX

    4/40

    1. Ideas bsicas sobre UNIX

    El sistema operativo UNIX es un conjunto de programas que acta como enlace entre

    la computadora y el usuario. El programa que asigna los recursos del sistema y coordina

    los detalles internos de la computadora se llama kernel.Los usuarios se comunican con el kernel mediante un programa conocido como shell.

    El shell es un intrprete de lnea de comandos; traduce los comandos que ingresa el

    usuario a un lenguaje que el kernel puede comprender.

    En la Figura 1 se muestra un diagrama de los bloques bsicos de un sistema UNIX.

    Los diseadores de UNIX se basaron en las siguientes mximas cuando crearon este

    sistema operativo:

    1.

    Cada programa debe hacer solo una cosa, y hacerlo bien. Estos programas simples sellaman herramientas (tools).

    2. Se espera que la salida de un programa sea la entrada de otro programa.

    3. No se debe perder tiempo en desarrollar nuevas herramientas para realizar un

    trabajo. La biblioteca de herramientas debe tenerlas.

    1.1 El sistema UNIX

    Los conceptos principales que unen todas las versiones de UNIX son:

    KernelEl kernel es el corazn del sistema operativo. Se encarga de planificar tareas y

    administrar el almacenamiento de datos. El usuario raramente interacta directamente

    con el kernel. El kernel es la porcin del sistema operativo residente en memoria.

    Shell

    El shell es la utilidad que procesa sus requerimientos. Cuando escribe un comando en

    su terminal, el shell interpreta el comando y llama al programa que desea. El shell

    soportar mltiples usuarios, mltiples tareas y mltiples interfaces. El shell usa una

    sintaxis estndar para todos los comandos. Hay dos shells muy populares, el

    HardwareKernel

    ShellSistemas de controlde inventarios

    Formateadores

    Agendas

    Editores

    E-mail

    IntrpretesDBMS

    Procesadores de texto

    FTP

    Hojas de clculo Compiladores

    Figura 1- Bloques bsicos de un sistema UNIX

  • 5/21/2018 Ideas b sicas sobre UNIX

    5/40

    5

    BourneShell (que incluye el System V) y el CShell (BSD UNIX). Dado que distintos

    usuarios pueden usar distintos shells al mismo tiempo, el sistema puede parecer

    diferente para cada usuario. Hay un shell conocido como KornShellque es muy popular

    entre los programadores. En los sistemas GNU/LINUX es habitual el uso del shell bash,

    un clon delBourneShell. Esta capacidad de proveer una interface personalizada es unade las caractersticas ms potentes de UNIX.

    Comandos y utilidades

    Pueden combinarse fcilmente distintas utilidades a fin de personalizar funciones y

    salidas. Estos comandos son flexibles, adaptables, portables y modulares. Utilizanpipes

    y filtros. Hay ms de doscientos comandos estndares y muchsimos ms provistos por

    terceras partes.

    Archivos y directorios

    El sistema de directorios soporta una jerarqua multinivel. Los archivos y directoriostienen proteccin de acceso y son accedidos mediante nombres de rutas de archivos

    (pathnames). Tambin un archivo soporta mltiples enlaces (links). Se pueden utilizar

    sistemas de archivos removibles.

    1.2 Estructura de archivos

    En UNIX todos los datos estn organizados en archivos. Todos los archivos estn

    organizados en directorios. Estos directorios estn organizados en una estructura tipo

    rbol llamada el sistema de archivos (filesystem). La Figura 2 describe la organizacin

    de nivel superior del sistema de archivos de UNIX.

    Estos directorios a su vez estn organizados jerrquicamente, como se observa en la

    Figura 3.

    bin dev etc lib tmp usr users

    /root

    Figura 2- Organizacin de nivel superior del sistema

    de archivos

  • 5/21/2018 Ideas b sicas sobre UNIX

    6/40

    6

    En este ejemplo, dev, etc, usry admson directorios. Los directorios contienen otros

    archivos o directorios. Los archivos planos contienen textos o datos binarios y no

    contiene informacin sobre otros archivos o directorios.

    Los usuarios pueden utilizar esta misma estructura para organizar sus archivos, un

    ejemplo se muestra en la Figura 4.

    Cada archivo tiene un nombre. Un nombre de archivo est compuesto de uno a

    catorce caracteres2. Aunque se puede utilizar cualquier carcter en un nombre de

    archivo, para evitar confusiones se recomienda utilizar caracteres incluidos en la

    siguiente lista:

    1. letras maysculas [A-Z]

    2. letras minsculas [a-z]

    2 En las implementaciones actuales de UNIX suelen permitirse ms de catorce caracteres para un

    nombre de archivo.

    /

    dev

    dsk dsk

    dev

    init.d rc0.d

    usr

    mail spooladm

    acct sa

    Figura 3- Organizacin jerrquica de directorios.

    /

    bin users

    jperez fgarcia

    dev

    memos progs

    memos progs c f77

    fisica quimica historia

    mods calc tabla forms arg mundo

    Figura 4- Directorios de usuarios.

  • 5/21/2018 Ideas b sicas sobre UNIX

    7/40

    7

    3. nmeros [0-9]

    4. guin de subrayado (underscore) [_]

    5. punto [.]

    6. coma [,]

    La nica excepcin es el directorio raz, que siempre usa el smbolo /. Ningn otrodirectorio o archivo puede usar este smbolo.

    Dos archivos ubicados en el mismo directorio no pueden tener el mismo nombre.

    Archivos ubicados en directorios diferentes pueden tener el mismo nombre.

    Los nombres de archivos que elija deben tener algn significado. Muy a menudo se

    utilizan nombres que no tienen un significado preciso y no ayudan a la hora de buscar un

    determinado archivo. Utilice nombres de archivo que describan los contenidos del

    mismo.

    1.3 Archivos del sistema

    Para que tenga un conocimiento bsico de los contenidos de algunos de los

    directorios del sistema, a continuacin presentamos una lista de esos directorios y que

    archivos suelen estar alojados en ellos:

    /bin Aqu se hallan los archivos ejecutables. Estn disponibles para todos

    los usuarios.

    /dev Aqu se alojan los manejadores de dispositivos (device drivers)

    /etc Archivos del supervisor, archivos de configuracin, de arranque,passwords, usuarios, grupos de usuarios, entre otros.

    /lib Bibliotecas de compilacin.

    /tmp Archivos temporarios generados por distintos programas.

    /bsd Comandos Berkeley (solo en esa distribucin).

    /mnt Utilizado para montar discos removibles.

    /stand Informacin de inicializacin del sistema (boot).

    /lost+found Archivos hurfanos (perdidos luego de un corte de energa, por

    ejemplo)./unix* Kernel booteable.

    Esta no es una lista ntegra de los directorios que contienen informacin del sistema,

    solo intenta despejar el misterio que existe sobre los directorios y tipos de archivos que

    ellos contienen.

  • 5/21/2018 Ideas b sicas sobre UNIX

    8/40

    8

    1.4 Sintaxis de la lnea de comandos

    Los usuarios ingresan los comandos a travs del indicador (prompt) del shell. En el

    BourneShell el prompt por defecto es el signo dlar ($). En general, el shell espera

    recibir comandos con la siguiente sintaxis:

    Formato del comando: comando opciones argumentos

    Comando Es el comando UNIX. A veces el comando es representativo de la

    funcin. Por ejemplo, el comando para listar los contenidos de un

    directorio es ls. Se utilizan la primera y la tercera letra de la palabra

    inglesa list. Desafortunadamente, no siempre los nombres de los

    comandos siguen este tipo de reglas.

    Opciones Tambin se las conoce como banderas (flags). Su forma habitual

    es:

    -A

    donde A es la abreviatura de la funcin opcional del comando. Por

    ejemplo, el comando lslista los contenidos de un directorio, mientras

    que el comando ls -l emite una lista ms detallada (l:long) y ls -C

    emite el listado en columnas (c: columns). Se pueden combinar varias

    opciones luego de un -; por ejemplo -CF, o bien en forma separada

    -C -F.

    Argumentos Pueden ser nombres de archivos, nombres de usuarios, una opcin del

    comando, etc...

    Ejemplo:$ls -CF jperez

    El comando lslista los contenidos del directorio, el guin (-) indica las opciones.

    C Salida en mltiples columnas con entradas ordenadas.

    F Adiciona una barra (/) luego de cada nombre de archivo si se trata de un

    directorio o pone un asterisco luego del nombre si el archivo es ejecutable.Jperez Nombre del directorio a listar (puede ser una ruta absoluta o relativa).

    Ejemplo:$diff memo1 memo2

    Diff Comando para comparar diferencias entre archivos.

    Memo1 Nombre de archivo a comparar.

    Jmemo2 Nombre del segundo archivo a comparar.

    Este comando indicar qu lneas difieren en ambos archivos.

  • 5/21/2018 Ideas b sicas sobre UNIX

    9/40

    9

    Ejemplo:$find . -atime +7 -print

    Find Localiza archivos.

    . El directorio de trabajo corriente.-atime Condiciona la seleccin a que el archivo haya sido accedido en n das (n es el

    +7).

    -print Imprime el nombre del directorio actual.

    Por lo tanto, este comando emitir un listado de todos los archivos presentes en el

    directorio actual que han sido accedidos en los ltimos siete das.

    Algunos comandos tienen varias opciones y/o argumentos; mientras que otros, como

    passwdy mail, son interactivos y solicitarn al usuario informacin adicional.

    1.5 Abortando la ejecucin de un programa

    A veces es necesario abortar la ejecucin de un programa. UNIX puede estar

    mostrando una lista que es muy larga para ser mostrada en su pantalla o por alguna otra

    razn necesita terminar la ejecucin. Para terminar la ejecucin de un programa presione

    la tecla DELETECTRL-C. El sistema operativo enva una seal de interrupcin al shell.

    Cuando el shell recibe esta seal, muestra el prompt y espera que se ingrese otro

    comando.

    1.6 Controlando la salida en la pantalla

    Hay varias formas de controlar el flujo de caracteres que se muestran en la pantalla

    como resultado de la ejecucin de un comando. A saber:

    CTRL-S Esta funcin del teclado suspender el flujo de caracteres hacia la

    pantalla.

    CTRL-Q Esta funcin reanudar la salida hacia la pantalla.

    HOLD SCREEN Si su terminal tiene esta tecla (ej. VT200), puede presionarla una

    vez para detener la salida. Para reanudar la salida presione

    nuevamente esta tecla.

    1.7 Login en UNIX

    Para comenzar a utilizar un sistema UNIX el primer paso es logonearse, lo primero

    que usted ver es un mensaje de este tipo:

  • 5/21/2018 Ideas b sicas sobre UNIX

    10/40

    10

    login:

    Para conectarse con un host, ingrese su nombre de usuario. Su nombre de usuario le

    es asignado por el administrador del sistema, tpicamente ser su primera inicial y su

    apellido. Solo suelen permitirse 8 caracteres.Ejemplo:

    login:jperez

    Una vez que el nombre de usuario ha sido aceptado, el sistema le pedir su clave de

    acceso. En la pantalla aparecer el siguiente mensaje:

    Password:

    Ingrese su password. Por razones de seguridad el sistema no mostrar su password

    mientras la escribe.

    Password: *******

    Una vez que ha ingresado la palabra clave correcta. El procedimiento de login

    continuar y aparecer en el monitor una pantalla similar a la siguiente.

    UNIX System V Release ax.2.2o ns32332Copyright (c) 1984 AT&T

    All Rights Reserved

    $

    En este punto ya est dentro del sistema. El signo $ es el prompt por defecto del

    BourneShell.

    1.8 Logoff en UNIX

    Para salir del sistema puede utilizar uno de los siguientes mtodos:

    1.Presionar CTRL-D.

    2.Tipear el comando exit(o logouten algunos sistemas).

    1.9 Cambiando la password

    El siguiente comando cambiar la password:

    passwd

  • 5/21/2018 Ideas b sicas sobre UNIX

    11/40

    11

    Se le pedir que ingrese su clave actual. Luego se le solicitar su nueva clave dos

    veces para verificar que se haya ingresado correctamente.

    1.10 Manual en lnea

    La mayor fuente de ayuda en lnea en UNIX son las manual pages. Las pginasestn divididas en distintas secciones.

    Para acceder al manual en lnea se debe utilizar el siguiente comando:

    man

    Comando El comando UNIX acerca del cual usted necesita informacin.

    Ejemplo:$man ls

    Este comando mostrar las pginas del comando ls.

    Las pginas de cada comando comienzan con el nombre del comando y una sinopsis

    de la sintaxis del mismo. Las caractersticas opcionales se encuentran entre corchetes.

    Luego se incluye una descripcin detallada de sus opciones y argumentos. La

    descripcin puede incluir ejemplos tiles. Al final se incluyen los comandos y archivos

    relacionados.

    1.11 Los comandos who, finger id y tty

    una vez que haya ingresado al sistema puede ver quienes estn logoneados con los

    siguientes comandos:

    who[opciones]

    Opciones Se detallan en las man pages de este comando.

    La salida por defecto (sin opciones) de el comando who lista los nombres deusuarios, terminales y el tiempo de en que los usuarios han estado en el sistema.

    Ejemplo:$who

    jperez ttyp0 Aug 15 10:11

    mvlsdba rt02190 Aug 15 09:25

    teacher rt020b0 Aug 15 11:07

    eholderf rt021c0 Aug 15 11:03

    dbowman rt01150 Aug 15 08:58

    $

  • 5/21/2018 Ideas b sicas sobre UNIX

    12/40

    12

    Un comando UNIX que da un poco ms de informacin acerca de los usuarios que se

    encuentran utilizando el sistema es finger.

    finger[opciones] [usuario1]

    Opciones Se detallan en las man pages de este comando.

    usuario1 Nombre del usuario.

    El comando finger sin opciones listar el nombre del usuario, su nombre real

    completo, su terminal, nmero telefnico, tiempo que ha permanecido en el sistema y

    otros datos tiles.

    Ejemplo:$finger

    Login Name TTY Idle When OfficeJperez Juan Perez ttyp0 16 Wed 10:26 MP

    mvlsdba Motor Veh Lic rt02190 16 Wed 09:25 d7160

    teacher Teacher Acct *rt020b0 Wed 11:07

    eholderf Eileen Holder rt021c0 1 Wed 11:03

    dbowman Dale Bowman rt01150 Wed 08:58

    $

    Para mostrar las identificaciones del usuario especificado puede usarse el comando

    id.

    idusuario

    Este comando escribe como salida estndar un mensaje que contiene la identificacin

    del usuario especificado, el sistema de identificacin esta formado por nmeros que

    representan usuarios y grupos de usuarios.

    Contiene la siguiente informacin:

    nombre del usuario y id del usuario real.

    nombre del grupo de usuarios y id del grupo real.

    nombre del grupo de usuarios suplementario y id del grupo suplementario.

    La informacin del grupo suplementario es escrita solo por el sistema que soportan

    grupos multiusuarios y si el usuario especificado pertenece a el grupo especificado.

    Tambin muestra el usuario efectivo y el id del grupo, pero solo para el usuario que

    ha invocado ale comando. Si la identificacin efectiva y real de la invocacin son

    distintas, muestra:

    El usuario efectivo y la identificacin efectiva.

    Nombre del grupo de usuario efectivo y la identificacin del grupo efectivo.

    Puede fracasar si el usuario especificado no existe o si el comando no puede leer la

    informacin del usuario o del grupo.

  • 5/21/2018 Ideas b sicas sobre UNIX

    13/40

    13

    Flags:

    -G solo muestra id del grupo real, efectivo y suplementario

    -g solo el id del grupo efectivo

    -u solo el id del usuario efectivo

    -r aparece el id real en lugar de id efectivo-n aparece el nombre en el lugar del nmero de id, combino con -

    G,-g y -u

    Ejemplo de salidas del comandoid:uid=1333(fer)

    gid= 350(build)

    euid= 0(root)

    egid= 9(const)

    group= 5(sist1), 12(sist2)

    Para identificar la terminal sobre la cual est trabajando el usuario se usa el comando

    tty.

    tty[-s]

    Si la entrada no es una terminal y no se especifica la flag -s, se obtiene un mensaje

    estndar que no es tty.

    Archivos:

    /usr/bin/tty contiene el comando tty/dev/tty contiene el seudodispositivo.

    Muestra las estructuras de datos tipo tty, si no son especificados parmetros lista a

    todas las terminales o a todas las tty abiertas que estn trabajando.

    1.12 Cuestionario

    1.Qu organizaciones desarrolaron inicialmente UNIX?.

    2.

    En qu lenguaje de alto nivel est escrito UNIX?.3.Nombre algunas caractersticas de UNIX.

    4.Qu parte de UNIX controla los detalles de la operacin interna de la

    computadora?.

    5.Qu parte de UNIX permite al usuario comunicarse con la computadora?.

    6.Cual es el nombre de la estructura arbrea en la cual se almacenan todos los

    datos?.

    7.Cual es el nombre del directorio de ms alto nivel?.

    8.

    Qu smbolo representa el directorio de ms alto nivel?.

  • 5/21/2018 Ideas b sicas sobre UNIX

    14/40

    14

    9.Cual es la forma general de la sintaxis de un comando de UNIX?.

    10.Mediante qu comando se cambia la password en UNIX?.

  • 5/21/2018 Ideas b sicas sobre UNIX

    15/40

    2. Archivos

    En UNIX, todos los datos se organizan en archivos. Un archivo ordinario (de texto)

    es un memo, el cdigo fuente de un programa o un script de shell. Un script de shell o el

    cdigo fuente de un programa pueden verse o editarse en cualquier terminal. Otrosarchivos contienen datos binarios, como programas ejecutables; estos archivos no

    pueden ser vistos ni editados en la terminal.

    Tambin se asignan nombres de archivos a dispositivos perifricos tales como discos,

    unidades de cinta, impresoras y terminales. Estos archivos tiene caractersticas

    especiales. Aunque la entrada y salida pueden ser redireccionadas a y desde un

    archivo especial. No se puede ver el contenido de un archivo especial.

    2.1 Permisos de acceso a archivosSe trata de protecciones que pueden asignarse a archivos. Esta proteccin puede

    prevenir un intento no autorizado de lectura o escritura sobre un archivo. Tambin

    pueden protegerse archivos, por ejemplo, para no ser borrados accidentalmente por uno

    mismo.

    Hay tres permisos de acceso a archivos:

    r (read) examinar, leer o copiar datos de un archivo.

    w (write) modificar o borrar un archivo.

    x (execute) usar el archivo como un comando (ejecutarlo).

    El universo de usuarios que potencialmente pueden acceder a un archivo se

    particiona en tres subconjuntos:

    u (user) el dueo del archivo.

    g (group) usuarios del mismo grupo que el propietario.

    o (other) todos los dems usuarios.

    Al ejecutar el comando ls -l el primer campo que se visualiza consta de diezcaracteres en los cuales se describen los permisos de acceso para cada archivo. por

    ejemplo:

    rwxr-xr-x

    De los nueve caracteres, los primeros tres describen los permisos para el dueo del

    archivo, los prximos tres los referentes a su grupo, y los ltimos tres a cualquier otro

    usuario. En cada uno de estos grupos de tres caracteres el primer carcter especifica si se

    encuentra activo el permiso de lectura (r), el segundo y el tercero hacen lo propio con

  • 5/21/2018 Ideas b sicas sobre UNIX

    16/40

    16

    los permisos de escritura (w) y ejecucin (x) respectivamente. La aparicin de una letra

    especifica que el acceso est permitido, un guin (-) indica que el acceso es denegado.

    En el ejemplo anterior el usuario tienen permisos de lectura, escritura y ejecucin.

    Los miembros del grupo al que pertenece el dueo del archivo pueden leerlo o

    ejecutarlo. Cualquier otro usuario tambin puede leerlo o ejecutarlo. El efecto de estospermisos es que solo el dueo puede modificar el archivo, mientras que cualquiera

    puede examinarlo, copiarlo o ejecutarlo.

    Para cambiar los modos de acceso a un archivo o directorio se utiliza el comando

    chmod.

    chmod

    Permisos Permisos de acceso.

    Uno o ms archivos a los cuales se les cambiarn los permisos..

    Los permisos pueden expresarse en dos formas:

    Con letras: [ugo] [+-=] [rwx]

    Con nmeros: [0-7] [0-7] [0-7]

    Veamos cmo cambiar permisos utilizando letras. Las letras u, g y o representan

    user, groupy othersrespectivamente. El signo + (ms) indica que se habilita el permiso

    y el signo - (menos) que se deshabilita. El signo = (igual) significa que se coloquen los

    permisos como se especifica. Las letras r, w y x significan read, write y execute

    respectivamente.

    Supongamos que crea un archivo llamado archivo1que tiene los siguientes permisos:

    rw-rwxrwx

    y desea darse a si mismo (user) el permiso de ejecucin y quitarle a cualquier otro

    usuario (en este caso los miembros de groupy others) el permiso de escritura. Para ello

    debe ingresar:$chmod u+x,g-w,o-w archivo1

    $

    Ahora si se ejecuta el comando ls -la los permisos para archivo1se vern como:

    rwxr-xr-x

    Si desea fijar varios permisos de una sola vez utilice el signo igual. El siguiente

    ejemplo fijar los permisos de lectura y escritura del usuario:$chmod u=rx archivo1

    $

  • 5/21/2018 Ideas b sicas sobre UNIX

    17/40

    17

    El segundo mtodo para cambiar los permisos es usar dgitos octales. los dgitos

    octales 0 a 7 se representan en binario de la siguiente forma:

    Octal Binario Permisos0 000 ---

    1 001 --r2 010 -w-

    3 011 -wx

    4 100 r--

    5 101 r-x

    6 110 rw-

    7 111 rwx

    Note que cada vez que aparece un uno (1) en el nmero binario el permiso

    correspondiente es activado, mientras que cada vez que aparece un cero (0) el permiso

    es denegado. Por lo tanto, para cambiar los permisos del archivo del ejemplo anterior

    debe ingresarse el siguiente comando:$chmod755 archivo1

    $

    El primer dgito octal (7) asigna al propietario (user) los permisos de lectura,

    escritura y ejecucin. El segundo dgito (5) asigna al grupo del propietario permiso de

    lectura y ejecucin. El ltimo dgito (5) asigna a los dems usuarios permiso para leer y

    ejecutar el archivo.

    El comando chownpermite cambiar el dueo de un archivo, solo podr ser ejecutado

    por el dueo del archivo o por el root.

    chownnuevodueo archivo

    Cambia el dueo especificado por el parmetro para un usuario especificado. El

    parmetro del dueo puede especificarse como id del usuario o como el nombre de

    acceso al sistema. Solo el root puede cambiar el dueo de un archivo. Se puede cambiar

    el grupo de un archivo si es root o si es dueo del mismo. Aunque si se es dueo y no

    root se debe pertenecer al nuevo grupo, esto se realiza con el comando chgrp.chgrpnuevogrupo archivo

  • 5/21/2018 Ideas b sicas sobre UNIX

    18/40

    18

    El permisoset-uid

    El archivo que contiene las passwords de los usuarios de un sistema UNIX es el

    siguiente:$ ls -l /etc/passwd

    -rw-r--r-- 1 root 5115 Aug 30 1983 /etc/passwd$

    Listemos ahora los detalles del archivo que contiene el cdigo ejecutable del

    comando passwd(que permite a un usuario cambiar su password).$ ls -l /bin/passwd

    -rwsr-xr-x 1 root 8454 Jan 4 1983 /bin/passwd

    $

    Para este ejemplo los permisos indican que cualquiera puede ejecutar el comando,

    pero solo rootpuede cambiar el comando passwd. Sin embargo, la sen vez de unaxen

    el campo de ejecucin para el dueo del archivo indica que, cuando el comando se

    ejecuta, se le darn los permisos correspondientes al dueo del archivo, en este caso

    root. Debido a que/bin/passwdtiene el atributo "set-uid", y rootcomo dueo, cualquier

    usuario puede ejecutar el comando passwd para editar el archivo de contraseas

    /etc/passwd ("set-uid" significa que el usuario "toma prestada" la identificacin del

    dueo mientras ejecuta el comando).

    El bit de set-uid3es una idea simple pero elegante que resuelve varios problemas de

    seguridad. Por ejemplo, el autor de un programa de juegos puede hacer que el programa

    tenga el atributo set-uidcon el dueo, de manera que este pueda actualizar un archivo de

    puntaje que estara de otra manera protegido contra el acceso de otros usuarios. Sin

    embargo el concepto de set-uid es potencialmente peligroso. /bin/passwd tiene que

    funcionar correctamente; si no fuera as, podra destruir informacin del sistema bajo los

    auspicios de root. Si ste tuviera los permisos rwsrwxrwx, entonces podra ser

    modificado por cualquier usuario, quien podra reemplazar as el archivo con un

    programa que hiciera cualquier cosa. Esto es particularmente serio para un programa

    con atributo set-uid, ya que root tiene permisos de acceso a cualquier archivo en el

    sistema. (Algunos sistemas UNIX apagan el bit set-uidcuando un archivo se modifica,

    para reducir el peligro de una falla de seguridad.)

    El bit set-uid es poderoso, pero se usa principalmente en pocos programas del

    sistema, tales como passwd.

    2.2 Listando los contenidos de los directorios

    El comando lsse usa para mostrar nombres de archivos y sus caractersticas. Dado

    que los nombres de archivos estn alojados en directorios (que son archivos especiales),

    3El set-uidha sido patentado por Dennis Ritchie.

  • 5/21/2018 Ideas b sicas sobre UNIX

    19/40

    19

    el comando ls lee los archivos de directorios. Ejecutando ls sin opciones se listan los

    nombres de los archivos que se encuentran en el directorio corriente, los archivos de

    inicializacin no sern listados.

    ls[opciones] [dir1[dirn]]

    opciones Ver las man pages.

    [dir1[dirn]] Uno o ms nombres de directorios.

    La opcin -a permite ver todos los archivos, incluidos los ocultos.

    La opcin -C muestra el listado en varias columnas.

    La opcin -F agrega un carcter al final del nombre de archivo, indicando con:

    / Indica que se trata de un directorio.

    * Indica que el archivo es ejecutable..

    espacio en blanco Indica que se trata de un archivo ordinario.

    La opcin -l muestra informacin detallada sobre los archivos, incluyendo:

    Tipo de archivo (directorio, especial de bloques, especial de caracteres, especial

    fifo, enlace simblico o archivo ordinario).

    Permisos de acceso.

    Nmero de enlaces (links).

    Propietario y grupo al que pertenece.

    Tamao en bytes.

    Fecha y hora de la ltima modificacin.

    Nombre de archivo.

    Si no se especifica un nombre de archivo, lsmuestra la informacin del directorio

    corriente. Por defecto la salida est ordenada alfabticamente.

    Ejemplo:$ls

    El siguiente ejemplo muestra un listado con ms datos:$ls -l

  • 5/21/2018 Ideas b sicas sobre UNIX

    20/40

    20

    Ejemplo:$ls -la

    total 975

    drwxrwxr-x 4 teacher class 2048 Jul 16 17.56 .

    drwxr-xr-x 60 root 1536 Jul 13 14:18 ..

    -rwx------ 1 teacher class 4210 May 1 08:27 .profile

    -rwxr-xr-x 1 teacher class 1948 May 12 13:42 memo

    $

    2.3 Clasificacin de los archivos

    Por convencin los archivos cuyo nombre se inicia con un punto (.) son archivos de

    inicializacin o archivos ocultos. Tambin suelen llamarse dot files (del ingls dot:

    punto).

    A continuacin se muestran extensiones4utilizadas habitualmente para distintos tiposde archivos:

    .c Cdigo fuente de programas C.

    .f Cdigo fuente de proframas Fortran.

    .o Programas objeto (compilados sin linkeditar).

    2.4 Mostrando los contenidos de un archivo

    El comando cat muestra los contenidos de un archivo. El comando cat es unaabreviacin de la palabra inglesa catenate.

    cat [opciones] [archivo1[archivon]]

    opciones Ver las man pages.

    [archivo1[archivon]] Uno o ms nombres de archivos.

    Si no se especifica ningn nombre de archivo, catlee la entrada estndar.

    Ejemplo:$cat

    Este es el ejemplo ms simple. El comando catobtendr su entrada desde el teclado.

    Todo lo que se tipea en el teclado se muestra en el monitor.

    Si se especifica un archivo como argumento del comando se mostrar en el monitor.

    4Parte final del nombre de archivo.

  • 5/21/2018 Ideas b sicas sobre UNIX

    21/40

    21

    Ejemplo:$cat main.c

    main ()

    {

    printf ("hello from main!\n\n");

    printf ("calling function1!\n\n");

    funct1();

    printf ("back from function1!\n\n");

    printf ("calling function2!\n\n");

    funct2();

    printf ("that's it!\n\n");

    }

    $

    Se pueden mostrar varios archivos uno a continuacin del otro separando los

    nombres de archivos con un espacio.Ejemplo:

    $cat main.c main.f

    main ()

    {

    printf ("hello from main!\n\n");

    printf ("calling function1!\n\n");

    funct1();

    printf ("back from function1!\n\n");

    printf ("calling function2!\n\n");

    funct2(); printf ("that's it!\n\n");

    }

    program calling

    write(6,100)

    100 format('Hello from main!',/)

    write(6,110)

    110 format(' Calling subroutine1!',/)

    call sub1

    write(6,120)

    120 format(t15' Back from subroutine1!',/)

    write(6,130)130 format(' Calling subroutine2!',/)

    call sub2

    write(6,140)

    140 format(t15' Back from subroutine2!',/)

    write(6,150)

    150 format(' Thats all, folks!')

    end

    $

  • 5/21/2018 Ideas b sicas sobre UNIX

    22/40

    22

    Si el archivo contiene ms lneas de las que pueden presentarse en pantalla el archivo

    ir pasando hasta que se haya mostrado la ltima lnea y reaparezca el prompt. Esto

    puede ser problemtico a la hora de intentar leer el texto.

    El comando pg muestra los contenidos de un archivo de a una pantalla por vez.

    Permite que el usuario busque cadenas de caracteres y que vuelva hacia atrs.

    pg[opciones] [archivo1[archivon]]

    Opciones Ver las man pages.

    [archivo1[archivon]] Uno o ms nombres de archivos a ver por pginas.

    El comando tailsirve para ver el final de un archivo sin tener que ver antes todo el

    contenido del archivo.

    tail[opciones] [archivo1]

    Opciones Ver las man pages.

    [archivo1] El archivo que se desea ver, si no se especifica se usa la entrada

    estndar.

    El comando tailmuestra por defecto las 10 ltimas lneas del archivo, sin embargo,

    usando la opcin -N mostrar las ltimas N lneas.

    Otro comando para examinar el contenido de uno o ms archivos con la ventaja de

    paginar cada uno para que el texto no corra sin control por la pantalla puede usarse el

    comando more.

    morearchivo

    Algunos comandos para ejercer un mayor control sobre el texto que se esta

    observando son:

    RETURN Avanza una lnea de texto

    ESPACIO Avanza una pagina de texto.

    H Ayuda.

    . Repite la ejecucin del comando anterior.

    = Muestra el numero de lnea que se esta desplegando.

    Q Sale del more.

    Utiliza descripciones obtenidas en el directorio /usr/share/lib/terinfo para determinar

    las caractersticas de las terminales y el tamao de la ventana. En una terminal capaz de

    mostrar 24 lneas, el tamao de la ventana por defecto es de 22 lneas.

  • 5/21/2018 Ideas b sicas sobre UNIX

    23/40

    23

    2.5 Eliminando archivos

    El comando rmeliminar de un directorio las entradas de uno o ms archivos. Si una

    entrada fuese el ltimo enlace a un archivo tambin se destruir el archivo. Para eliminar

    un archivo se necesita contar con permiso de escritura en el directorios, pero no es

    necesario contar con permiso de lectura/escritura sobre el archivo.

    El formato del comando rm es:

    rm[opciones] [archivo1[archivon]]

    Opciones Ver las man pages.

    [archivo1[archivon]] Uno o ms nombres de archivos a remover.

    Ejemplo:$ls

    memo

    tdata

    subdir

    $rmmemo

    $ls

    tdata

    subdir

    $

    2.6 Imprimiendo archivosEl comando lpenva una archivo a una impresora.

    lp[-d] [-n] [archivo1[archivon]]

    Dest Impresora destino (la fija por defecto el administrador)..

    Nmero Nmero de copias (por defecto es 1).

    archivo1[archivon] El o los archivos que desea imprimir.

    Si no se especifica ningn archivo se imprime la entrada estndar. El orden en que se

    imprimen los archivos se corresponde con el orden de aparicin en el comando.

    2.7 Estado de la impresin

    El comando lpstatmostrar el estado actual del sistema de impresin.

    lpstats[opciones] [-n] [archivo1[archivon]]

    Opciones Se detallan en las man pages.

  • 5/21/2018 Ideas b sicas sobre UNIX

    24/40

    24

    Ejemplo:$lpstat

    mtlzr-1274 teacher 22560 Jul 16 09:05 on mtlzr

    $

    El primer campo es el identificador del trabajo de impresin; el segundo es el nombre

    de usuario; el tercero el tamao del archivo; el cuarto la fecha y hora; y finamente el

    nombre de la impresora.

    Una de las opciones disponibles es -t. esta opcin imprimir toda la informacin

    acerca del estado de impresin.

    Ejemplo:$lpstat -t

    scheduler is running

    system default destination: mt_600device for mt_600: /dev/rlp000

    device for mtlzr: /dev/rt0002

    mt_600 accepting requests since Sep 19 16:09

    mtlzr accepting requests since Sep 19 16:43

    printer mt_600 is idle. enabled since Jul 3 16:52

    printer mtlzr is idle. enabled since Jul 3 16:51

    $

    2.8 Cancelando trabajos de impresin

    El comando cancel cancelar las solicitudes de impresin hechas a travs del

    comando lp. Los argumentos de la lnea de comandos pueden ser o bien el identificador

    de la solicitud (devuelto por el comando lp) o el nombre de la impresora. Si se

    especifica el identificador cancel abortar el trabajo de impresin an cuando est

    siendo impreso. Si se especifica el nombre de la impresora se aborta el trabajo que est

    siendo impreso en ese momento. En cualquier caso, la cancelacin de un trabajo que

    est siendo impreso liberar la impresora para que pueda imprimir la siguiente solicitud.

    cancel Ids Identificadores de las solicitudes de impresin a cancelar.

    Printer Nombre de la impresora.

    2.9 Copiando archivos

    Un usuario puede copiar un archivo si tiene premiso de lectura para ese archivo. El

    comando cppuede usarse para copiar los contenidos de un archivo a otro.

  • 5/21/2018 Ideas b sicas sobre UNIX

    25/40

    25

    cp

    archivo1[archivon] Nombres de uno o ms archivos fuente.

    Destino Nombre de archivo o directorio destino.

    archivo1y destinono pueden el mismo. Si el destino es un archivo sus contenidos

    son destruidos.

    Si destinoes un directorio, los contenidos de los archivos fuente son copiados a ese

    directorio.

    Ejemplo:$cpcontest memo

    $

    Esto copiar el archivo llamado contest a un archivo llamado memo. Si memo no

    existe, ser creado; Si ya existe ser sobreescrito. El comando cpno es destructivo, o

    sea que el archivo fuente no ser modificado.El comando cptambin puede usarse para copiar varios archivos en otro directorio.

    Ejemplo:$cparchivo1 archivo2 /user0/teacher

    $

    Este ejemplo muestra cmo copiar dos archivos llamados archivo1y archivo2en el

    directorio /user0/teacher. El usuario que ejecut cp ser el dueo de los nuevos

    archivos.

    2.10 Moviendo archivos

    Un usuario puede mover un archivo solo si tiene permiso de escritura sobre el

    mismo. el comando mvtambin puede usarse para renombrar un archivo.

    mv

    archivo1[archivon] Nombres de uno o ms archivos fuente.

    Destino Nombre de archivo o directorio destino.

    archivo1 y target no pueden ser iguales y si el destino es un

    archivo se destruyen sus contenidos.

    Si destino es un directorio, los contenidos de los archivos fuente

    se mueven a ese directorio.

    Ejemplo:$mvcontest memo

    $

    Este comando cambia el nombre del archivo contest a memo. Los permisos del

    archivo quedarn igual. El comando mv es destructivo, esto significa que el archivo

    fuente no existe ms.

  • 5/21/2018 Ideas b sicas sobre UNIX

    26/40

    26

    El comando mv tambin puede usarse para mover archivos de un directorio a otro,

    por ejemplo:$mv file1 file2 /user0/teacher

    $

    Los archivosfile1yfile2se enviaron al directorio /user0/teacher. Fueron "movidos"y por lo tanto no residen ms en el directorio corriente. El dueo sigue siendo el mismo.

    3. Directorios

    Un directorio es un archivo cuyo nico fin es almacenar nombres de archivos y la

    informacin relacionada con estos. Todos los archivos (sean estos ordinarios, especiales

    o directorios) estn contenidos en directorios.

    El directorio en el cual uno se encuentra cuando se "logonea" es el home directory

    del usuario. En este directorio uno puede hacer lo que quiera, incluyendo crear

    subdirectorios.

    3.1 Rutas absolutas y relativas

    Los directorios estn organizados jerrquicamente en forma de rbol con el directorio

    (/) como raiz. La posicin de un archivo en la jerarqua se describe mediante el nombre

    de la ruta en la cual se encuentra. Los elementos de una ruta estn separados por una

    barra (/). Una ruta es absoluta si se describe en relacin a la raiz, por lo tanto los

    nombres de rutas absolutas siempre se inician con una /. Estos son ejemplos de rutas

    absolutas:

    /etc/passwd

    /users/sjones/chem/notes

    /dev/rdsk/Os3

    Una ruta tambin puede ser relativa al directorio corriente. Los nombres de rutas

    relativas nunca se inician con /. Si el usuario fgarcia (vase Figura 4) se encuentra en su

    directorio personal /users/fgarcia, algunos ejemplos de rutas relativas son:

    fisica/calc

    historia/mundo

    quimica

    quimica/tabla

  • 5/21/2018 Ideas b sicas sobre UNIX

    27/40

    27

    Para determinar cual es el directorio corriente puede usarse el comando:

    pwd

    Ejemplo:$pwd

    /user0/teacher$

    Este es un nombre de ruta absoluta, el del directorio corriente.

    3.2 Creacin de directorios

    Los directorios se crean con el siguiente comando:

    mkdir[opciones]

    Opciones Vea las man pages para ms detalles.

    Nombredirectorio Nombre del directorio a crear (ruta absoluta o relativa).

    Si no se utiliza la opcin que permite cambiar los permisos, el directorio tendr por

    defecto los permisos rwx para el dueo y r-x para el grupo y los dems usuarios. Los

    archivos . (punto) y .. (punto punto) se crean automticamente. Para poder crear un

    directorio se debe tener permiso de escritura sobre el directorio padre. El identificador

    de dueo y grupo para el directorio creado corresponde a los respectivos identificadores

    del usuario que cre el directorio.

    3.3 Eliminar directorios

    Los directorios se eliminan usando el comando rmdir.

    rmdir[opciones]

    Opciones Vea las man pages para ms detalles.

    Nombredirectorio El directorio a eliminar, debe estar vaco.

    Ejemplo:$pwd

    /user0/teacher

    $ls -la

    total 5

    drwxr-xr-x 2 teacher class 512 Jul 18 08:12 .

    drwxrwxr-x 5 root root 2048 Jul 1 13:14 ..

    $rmdir teacher

    rmdir:teacher:Directory does not exist

    $

    Normalmente los directorios de eliminan usando rmdir. Antes de que el directorio

    pueda ser eliminado, debe ser vaciado; o sea que no debe contener ningn archivo (ni

    subdirectorio). Fjese que en el ejemplo anterior hay dos archivos . (punto) y .. (punto

    punto). Recuerde que estos archivos se refieren al directorio corriente y a su padre; estos

    no pueden ser eliminados.

  • 5/21/2018 Ideas b sicas sobre UNIX

    28/40

    28

    Ejemplo:$rmdir .

    rmdir: .: Can't remove current directory or ..

    $

    Para los propsitos de eliminar un directorio, el directorio est vaco si contiene solo

    dos archivos, llamados . (punto) y .. (punto punto).

    3.4 Cambiar directorios

    Para navegar por el sistema de archivos se utiliza el comando cd(change directory).

    cd[nombredirectorio]

    Nombredirectorio Si no se especifica, se utiliza por defecto el valor de la variable

    de shell $HOME.

    Si se especifica una ruta absoluta ese directorio es el nuevo

    directorio corriente de trabajo. Tambin puede usarse un

    nombre de ruta relativo.

    Ejemplo:$cd /user0/teacher

    $pwd

    /user0/teacher

    $

    Ahora el directorio corriente es/user0/teacher.

    Ejemplo:$cd memos

    $pwd

    /user0/teacher/memos

    $

    Este comando buscar un subdirectorio llamado memos en el directorio corriente

    (/user0/teacher). Si lo encuentra, ser el nuevo directorio corriente.

    Los mensajes de error que comienzan con "cannot access file..."a menudo indican

    que el nombre de archivo es incorrecto o est mal escrito.

    3.5 Renombrar un directorioEl comando mv(move) tambin puede usarse para renombrar un directorio.

    mv

    Nombredirectorio Nombre del directorio fuente

    Destino Nombre del directorio destino.

  • 5/21/2018 Ideas b sicas sobre UNIX

    29/40

    29

    Ejemplo:$mv users newusers

    $

    Este comando cambia el nombre del directorio users a newusers. Los permisos del

    directorio permanecen sin cambios.

    3.6 Los directorios . (punto) y .. (punto punto)

    El nombre de archivo . (punto) representa el directorio corriente; y el nombre ..

    (punto punto) representa el directorio padre del directorio corriente. Si usamos el

    comando lspara listar el directorio corriente usando las opciones -a (para listar todos los

    archivos) y -l (para un listado completo) este es el resultado:$ls -la

    total 975

    drwxrwxr-x 4 teacher class 2048 Jul 16 17.56 .drwxr-xr-x 60 root 1536 Jul 13 14:18 ..

    ---------- 1 teacher class 4210 May 1 08:27 .profile

    -rwxr-xr-x 1 teacher class 1948 May 12 13:42 memo

    $

    El comando ls -la muestra los permisos, el nmero de enlaces5, el dueo, el grupo,

    tamao, etc. de los archivos de un directorio; pero tambin muestra las caractersticas

    del directorio corriente y su padre.

    En lugar de solicitar la informacin de todos los archivos de un directorio, se puede

    pedir solo la informacin del directorio corriente.

    Ejemplo:$ls -ld

    drwxrwxr-x 4 teacher class 2048 Jul 16 17:56 .

    $

    Puede obtenerse la misma informacin sobre el directorio padre del directorio

    corriente usando su nombre como argumento de ls.

    Ejemplo:$ls -ld ..

    drwxr-xr-x 60 root root 1536 Jul 13 14:18 ..

    $

    5links.

  • 5/21/2018 Ideas b sicas sobre UNIX

    30/40

    30

    Los nombres de directorio . y .. pueden usarse como argumentos de los comandos.

    Para hacer que el directorio corriente sea el padre del actual directorio corriente, el

    comando es:$pwd

    /user0/teacher$cd ..

    $pwd

    /user0

    $

    3.7 Permisos de acceso a directorios

    Los permisos de acceso para un directorio se listan y organizan en la misma forma

    que para cualquier otro archivo. Hay unas pocas diferencias que deben ser mencionadas.

    Lectura (read)

    Este permiso significa que el usuario puede leer los contenidos del directorio. O sea

    que el usuario puede ver los nombres de los archivos del directorio.

    Escritura (write)

    Este permiso significa que el usuario puede agregar o eliminar archivos del

    directorio.

    Ejecucin (execute)

    Este permiso en los directorios no significa ejecucin; significa "bsqueda". El

    permiso de ejecucin de un directorio determina si puede buscarse o no un archivo en l.

    Por lo tanto, es posible crear un directorio con permisos --x para otros usuarios, lo cual

    significa que puedan acceder a cualquier archivo que conozcan en ese directorio, pero

    no puedan ejecutar ls sobre l ni leerlo para ver que archivos tiene. En forma similar,

    con permisos de directorio r-- los usuarios pueden ver ( ls) pero no usar el contenido de

    un directorio.

    4. Comunicaciones

    Este captulo cubre el uso y funcionamiento de las diferentes utilidades que permiten

    la comunicacin entre dos o ms usuarios. Algunas de dichas utilidades requieren que

    otro usuario se encuentre "logoneado" al sistema.

    El comando mail puede usarse para enviar mensajes a uno o ms usuarios. No es

    necesario que l o los usuarios destinatarios se encuentren "logoneados", dado que el

    mismo sistema gestiona el envo de los mensajes entre otras maquinas UNIX, y asegura

    que el mensaje llegue a destino.

    Una vez ejecutado el comando mail, el mensaje se almacena en un archivo hasta ser

    recibido por el destinatario, el cual ser notificado de que tiene un mensaje pendiente al

  • 5/21/2018 Ideas b sicas sobre UNIX

    31/40

    31

    momento de "logonearse". Los mensajes, luego de ledos, pueden ser almacenados o

    borrados, y si as se requiere, puede enviarse un mensaje de respuesta al mismo.

    El comando talk abre una sesin interactiva entre dos usuarios, que permite que

    ambos se enven mensajes simultneamente. Ambos deben estar "logoneados" para

    llevar a cabo dicha sesin. En la jerga telemtica, esto se conoce como chat, y es muycomn en BBSs y en servidores de InterNet programados para tal fin.

    El comando writees muy similar al mail, pero el destinatario debe estar "logoneado"

    y recibir el mensaje en forma instantnea.

    4.1 Enviando Correo Electrnico

    El formato bsico de una lnea de comando para mailes:

    mailx[opciones] [nombre_usuario1] [nombre_usuario2]

    Opciones Consultar las man pages correspondientes para una listacompleta de opciones.

    [nombre_usuario1]

    [nombre_usuario2]

    Nombre de los usuarios destinatarios.

    Donde nombre_usuario es el nombre asignado por el administrador del sistema

    UNIX al usuario destinatrio (por ejemplo, jperez). El nombre de usuario puede incluir

    adems un nombre de sistema si el destinatario pertenece a otro sistema UNIX que

    posea comunicacin con el sistema original (Ej: sis2!jperez). Asumimos que el usuariodestinatrio se encuentra en el mismo sistema que el emisario.

    Ejemplo:$mailx jperez(Enter)

    Subject:

    A continuacin debe ingresarse el tema (subject) del mensaje seguido por (ENTER).

    El cursor aparecer en la lnea siguiente, por lo cual ya podemos comenzar a escribir el

    mensaje. Un problema que presentan estas herramientas (comunes a casi todos los

    sistemas UNIX) es que no poseen la caracterstica de wordwrap, o sea, cuando el cursor

    alcance el final de una lnea, el sistema no enva a la lnea siguiente, ni acomoda las

    palabras como sucede en editores de mensajes ms avanzados (como el Elm, Pime, etc),

    por lo tanto, al alcanzar el final de una lnea, debe pulsarse ENTERpara pasar a la lnea

    siguiente. Para finalizar el mensaje se presiona CTRL-Den una lnea en blanco.

  • 5/21/2018 Ideas b sicas sobre UNIX

    32/40

    32

    Ejemplo:$mailx jperez(ENTER)

    Subject: Planificacin de trabajo(ENTER)

    Por favor, revise los boletines de trabajo(ENTER)

    para obtener la nueva planificacin(ENTER)

    (CTRL-D)

    $

    El prompt en la ltima lnea indica que el mensaje ha sido almacenado y colocado en

    una cola de espera listo para ser enviado.

    4.2 Leyendo correo electrnico

    Para leer los nuevos mensaje tipee:$mailx

    Al ejecutar este comando, y en el caso de que realmente haya nuevos mensajes para

    usted, se ingresa a mailxen modo lnea de comandos. En el caso de no poseer mensajes,se presentar el en siguiente texto:$mailx

    No mail for jperez

    $

    Obviamente, su nombre de usuario aparecer en lugar de "jperez".

    En el caso de que ingresen nuevos mensajes a la casilla de correo del usuario se

    presenta el siguiente mensaje:you have mail

    Ejemplo:$mailx

    mailx version 3.1 Type ? for help.

    "/usr/mail/jperez": 3 messages 3 new

    >N 1 bhood Fri Jul 13 13:01 21/324 Review session

    N 2 class2 Fri Jul 13 14:53 15/211 Meeting notice

    N 3 phajny Fri Jul 13 16:53 11/272 Reorganization

    ?

    La primera lnea indica la versin de mailxque se este usando en ese momento, en

    este caso, versin 3.1. La segunda lnea muestra la ruta de acceso del archivo usadocomo input(por lo general, la misma que el nombre de usuario). y el total de mensajes

    activos, junto con el estado de cada uno de ellos. Los mensajes son numerados

    secuencialmente, presentando el ltimo al final de la lista. A la derecha de los nmeros

    puede haber una "N" de new (nuevo) o una "U" de unread (no ledo). El smbolo >

    apunta al mensaje actual. Los otros campos indican, el nombre del emisario, as como el

    da de la semana, fecha y hora en que fue enviado. El ltimo campo es el tema ( subject)

    del mensaje.

    Para leer los mensaje, puede realizar cualquiera de los siguientes pasos:

  • 5/21/2018 Ideas b sicas sobre UNIX

    33/40

    33

    ENTER El mensaje actual es mostrado en pantalla (Indicado por el signo

    ">")

    p ENTER Produce el mismo efecto que pulsar ENTER sin argumentos: el

    mensaje actual es mostrado en pantalla.

    p 2 ENTER Muestra el mensaje nmero 2. Puede usarse "p" (de print) o "t" (detype) seguido por el nmero de mensaje.

    p jperez ENTER Muestra todos los mensaje de jperez.

    4.3 Guardando el correo electrnico

    Todos los mensajes que no son marcados como borrados, son almacenados al

    momento de salir de mailx. Los mensajes son guardados en un archivo llamado mboxen

    el directorio privado del usuario (/home/usuario). Por defecto se utiliza el nombre de

    archivo mbox, sin embargo el usuario puede elegir otro archivo a su conveniencia. Losmensajes que no han sido ledos se almacenan temporalmente en la casilla de correo

    electrnico (mailbox). El comando de mailxpara guardar los mensajes tiene dos formas

    diferentes.

    S [lista_de_mensajes]

    [lista_de_mensajes] = .

    N Nmero del mensaje a guardar^ El primer mensaje luego del ltimo eliminado.

    $ El ltimo mensaje.

    * Todos los menajes

    n-m Un rango nmerico de mensajes (de n a m)

    Usuario Todos los mensajes que tienen a usuario como emisario.

    /string Todos los mensajes con la palabra "string" en el subject (se

    ignora si son mayusculas o minusculas).

    :c Todos los mensajes de tipo c, a saber:d - mensajes borrados

    n - nuevos mensajes

    o - viejos mensajes

    r - mensajes leidos

    u - mensajes no leidos

    Los mensajes especificados en lista_de_mensajes son guardados en un archivo en el

    directorio actual, con el nombre del autor del primer mensaje de la lista. Si el usuario

    "jperez" envi el primer mensaje de la lista, y se ingresa el siguiente comando:

  • 5/21/2018 Ideas b sicas sobre UNIX

    34/40

    34

    ? S *

    "jperez" [New file] 11/268

    ?

    Los mensajes (en este caso, todos) sern almacenados en un archivo del directorio

    actual llamadojperez. Si desea almacenar los mensajes en un archivo con otro nombre,

    debe usar el segundo mtodo para guardar mensajes.

    s [lista_de_mensajes] [archivo1]

    [lista_de_mensajes] . Idem al caso anterior.

    archivo1 Nombre del archivo en donde se almacenarn los mensajes.

    4.4 Borrando mensajes

    Para borrar un mensaje, ingrese una "d" en la lnea de comandos seguido de una lista

    de mensajes, que puede presentar las siguientes formas.

    N Nmero del mensaje a ser eliminado.

    ^ El primer mensaje luego del ltimo eliminado.

    $ El ltimo mensaje.

    * Todos los mensajes.

    n-m Un rango de mensajes a ser eliminados (de n a m).

    Usuario Todos los mensaje que tiene a usuariocomo emisario.

    /string Todos los mensajes con la palabra "string" en el subject (se

    ignora si son mayusculas o minusculas).

    :c Todos los mensajes de tipo c, a saber:

    d - mensajes borrados

    n - nuevos mensajes

    o - viejos mensajes

    r - mensajes leidos

    u - mensajes no leidos

    Por ejemplo, supongamos que desea borrar todos los mensajes de la lista. Lalnea de

    comandos en este caso se vera de la siguiente forma:

  • 5/21/2018 Ideas b sicas sobre UNIX

    35/40

    35

    $mailx

    mailx version 3.1 Type ? for help.

    "/usr/mail/teacher": 3 messages 3 new

    >N 1 bhood Fri Jul 13 13:01 21/324 Review session

    N 2 class2 Fri Jul 13 14:53 15/211 Meeting notice N 3 phajny Fri Jul 13 16:53 11/272 Reorganization

    ? d *

    ? q

    $

    Todos los mensajes fueron eliminados. En realidad, los mismos no son fsicamente

    eliminados hasta que finalice la sesin de mailx. Para recuperar un mensaje previamente

    borrado (en la misma sesin) se utiliza el comando "u" (por undelete) con los mismos

    argumentos que el comando "d".

    4.5 Mensajes que no han llegado a destino

    Si se comete algn error al tipear el nombre del usuario destinatario, el comando

    mail (o mailx) no puede enviar el mensaje. En ese caso, el mensaje original es

    reenviado al emisario, con su texto completo, as como la razn por la cual el mensaje

    no ha podido llegar a destino.

    Ejemplo:

    $mailx

    mailx version 3.1 Type ? for help.

    "/usr/mail/teacher": 1 message 1 new

    >N 1 teacher Fri Jul 13 13:45 25/655

    Returned mail:User unkno

    ?

    Message 1:

    From teacher Fri Jul 13 13:45:57 1990

    Received: by domax1.UUCP (5.51/)

    id AA01997; Fri, 13 Jul 90 13:45:54 mdt

    Date: Fri, 13 Jul 90 13:45:54 mdt

    From: Mail Delivery Subsystem Subject: Returned mail: User unknown

    Message-Id:

    To: teacher

    Status: R

    ----- Transcript of session follows -----

    550 snoopy... User unknown: No such file or directory

    ----- Unsent message follows -----

    Received: by domax1.UUCP (5.51/)

    id AA01995; Fri, 13 Jul 90 13:45:54 mdt

  • 5/21/2018 Ideas b sicas sobre UNIX

    36/40

    36

    Date: Fri, 13 Jul 90 13:45:54 mdt

    From: Teacher Account D-7130

    Message-Id:

    To: snoopy

    Subject: Meeting notice

    Meeting will be held at Charlie Brown's house.

    July 13, 1990

    7:30 p.m.

    ?

    El signo "?" indica que mailx espera una accin por parte del usuario. Una lista

    completa de comandos se puede obtener ingresando el comando "?".

    Esta es una lista parcial de los comandos habilitados en una sesin de

    mailx. Una descripcin completa de cada uno de estos comandos puede ser

    encontrada en las man pages del comando mailx.? ?

    mailx commands

    type [msglist] print messages

    next goto and type next message

    edit [msglist] edit messages

    from [msglist] give header lines of messages

    delete [msglist] delete messages

    undelete [msglist] restore deleted messages

    save [msglist] file append messages to file

    reply [message] reply to message, including all recipients

    Reply [msglist] reply to the authors of the messages

    preserve [msglist] preserve messages in mailbox

    mail user mail to specific user

    quit quit, preserving unread messages

    xit quit, preserving all messages

    header print page of active message headers

    ! shell escape

    cd [directory] chdir to directory or home if none given

    list list all commands (no explanations)

    top [msglist] print top 5 lines of messages

    z [-] display next [last] page of 10 headers

    [msglist] is optional and specifies messages by number, author,

    or type.

    The default is the current message.

    ?

  • 5/21/2018 Ideas b sicas sobre UNIX

    37/40

    37

    4.6 El utilitario talk

    Talkes un programa de comunicacin visual, que copia lneas desde la terminal de

    un usuario hacia la terminal de otro. Es similar al comando phonede las mquinas que

    operan con OS/VMS, y las opciones de "chat" existentes en casi todos los sistemas on-

    line (BBSs,Internet, etc).

    Una vez establecida la comunicacin, ambos usuarios pueden tipear simultneamente

    dado que sus salidas (outputs) aparecen en ventanas separadas.

    talk [nombre_de_tty]

    usuario1 Si desea "chatear" con un usuario del mismo sistema, este

    argumento es tan solo el nombre de usuario. Si desea "hablar"

    con un usuario de otro sistema entonces usuario1 puede

    escribirse de las siguientes formas:

    sistema!usuario

    sistema.usuario

    sistema:usuario

    sistema@usuario

    [nombre_de_tty] Si la persona con la cual desea "hablar" se halla "logoneada" en

    ms de una terminal, especifique el nombre de la terminal con

    este argumento.

    Como ejemplo, supongamos que desea hablar con el usuario studenten la misma

    mquina, el proceso sera:

    En el originador de la llamada:$talk student

    En el receptor de la llamada:Message from Talk_Daemon@domax1 at 17:36 ...

    talk: connection requested by jperez@domax1.

    talk: respond with: talk jperez@domax1

    Cuando el usuario receptor tipee "talk teacher@domax1", el siguiente mensajese

    presentar en la pantalla del usuario originador:Connection established.

    La pantalla ser dividida al medio por una lnea de guiones ('-'). En cada una de las

    pantallas (originador/receptor), la parte superior corresponde al usuario local, o sea, lo

    que el usuario local escriba en dicha zona aparecer en la parte inferior del otro usuario.

    Durante la comunicacin, pulsando CTRL-L se borrarn los caracteres anteriores,

    limpiando la zona del usuario.

  • 5/21/2018 Ideas b sicas sobre UNIX

    38/40

    38

    Ejemplo (originador):Hola Cacho!

    Que te parece si nos juntamos a tomar un caf hoy por la tarde

    --------------------------------------------------------------------

    OK, pero acordate que a eso de las 18:00 tenemos que pasar

    a buscar a Guille para el partido de ftbol.

    Ejemplo(receptor):OK, pero acordate que a eso de las 18:00 tenemos que pasar

    a buscar a Guille para el partido de ftbol.

    --------------------------------------------------------------------

    Hola Cacho!

    Que te parece si nos juntamos a tomar un caf hoy por la tarde

    Una vez terminada la comunicacin, con CTRL-D se procede a finalizar la sesin de

    talk.

    Ejemplo:[Connection closing. Exiting]

    4.7 Rechazando la comunicacin

    Si no desea interrumpir su trabajo por un requerimiento de talk, puede

    rechazar la comunicacin.

  • 5/21/2018 Ideas b sicas sobre UNIX

    39/40

    39

    mesg[-[n][y]]

    n "no", produce que el usuario originador, pierda el permiso para

    acceder a la terminal del receptor.

    y "yes", reestablece el permiso.

    Utilizando el comando mesg sin argumentos, se puede obtener el estado actual de

    dicho permiso sin cambiarlo.

    Ejemplo:$mesg

    is y

    $mesg -n

    $mesg

    is n

    $mesg -y$mesg

    is y

    $

    Por defecto el permiso se encuentra activado. Algunos comandos UNIX, prohiben

    estos mensajes, para no producir caracteres indeseados en la terminal del receptor.

    4.8 La utilidad write

    Este comando escribe mensajes en la pantalla de otro usuario:

    write [nombre_de_tty]usuario1 Nombre del usuario destinatario.

    [nombre_de_tty] Terminal a ser enviado (ej.: ttyS0)

    Ejemplo (originador);$write manolo

    Hola Manolo,

    pasaste por el depto. de compras a buscar la planilla?.

    (CTRL-D)

    $Ejemplo (receptor);

    $

    Message from jperez on domax1 (rt021d0) [ Thu Jul 19 13:43:12 ]

    Hola Manolo,

    pasaste por el depto. de compras a buscar la planilla?.

    $

    Se podra establecer una analoga entre una comunicacin con write y una

    comunicacin por radio. En este caso, se podra convenir en usar el comando "c" por

  • 5/21/2018 Ideas b sicas sobre UNIX

    40/40

    40

    cambio, "cf" por cambio y fuera, de esta forma, se evita que los mensajes se

    superpongan.

    4.9 Cuestionario

    1.

    Cual es el comando para enviar un mensaje a otro usuario en el mismosistema?.

    2.Una vez en la lnea de comandos del comando mail, cmo se puede obtener

    ayuda?.

    3.Que hace el comando d 5-9?.

    4.Cual es el comando para salir de la utilidad mail y regresar al sistema operativo?.

    5.Cual es el prompt del comando mailx?.

    6.Cmo establece una comunicacin con talkcon el usuario fgarciaen el sistema

    fisica?.7.Qu comando en UNIX evita que un usuario sea interrumpido por alguien que

    desea establecer una comunicacin con talk?.

    8.Usando el comando write, el usuario destinatario debe estar "logoneado"?.