Referencia UNIX

Embed Size (px)

Citation preview

  • 8/4/2019 Referencia UNIX

    1/74

    REFERENCIA DE SISTEMAS OPERATIVOS UNIX

    TEMARIO PROPUESTO:

    DESCRIPCIN.

    El mdulo ser terico-practico. Introduce al participante a los conceptos bsicos delsistema operativo UNIX.

    OBJETIVO GENERAL.

    Al finalizar el mdulo, Conocer las funciones, caractersticas y componentes bsicos delSistema Operativo Unix en su concepcin gnerica. El participante aprender los comandos, laterminologa y conceptos de Unix.

    CONTENIDO.

    1. Caractersticas de los sistemas UNIX2. Componentes del Sistema Operativo UNIXA. Comandos del sistemaB. El ShellC. El Kernel

    3. Accesando al Sistema Operativo UNIX

    Seguridad del sistema

    A. Entrando a sesinB. Identificacin en el sistemaC. Cambio de contraseaD. Hbitos de seguridad

    Interfaces de la lnea de comandos

    Usando comandosA. Sintxis de comandosB. Comandos Bsicos.C. Obteniendo ayuda

    4. Archivos y directorios

    El sistema de archivos y directoriosA. La estructura de un archivoB. Tipos de archivosC. Determinando el tipo de un archivo

    Navegando en el Sistema de Archivos

  • 8/4/2019 Referencia UNIX

    2/74

    A. El directorio de casaB. Viendo archivos y directoriosC. RutasD. Cambiando de directorio

    Viendo el contenido de archivos ordinarios

    A. Viendo archivos ordinariosB. Viendo archivos de datos especiales

    Organizando archivosA. Creando directoriosB. Copiando archivosC. Moviendo y renombrando archivosD. Creando ligas suaves y simblicas a un archivoE. Expansin de nombres de archivos (comodines)F. Borrando archivos y directorios

    Trabajando con archivos

    A. Encontrando archivos en el sistema de archivosB. Encontrando cadenas de texto dentro de archivosC. Comparando datos entre archivosD. Empaquetando archivos

    5. Proteccin de archivosA. El dueo de un archivoB. Permisos de accesoC. Permisos por omisin

    6. Edicin de texto es UNIX.

    Editores de texto en UNIXUsando viA. Invocando a viB. Salvando y saliendo de viC. Editando textoD. Copiando y moviendo textoE. Comandos especiales

    Personalizando viA. Definiendo opciones interactivamenteB. Definiendo opciones automticamenteC. Opciones del comando set

    7. Impresin

    Colas de impresinImprimiendo archivos con lpA. Usando el servicio de impresinB. Opciones del comando lPC. Monitoreando el estado de un trabajo de impresinD. Cancelando trabajos

  • 8/4/2019 Referencia UNIX

    3/74

    Preparando archivos para imprimirA. Caractersticas de formateo de la impresoraB. Imprimiendo archivos de datos especiales

    8. Manejo de la entrada y salida de un comando

    Entrada estndarSalida estndarSalida estndar de errores

    Redireccionamiento de archivosA. Redireccionamiento de la salidaB. Redireccionamiento de la entrada

    Pipes, tees y filtros

    Ms filtros

    A. El comando wcB. El comando sortC. El comando trD. El comando pr

    8. Administracin de procesos

    Introduccin a los procesos

    El ciclo de vida de un proceso

    A. Creacin de procesos

    B. La vida de un procesoC. Terminando un procesoD. Status de un proceso

    Control de procesosA. Procesos en backgroundB. Control de trabajos

    Envi de seales a los procesosA. SealesB. El comando nohupC. Envo de las seales

    Encolamiento de procesosA. El comando niceB. El comando at

  • 8/4/2019 Referencia UNIX

    4/74

    9. Personalizacin del ambiente

    Repaso del shellA. Las interfaces de la lnea de comandosB. Interfaces grficas

    Caractersticas de los shells de UNIXA. Variables de ambienteB. Archivos para configuracin del ambienteC. Comandos de configuracin

    10. Utileras de RedA. Comando PingB. Write y talk CC. Controlando acceso a la comunicacin (mesg )D. Archive /etc/ hostsE. Ingresando a un host remoto (telnet)

    F. Transfiriendo archivos entre hosts (ftp)

    11. Utileras de AdministracinA. Desplegar utilizacin del sistema de archivosB. Comando duC. Ejecucin de comandos periodicosD. Comandos para respaldar informacin.

  • 8/4/2019 Referencia UNIX

    5/74

    1. Caractersticas de los sistemas UNIX

    Resea Histrica

    1965AT&Ty MIT, desarrollan MULTICS

    Era uno de los primeros sistemas de tiempo compartido que incorporaba la mayora delas ideas que aparecen en los sistemas multitarea actuales. Este sistema resulto mscomplejo y pesado de lo que era necesario.

    1969AT&Tabandona el proyectoPero, Ken Thompson, Dennis Ritchie, y Rudd Canaday, disean un nuevo sistema,menos complejo que MULTICS. Luego se les unieron otros informticos como: J. F.Ossanna y R. Morris.Tras un periodo de discusin y propuestas, adquirieron una DEC PDP-7 de desecho einicio el proyecto con la creacin de un juego "Viaje espacial", aqu crearon una nuevaestructura de sistema de archivos muy similar al actual, aadiendo un entorno deprocesos y creando un sistema operativo rudimentario.

    UNIXEste nombre fue pronto aplicado a los resultados, ya que su trabajo era unasimplificacin de MULTICS.UNIX comenz a funcionar en la PDP-7 a comienzos de la dcada de los 70's y amediados de esta misma dcada ya estaba transferido a una DEC PDP-11.Laimplantacin original fue codificada en lenguaje ensamblador.

    1971, Lenguaje "C"Dentro del grupo, se desarrolla este lenguaje.

    1973 Kernel en "C"

    Se programa el ncleo de UNIX en C, quedando unas cuantas rutinas en ensamblador.Este fue el primer intento de codificar un sistema operativo entero en lenguaje de altonivel, teniendo como resultado una gran portabilidad.

    AT&Ty UNIXAl ver su utilidad dentro de los laboratorios BELL, AT&T lo tom como producto interno yle dio soporte. Luego distribuy numerosas copias de UNIX a las Universidades, dandopaso al surgimiento de la versin BSD (Berkeley Software Distribution), de la Universidadde California en Berkeley, al mismo tiempo AT&T optimiza UNIX en su versin comercial,formndose diferentes ediciones, como la Edicin 7a. Despus se reorganizainternamente y cambia su nomenclatura a Sistema III. El Sistema IV se utilizinternamente y a mediados de los 80's surge el Sistema V, hoy da se denomina Sistema

    V versin 4 = SVR4.

    BSDLa versin BSD fue la plataforma principal para experimentacin y algunos resultados deesto es: ARPANET (Antecesora de INTERNET), NFS, RFS, SISTEMA DE VENTANASX, Protocolo TCP/IP.

  • 8/4/2019 Referencia UNIX

    6/74

    Caractersticas de UNIX

    Herramientas de SoftwareUnix introdujo una nueva idea en computacin. Las aplicaciones son el conjunto de unascuantas piezas simples, donde cada una de ellas realiza una nica tarea, de tal manera

    que se pueden construir grandes aplicaciones a partir de una serie de secuenciassimples.

    PortabilidadEste sistema hoy da se encuentra en casi cualquier computadora y sus aplicacionestienen el entorno adecuado para ser trasladadas.

    FlexibilidadEl sistema se adapta a las mas diversas aplicaciones, como es la automatizacin defabricas, telefona, juegos personales, bases de datos, etc.

    Multiusuario y Multitarea

    Una computadora puede trabajar con varios usuarios a la vez y desarrollar diferentestrabajos para cada usuario.

    Orientado a RedEl sistema tiene el ambiente necesario para conectarse a otras mquinas por medio de lared (Protocolo TCP/IP).

    A continuacin se describirn aspectos prcticos del uso del sistema Unix en unaestacin de trabajo tpica, los ejemplos mostrados aqu se podrn aplicar en lneasgenerales a la mayora de los sistemas operativos Unix comerciales y tambin ensistemas abiertos tipo Unix tales como Linux (SuSE) y BSD (FreeBSD).

    AccesoEste sistema trabaja por medio de "cuentas" y la creacin de stas, lo realiza eladministrador del sistema (superusuario), el cual entrega al usuario el nombre de la"cuenta" (login) y la palabra clave de entrada (password).

    2. Componentes del Sistema Operativo UNIX

    A. Comandos del sistema

    El modo de trabajo dentro de un sistema Unix es en base a una CLI (Interfase de Linea de

    Comandos) esto quiere decir que se utilizan comandos para realizar buena parte de lastareas rutinarias de operacin, edicin de archivos, manipulacin de archivos y directorios,ejecucin de comandos, etc.

    Actualmente es posible utilizar interfases GUI (Interfase Grafica de Usuario) tales como KDE,GNOME, Afterstep, WindowMaker, etc. Y de esta manera realizar operaciones rutinarias enbase a clicks de ratn y combinaciones de comandos que se ejecutan en una ventana determinal en el entorno grfico.

  • 8/4/2019 Referencia UNIX

    7/74

    B. El Shell

    Existe una capa de enlace entre el Kernel y el usuario, la cual se denomina Shell.

    De esta manera el usuario ejecuta comandos y el shell se encarga de traducirlos a la sintaxisinterna del sistema.

    Para un manejo eficiente del sistema, existen interpretes de comandos UNIX que manejan elambiente con flexibilidad, cada uno de ellos tiene algunas ventajas sobre los otros, el control delambiente se define con algn(os) archivos ocultos y adems adopta un smbolo como prompt.Los interpretes usados comnmente son:

    INTERPRETE ARCHIVO PROMPT

    ______________________________________________

    Bourne Shell (sh) .profile $

    C Shell (csh) .login %.cshrc

    Korn Shell (ksh) .profile $

    TC SHELL (tcsh) .tcshrc %

    Bourne Again Shell

    (bash) .bashrc $

    .bash_profile

    Cada uno de ellos son a su vez lenguajes de programacin.

    El primero de ellos fue Bourne Shell, despus apareci C-Shell. Korn Shell fue creado con laidea de sustituir a Bourne Shell anexando facilidades de C-Shell, pero esto no ha sido un hecho,hoy da existen varios ms.

    En general, en Linux se usa el Bash y algunos de los ejemplos de este documento se basarnen este shell.

    En general, en FreeBSD se usa el C-Shell y nuestros ejemplos se basarn en este interprete, encaso contrario se especificar cual se usa.

  • 8/4/2019 Referencia UNIX

    8/74

    Los archivos de configuracin de una cuenta normal se encuentran en el directorio home porejemplo el directorio /home/guest/edelacru y son al menos los siguientes (ejemplo en FreeBSDy shell bash):

    bash-2.05a$ ls -a

    . .login .mailrc .procmailrc .shrc

    .. .login_conf .newsread .profile

    .cshrc .mail_aliases .plan .rhostsbash-2.05a$

    Cada archivo tiene una funcin especfica, por ejemplo ".cshrc" se definen las rutas o paths delos comandos, ejecutables del sistema Unix.

    set path = (/sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin/usr/local/bin /usr/X11R6/bin $HOME/bin)

    variables de ambiente necesarias para un buen funcionamiento del software,

    setenv EDITOR vi

    setenv PAGER moresetenv BLOCKSIZE K

    el mensaje del prompt del sistema

    PS1="`whoami`@`hostname | sed 's/\..*//'`"

    y alias de comandos. Esto ltimo nos ayuda a definir comandos elaborados con unascuantas letras, redefinir el nombre de un comando y ms, por ejemplo:

    DEFINICION NUEVO COMANDO A REALIZAR

    ________________________________________________________

    alias h history 25

    alias j jobs -l

    alias la ls -a

    alias lf ls -FA

    alias ll ls -lA

    Los dos ltimos sirven para ver el contenido de un directorio con formato especfico porejemplo:

    [email protected]% lf.cshrc .mail_aliases .plan .rhosts.login .mailrc .procmailrc .shrc

    .login_conf .newsread [email protected]%

  • 8/4/2019 Referencia UNIX

    9/74

    C. El Kernel

    Cuando se enciende una mquina con UNIX el Kernel o ncleo del sistema es cargado en lamemoria principal de la mquina. El Kernel se encarga del manejo eficiente de la memoria, laEntrada/Salida, los procesos, etc. En el caso de los sistemas tipo Unix como Linux / FreeBSD es

    posible modificar el kernel y recompilarlo con nuevas opciones para aplicaciones especificas, sinembargo en el caso de sistemas Unix Comerciales esto generalmente no es posible.

    3. Accesando al Sistema Operativo UNIX

    Seguridad del sistema

    El sistema operativo Unix es un sistema Multiusuario y como tal los usuarios que deseaningresar a el deben contar con una cuenta de usuario y un password o contrasea para poderingresar a una sesin y realizar sus actividades

    A. Entrando a sesin

    Para entrar a una sesin (login) en el sistema introducimos la cuenta del usuario yposteriormente la contrasea, la cual no se muestra por seguridad.

    login: edelacru

    Password:Last login: Wed Feb 16 00:45:33 on ttyp6

    Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994The Regents of the University of California. All rights reserved.

    FreeBSD 4.6.2-RELEASE-p26 (MNET) #7: Sun Oct 5 00:39:40 EDT 2003

    Welcome to FreeBSD!

    >> Welcome to M-Net, the First Public Access Unix System

  • 8/4/2019 Referencia UNIX

    10/74

    B. Identificacin en el sistema

    Todo usuario se debe identificar en el sistema con una cuenta de acceso y una contrasea, ascomo una descripcin amplia y clara de quien es el dueo de la misma cuenta.

    Para saber quien esta conectado a un sistema Unix existen algunos comandos como por

    ejemplo: finger, w y who que ofrecen informacin especifica en cada caso como veremos acontinuacin:

    Ejemplo de comando finger:

    [email protected]%fingerLogin Name TTY Idle Login Time Office Phoneade22 Ade *p3 1 Wed 01:23cali2005 Anonymous p8 10 Wed 01:20campo1 El Campo pj Wed 01:22casper Rump-thumpin' Monkey po 1d Feb 4 11:19edelacru Eric De La Cruz Lugo p6 Wed 00:45guspur79 Guspur79 *pc 2 Wed 01:16jor John O'Reilly p1 18 Wed 01:12 Dixboro 994-5089

    kumar nithya kumar p5 1 Wed 01:13omemos thomos *pf 11 Wed 01:19reget Anonymous p7 Wed 00:56regicide Chris Cross p2 1 Wed 01:09romeo4 Rob Burnquist pa 6 Wed 01:24simonask Simonas Kareiva p4 13 Wed 01:16trex Worst Sysop Ever pd 7:12 Mon 14:56 ann arb 734-973-3xws xws pi 3 Wed 01:[email protected]%

    Ejemplo de comando w

    [email protected]%w1:32AM up 12 days, 13:07, 14 users, load averages: 0.93, 0.99, 0.93

    USER TTY FROM LOGIN@ IDLE WHATjor p1 bgp997792bgs.nan 1:12AM 19 -csh (csh)regicide p2 cpe-24-24-211-21 1:09AM 2 -bash (bash)ade22 p3 157.95.31.86 1:23AM 3 /usr/local/bin/real/lysimonask p4 ns.vusa.lt 1:16AM 14 muttkumar p5 static72-17.dsl- 1:13AM - vi hiedelacru p6 - 12:45AM - wcali2005 p8 adsl-69-234-56-7 1:20AM 11 -bash (bash)romeo4 pa c-24-15-41-4.cli 1:24AM 7 -bash (bash)guspur79 pc 157.95.31.115 1:16AM 4 (lynx)trex pd shaolin.wccnet.o Mon02PM 7:13 -tcsh (tcsh)omemos pf 157.95.31.59 1:19AM 12 (lynx)xws pi 157.95.31.92 1:24AM 5 (lynx)campo1 pj 157.95.31.30 1:22AM - /usr/local/bin/real/lycasper po shaolin.wccnet.o 04Feb05 32:23 b (yapp-3.1.1)

    [email protected]%

  • 8/4/2019 Referencia UNIX

    11/74

    Ejemplo de comando who:

    [email protected]%whojor ttyp1 Feb 16 01:12 (68.40.59.3)regicide ttyp2 Feb 16 01:09 (24.24.211.218)ade22 ttyp3 Feb 16 01:23 (157.95.31.86)simonask ttyp4 Feb 16 01:16 (193.219.44.89)

    kumar ttyp5 Feb 16 01:13 (61.11.72.17)edelacru ttyp6 Feb 16 00:45cali2005 ttyp8 Feb 16 01:20 (69.234.56.75)romeo4 ttypa Feb 16 01:24 (24.15.41.4)guspur79 ttypc Feb 16 01:16 (157.95.31.115)trex ttypd Feb 14 14:56 (198.111.176.53)omemos ttypf Feb 16 01:19 (157.95.31.59)xws ttypi Feb 16 01:24 (157.95.31.92)campo1 ttypj Feb 16 01:22 (157.95.31.30)casper ttypo Feb 4 11:19 (198.111.176.53)[email protected]%

    Como dato adicional el comando finger permite tambin ver quien esta conectado en un equipoUnix remoto, siempre y cuando el host remoto lo permita:

    [email protected]%finger @cyberspace.org[cyberspace.org]Login Name Tty Idle Login Time Office Office Phone bru bruce allen price *pb - Wed 01:35chidocal Carlos Escondrillas p4 - Wed 01:37cross Dan Cross *p0 2:15 Sun 01:10fitz Scotch! Cigars! Coff *q4 - Wed 01:48iwan E one *pc - Wed 01:24jmhut John Moris Hutagalun *p3 12 Wed 01:25kaddal Fransiskus Kian pf 14 Wed 01:28kaun Venkat Kaundinya *q2 - Wed 01:42latis kenshin himura p1 - Wed 00:42 mcnally Mike McNally qa 19 Wed 01:02 SE Alaska mukhbens Mukhben Singh p8 4 Wed 01:42

    oday oday pa - Wed 01:26 prasun Prasun Ratn p9 - Wed 01:19rcurl Rane Curl *p6 - Wed 01:24sadpunk sadpunk p5 4 Wed 01:37sanjay sanjay q8 - Wed 01:16scholar A Scholarly Pursuit pd 8 Wed 00:02skg00g sanfrancisco *pe - Wed 01:46soso7df Sorabh Sodhani q0 - Wed 01:46 Mumbai 25720013wyckoff C Wyckoff p2 - Tue 21:[email protected]%.

    Ejemplo de un sitio que niega la lista de usuarios al comando finger:

    [email protected]%finger @uxmal.itmerida.mx

    [uxmal.itmerida.mx]finger: reading from network: Connection refused

    [email protected]%

  • 8/4/2019 Referencia UNIX

    12/74

    C. Cambio de contrasea

    Es muy importante que cambie la contrasea de una cuenta de acceso a un sistema Unix deforma peridica por cuestin de seguridad para ello se utiliza el comando passwd, como semuestra a continuacin:

    [email protected]%passwdChanging local password for edelacru.Old password:New password:Retype new password:passwd: updating the database...passwd: [email protected]%

    Se pide primero el password antiguo para asegurar que el verdadero dueo de la cuenta es elque desea cambiar el password, posteriormente se teclea 2 veces la nueva contrasea paraasegurar que se tecleo bien el nuevo password, como es obvio el password antiguo y elpassword nuevo no aparecen al momento de teclearse por razones de seguridad.

    D. Hbitos de seguridad

    El sistema operativo Unix nace en un ambiente acadmico y con la idea de compartirinformacin, no se pens en un principio en los problemas de seguridad que pudierangenerarse.

    Aun as, el sistema tiene los elementos para implementar niveles de seguridad.

    Dentro de un sistema operativo pueden crearse medidas generales de seguridad, pero en cadasitio existen diferentes requerimientos y las necesidades pueden variar notablemente. Por ello

    deben de existir polticas de seguridad acordes a las necesidades particulares y adoptar lasmedidas necesarias, ya sean de hardware y/o software.

    PROBLEMAS TPICOSLos problemas que se presentan en un ambiente de cmputo en el aspecto de seguridad, por logeneral comprende lo siguiente:

    1.- Acceso NO autorizado a informacin privada.2.- Interceptar la informacin.3.- Malas instalaciones.

    4.- Intrusos y fisgones.

    5.- Software vulnerable.

    6.- Password dbiles.

    7.- Cuentas compartidas.8.- El intruso borre informacin importante.

    9.- Puentes para traficar software.

    Ante estos puntos es necesario tomar las siguientes acciones:

    1.- Reforzar los mecanismos de acceso.2.- Restringir accesos a usuarios no deseados.

    3.- Sistemas de deteccin de intrusos.

  • 8/4/2019 Referencia UNIX

    13/74

    4.- Plan de contingencias.

    5.- Usar Criptografa.

    6.- Implementar la autenticidad en la comunicacin.

    1.- Existen formas prcticas dentro de Unix para proteger la informacin. El usuario puede definirque informacin quiere compartir con su grupo u otro, haciendo uso del comando:

    chmod (la sintaxis de este comando se discute en el punto 7 de este Curso)

    2.- Solamente el usuario conoce sus archivos y puede observar el espacio de disco ocupadocon:

    du

    Este comando indica el uso de disco duro que tiene un directorio con sus archivos.

    quota v

    (Este comando funciona si el sistema Unix tiene el sistema de cuotas de disco duroactivadas)

    3.- No tener en su HOME directorios ocultos que no sean creados por el sistema, tales como:

    ... (Los archivos ocultos en Unix empiezan con el carcter punto (.)

    4.- Evitar el uso del archivo .rhosts

    (listado de hosts remotos validos en el sistema).

    5.- No prestar o dar a conocer su password a nadie, recuerde que la cuenta es personal eintransferible.

    6.- Cambiar el password peridicamente. Sobre todo si existe el riesgo de que alguien lo hallavisto.

    7.- Si se nota algo anormal a lo que generalmente pasa en el sistema en el que se trabaja,reportarlo inmediatamente al administrador del sistema.

    8.- En el libro Password Security: A Case History (ACM) de R. Morris y K. Thompson:De 3,289 password el 16% tienen 3 letras o menos y el 86% son inseguros.Y en el libro Unix Operating System Security (AT&T) de Grammp, F.T. y R.H. MorrisDa las siguientes recomendaciones para los de passwords.

    Lo que No debe usar en los password

    A.- El login de ninguna forma, inverso, truncado, etc.

    B.- Nombres de esposa, hijos, hombres y mujeres comunes.

    C.- El nombre propio o apellido seguidos o precedidos por un dgito.

    D.- Nmero de licencia, telfono, seguro social, marca de auto, etc.

    E.- Nombre de la calle donde vive, colonia, etc.F.- Todos los dgitos o la misma letra.

    G.- Palabras de diccionario.

  • 8/4/2019 Referencia UNIX

    14/74

    Lo que SI se debe usar en los password

    A.- Ms de 5 caracteres. En Unix por lo general acepta hasta 8.B.- Letras mezcladas con dgitos y signos de puntuacin.

    C.- Fcil de recordar, para no anotarlo en papel.

    D.- Que se escriba rpidamente.E.- Tomar las letras de una frase fcil de recordar, pensamiento, poema, etc.

    Ejemplo: Mxico saldr de la crisis que dejo Salinas

    Password: MsdlcqdS

    F.- Alternar entre las consonantes una o dos vocales.

    Password: routbooPassword: quadpop

    G.- Seleccionar dos palabras cortas y unirlas con signo de puntuacin

    Password: dog;rainPassword: book+mug

    Password: kid?goat

  • 8/4/2019 Referencia UNIX

    15/74

    Interfaces de la lnea de comandos

    Usando comandos

    A. Sintxis de comandos

    La sintaxis de los comandos en Unix es generalmente en minsculas y los argumentos oparmetros que los comandos necesitan van despus del comando, generalmente despus delcarcter guin, ejemplo:

    Comando ls , ejemplo de uso:

    % ls la (muestra todos los archivos y directorios inclusive los ocultos)

    B. Comandos Bsicos.

    En esta parte, solo se dar una explicacin rpida de los comandos y un ejemplo ilustrativo.

    ls Lista un directorio.

    date Fecha y hora de la mquina.

    cd Permite cambiarse a un directorio.

    mkdir Crea un directorio.

    pwd Para ver en que parte del rbol de directorios estoy.

    cp Copia archivos y directorios.

    rm Borra archivos y directorios.

    mv Mueve archivos y directorios.

    cal Muestra el calendario.

    cat Despliega el contenido de un archivo.

    more Despliega el contenido de un archivo por pginas.

    man Manual en lnea de comandos UNIX.

    cmp Compara archivos.

    diff Muestra la diferencia entre archivos ASCII.

  • 8/4/2019 Referencia UNIX

    16/74

    Nota: El mensaje o prompt de la computadora que indica que esta en espera de

    un comando es : "[email protected]%".La letra itlica gorda, es lo que debe de escribir el usuario

    y la letra itlica es la respuesta de la mquina.

    C. Obteniendo ayuda

    Para obtener ayuda en lnea respecto a algn comando, el sistema Unix cuenta con manualespara cada programa o comando (en ingls generalmente), el manual da una definicin delcomando y sus parmetros o switches que se pueden utilizar con el mismo, el modo de invocarun manual es de la siguiente manera:

    % man comando

    Ejemplo:

    man ls

    Reformatting page. Wait... done

    ls(1) User Commands ls(1)

    NAME

    ls - list contents of directory

    SYNOPSISls [ -abcCdfFgilLmnopqrRstux1 ] [ names ]

    AVAILABILITYSUNWcsu

    DESCRIPTIONFor each directory argument, ls lists the contents of the

    directory; for each file argument, ls repeats its name andany other information requested. The output is sorted

    . . .--More--(10%)

  • 8/4/2019 Referencia UNIX

    17/74

    4. Archivos y directorios

    El sistema de archivos y directorios

    El sistema operativo UNIX maneja para su sistema de archivos una estructura de rbolsemejante a MS-DOS, con la diferencia de que UNIX jerarquiza su rbol y lo subdivide segn los

    requerimientos y aplicaciones del mismo sistema operativo. La parte inicial del rbol se ledenomina "root" y se identifica con el smbolo /.

    Ejemplo de un sistema de archivos en UNIX :

    00 kernel packageCOPYRIGHT bin proc boot boot.config kernel.oldroot boot.config.old lost+foundsbin mnt sourcecompat modules srcdev sys tmpusr var

    Ejemplo grfico:

    "/" Este smbolo denota el directorio raz o inicio de un sistema de archivos. Notar que elsmbolo usado es distinto al usado por MSDOS que es "\".

    Directorios

    Existen directorios de gran importancia en Unix, como es "usr", "bin", "sbin", "dev", etc. Cadauno de ellos tiene un objetivo especifico, como por ejemplo tener los programas ejecutables, olos dispositivos de entrada y salida.

    /home

    Cualquier usuario del sistema se localiza en este directorio (excepto el administrador root).

  • 8/4/2019 Referencia UNIX

    18/74

    Discos y otros dispositivos

    A diferencia de MSDOS que a cada disco o particin lo etiqueta como una unidad, en UNIX seanexa un disco como otra rama del rbol del sistema de archivos, siendo ese disco visto comoun archivo.

    A. La estructura de un archivo

    La estructura fundamental que utiliza el UNIX para almacenar informacin es el archivo. El UNIXmantiene la pista de cada uno de los archivos asignndole a cada uno, un nmero deidentificacin (i-number) que apunta a la tabla de i-nodos. El usuario, no obstante, indicar cadaarchivo por medio de su nombre asignado por el propio usuario. El UNIX mantiene toda lainformacin propia del archivo, excepto su nombre, en su inodo correspondiente. El nombre seencuentra en la entrada correspondiente del directorio al que pertenece.

    Los archivos en Unix tienen la siguiente estructura:

    -rw-r--r-- 1 edelacru guest 13450 Feb 16 10:34 archivo.txt

    La primera columna se refiere a los permisos del archivo los cuales veremos en una seccinposterior, la segunda se refiere al usuario que es dueo del archivo, la tercera se refiere al grupode usuarios al que pertenece el archivo, la cuarta columna indica el tamao del archivo, la quintacolumna indica la fecha y la hora de creacin o modificacin del archivo y la sexta columnaindica el nombre del archivo.

    B. Tipos de archivos

    Hay cuatro tipos diferentes de archivos: archivos ordinarios, vnculos o ligas (simples osimblicas), directorios y archivos especiales.

    Archivos ordinariosComo usuario, la informacin con la que se trabaja, generalmente ser almacenada comoarchivo ordinario. El archivo puede contener caracteres ASCII o programas. Los archivospueden cambiarse, crearse o borrarse cuando sea pertinente.

    Vnculos (ligas) simplesNo es una clase de archivo, slo un segundo nombre. Si dos usuarios necesitan compartir lainformacin de un archivo de forma consistente, un vnculo es una solucin excelente a esteproblema. Todo cambio realizado por alguno de los dos usuarios tiene lugar sobre la versin

    comn. Adems, el usar vnculos ahorra espacio en disco.

    Poseen limitaciones importantes, ya que no se pueden emplear para asignar a un directorio msde un nombre. Tampoco pueden emplearse para vincular archivos sobre computadorasdiferentes, a pesar de que UNIX permite compartir archivos entre computadoras.

  • 8/4/2019 Referencia UNIX

    19/74

    Vnculos simblicosTambin se conocen como hard links. Eliminan las limitaciones de los vnculos simples. Unvnculo simblico es un archivo que slo contiene el nombre de otro archivo. De tal modo quepueden emplearse para asignar ms de un nombre a un archivo o directorio; e inclusive puedenusarse desde otras computadoras.

    DirectoriosUn directorio es un archivo que mantiene ordenados otros archivos y contiene informacin sobrelas localizaciones y atributos de stos. Por ejemplo, un directorio incluye una lista de todos losarchivos y subdirectorios que ste contiene, as como sus direcciones, caractersticas, tipos dearchivos y otros atributos.

    Archivos especialesConstituyen una caracterstica no usual del sistema de archivos UNIX. Representan undispositivo fsico. Puede ser una terminal, una unidad de almacenamiento, etc. Desde laperspectiva del usuario, UNIX trata a los archivos especiales como archivos ordinarios. Esto es,puede leer o escribir los dispositivos exactamente como lee y escribe los archivos ordinarios.

    UNIX traduce las rdenes comunes a su equivalente y se activa el hardware correspondiente.Este tipo de manejo de informacin trae una consecuencia importante: puesto que UNIX tratatodo como si fuese un archivo, no necesitas aprender las particularidades del hardware de lacomputadora. Una vez que aprendes a manejar los archivos del sistema UNIX, se sabe cmomanejar todos los objetos del sistema UNIX.

    C. Determinando el tipo de un archivo

    El comando file. Determina el tipo de archivo examinando su contenido. El tipo de archivopuede ser de:

    DatosTexto en InglesDirectorioTexto ASCIILibreraShell Script Ejecutable

    Sintaxis:

    $ file [-f][-h] nom-arch

    Opciones:-f Examina los archivos cuyos nombres estn contenidos en nom-arch-h Si se trata de una liga, esta opcin nos muestra hacia donde est apuntando esa liga

    Si tecleamos:

    file nom-arch

  • 8/4/2019 Referencia UNIX

    20/74

    Despliega:

    nom-arch: tipo de archivo

    Veamos ahora algunos ejemplos:

    bash-2.05a$ file archivo.txtarchivo.txt: ASCII textbash-2.05a$

    bash-2.05a$ file mkdirmkdir: ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), for FreeBSD 4.5,statically linked, strippedbash-2.05a$

    Navegando en el Sistema de Archivos

    A. El directorio home o de casa

    Para todos los usuarios que ingresan a una sesin de Unix, se les asigna un directorio en el cualinician sus actividades este directorio se le conoce como home o casa, en este directorio elusuario tiene todos los derechos para trabajar y crear, modificar y eliminar archivos y directorios.Un ejemplo del directorio home sera:

    /home/edelacru

    Es importante notar que si un usuario trabaja en un rbol de directorios y desea retornarinmediatamente a su directorio home o casa nicamente debe teclear el comando cd sinargumentos presionar la tecla y automticamente retornar a su directorio home.

    B. Viendo archivos y directorios

    Para ver archivos y directorios en Unix es necesario utilizar comandos especficos como lossiguientes:

    Comando ls, este comando nos permite ver una lista de los archivos y/o directorios que seencuentren en un directorio especifico, a continuacin mostraremos unos ejemplos de cmo seutiliza el comando ls con argumentos adicionales.

    [email protected]% [email protected]%

    El comando ls sin argumentos solo nos mostr un archivo en este ejemplo, sin embargo alagregar parmetros al comando ls nos muestra ms informacin.

    [email protected]% ls -a. .login .mailrc .procmailrc .shrc.. .login_conf .newsread .profile archivo.txt.cshrc .mail_aliases .plan [email protected]%

  • 8/4/2019 Referencia UNIX

    21/74

    el parmetro a permite ver archivos ocultos en el directorio, los archivos ocultos inician sunombre con el carcter (.) punto estos archivos y directorios normalmente son de configuracin.Al agregar al parmetro a el parmetro -l podemos ver informacin adicional importante delos archivos y directorios en el directorio actual.

    [email protected]% ls -la

    total 356drwxr-xr-x 2 edelacru guest 512 Feb 16 10:34 .drwx--xr-x 10764 root guest 341504 Feb 16 17:45 ..-rw-r--r-- 1 edelacru guest 881 Feb 16 00:45 .cshrc-rw-r--r-- 1 edelacru guest 253 Feb 16 00:45 .login-rw-r--r-- 1 edelacru guest 165 Feb 16 00:45 .login_conf-rw------- 1 edelacru guest 371 Feb 16 00:45 .mail_aliases-rw-r--r-- 1 edelacru guest 331 Feb 16 00:45 .mailrc-rw-r--r-- 1 edelacru guest 0 Feb 16 16:55 .newsread-rw-r--r-- 1 edelacru guest 116 Feb 16 00:45 .plan-rw-r--r-- 1 edelacru guest 63 Feb 16 00:45 .procmailrc-rw-r--r-- 1 edelacru guest 906 Feb 16 00:45 .profile-rw------- 1 edelacru guest 276 Feb 16 00:45 .rhosts-rw-r--r-- 1 edelacru guest 852 Feb 16 00:45 .shrc-rw-r--r-- 1 edelacru guest 5 Feb 16 10:46 archivo.txt

    [email protected]%

    C. Rutas

    En Unix existe una variable en el entorno del shell del usuario que se llama PATH, estavariable tiene asignadas todas las rutas de directorios del sistema Unix en los cuales puedenexistir programas que el usuario puede ejecutar y utilizar, a continuacin mostraremos unejemplo del contenido de la variable PATH en un sistema Unix.

    [email protected]% echo $PATH/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/bin:/usr/X11R6/bin:/home/guest/edel

    acru/[email protected]%

    En este ejemplo se utiliz el comando echo para mostrar en pantalla el valor de la variablePATH, para ello es necesario anteponer el signo de $ a la variable para poder obtener el valorque posee esta.

    Existen tambin las llamadas rutas absolutas y las rutas relativas.

    Rutas absolutasLas rutas absolutas se distinguen por que comienzan con /, se denominan absolutas por que lareferencia se hace desde el directorio raz hacia abajo. Ejemplo:/etc/mail/sendmail.cf

    Rutas relativasEn estas la referencia depende del directorio de trabajo actual, se caracterizan por que nocomienzan con /. Por ejemplo si tenemos la siguiente estructura:

    /etco /etc/maill

    /etc/mail/sendmail.cf

  • 8/4/2019 Referencia UNIX

    22/74

    o /etc/ssh /etc/ssh/ssh_config

    Y estando posicionados sobre el directorio/etc/sshqueremos hacer referencia al archivo/etc/mail/sendmail.cf, se puede escribir: ../ mail/sendmail.cf, otro ejemplo con la misma estructurapuede ser: estando sobre/etc/sshse desea hacer referencia al archivo/etc/ssh/ssh_config, por

    lo cual de forma relativa la ruta sera ./ssh_config. Cabe aclarar las convenciones utilizadas enestas rutas:

    . Directorio actual. .. Directorio superior o padre. ~ Directorio homedel usuario.

    D. Cambiando de directorio

    Para poder cambiarnos entre directorios es necesario utilizar el comando cd change directoryde Unix, y para saber en que directorio nos encontramos en ese momento se utiliza el comando

    pwd present work directory a continuacin mostramos algunos ejemplos de uso.

    Para entrar a un directorio la sintaxis es:

    cd nombre-directorio

    Ejemplo:

    [email protected]% pwd/home/guest/[email protected]% cd [email protected]% pwd/home/guest/edelacru/ejercicios

    Para salir del directorio actual al directorio inmediato superior se utiliza el comando cd y lossmbolos de puntuacin ...

    Ejemplo:

    [email protected]% pwd/home/guest/edelacru/[email protected]% cd [email protected]% pwd/home/guest/[email protected]%

    Para cambiar a niveles mas profundos de directorios es posible hacerlo uno por uno o hacerloen un solo comando cd mediante incluir la ruta completa a ese directorio, como se muestra enel siguiente ejemplo:

    [email protected]% pwd/home/guest/[email protected]% cd directorio1/[email protected]% pwd/home/guest/edelacru/directorio1/[email protected]%

  • 8/4/2019 Referencia UNIX

    23/74

    Para regresar al directorio home o casa del usuario es suficiente teclear el comando cd sinparmetros, como se muestra en el siguiente ejemplo:

    [email protected]% pwd/home/guest/edelacru/directorio1/[email protected]% [email protected]% pwd

    /home/guest/[email protected]%

    Viendo el contenido de archivos ordinarios

    A. Viendo archivos ordinarios

    Cuando se trata de ver el contenido de archivos ordinarios en Unix es posible utilizar algunoscomandos de Unix, tales como: cat, more y el programa editor de texto vi.

    Ejemplos :

    [email protected]% cat archivo1.txtEste es un archivo de texto para poder probar las capacidades de los comandos "cat" , "more" y "vi".

    esperamos que este ejemplo les sea util.

    gracias por su atencion.

    Agregando texto para poder utilizar el comando "more".

    sfdfsdfsdfsfsdfsdfsdffxvxvxvcvxvvxvxcvcvxvxvxcvxcrewrewrewrerewrewrewrewewr12345678901234567890

    abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ111111111111111111111111111112222222222222222222222222222222333333333333333333333333333333333334444444444444444444444444444444444444444444555555555555555555555555555555555555555555555555666666666666666666666666666666666666666666666666666666666677777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888999999999999999999999999999999999999999999999999999999999999999999999999999990000000000000000000000000000000000000000000000000000000000000000000000000000000aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc

    dddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn

  • 8/4/2019 Referencia UNIX

    24/74

    oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooopppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppedelacru@m-net.arbornet.org%

    Como se pudo observar el comando cat mostr el contenido completo del archivo archivo1.txtde una sola vez, en un monitor normal no hubiera dado oportunidad de leer el principio delarchivo, para evitar eso podemos usar el comando more como se muestra en el siguienteejemplo:

    [email protected]% more archivo1.txtEste es un archivo de texto para poder probar las capacidades de los comandos "cat" , " more" y "vi".

    esperamos que este ejemplo les sea util.

    gracias por su atencion.

    Agregando texto para poder utilizar el comando "more".

    sfdfsdfsdfsfsdfsdfsdffxvxvxvcvxvvxvxcvcvxvxvxcvxc

    rewrewrewrerewrewrewrewewr12345678901234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ111111111111111111111111111112222222222222222222222222222222333333333333333333333333333333333334444444444444444444444444444444444444444444555555555555555555555555555555555555555555555555666666666666666666666666666666666666666666666666666666666677777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888- More -

    Presionamos la barra espaciadora para continuar viendo el contenido del archivo.

    4444444444444444444444444444444444444444444555555555555555555555555555555555555555555555555666666666666666666666666666666666666666666666666666666666677777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888999999999999999999999999999999999999999999999999999999999999999999999999999990000000000000000000000000000000000000000000000000000000000000000000000000000000aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccdddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff

    gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooopppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppedelacru@m-net.arbornet.org%

  • 8/4/2019 Referencia UNIX

    25/74

    Tambin es posible ver un archivo de texto ASCII ordinario en Unix con un editor de texto comoel programa vi, a continuacin se muestra un ejemplo.

    [email protected]% vi archivo1.txt

    Este es un archivo de texto para poder probar las capacidades de los comandos "cat" , " more" y "vi".

    esperamos que este ejemplo les sea util.

    gracias por su atencion.

    Agregando texto para poder utilizar el comando "more".

    sfdfsdfsdfsfsdfsdfsdffxvxvxvcvxvvxvxcvcvxvxvxcvxcrewrewrewrerewrewrewrewewr12345678901234567890abcdefghijklmnopqrstuvwxyz

    ABCDEFGHIJKLMNOPQRSTUVWXYZ111111111111111111111111111112222222222222222222222222222222333333333333333333333333333333333334444444444444444444444444444444444444444444555555555555555555555555555555555555555555555555666666666666666666666666666666666666666666666666666666666677777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888archivo1.txt: unmodified: line 1

    Para salir del editor tecleamos 2 veces la tecla [Esc] y luego dos puntos :, posteriormente seteclea el comando q para salir del editor, como se muestra a continuacin.

    at" , " more" y "vi".

    esperamos que este ejemplo les sea util.

    gracias por su atencion.

    Agregando texto para poder utilizar el comando "more".

    sfdfsdfsdfsfsdfsdfsdffxvxvxvcvxvvxvxcvcvxvxvxcvxcrewrewrewrerewrewrewrewewr12345678901234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ11111111111111111111111111111

    2222222222222222222222222222222333333333333333333333333333333333334444444444444444444444444444444444444444444555555555555555555555555555555555555555555555555666666666666666666666666666666666666666666666666666666666677777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888:[email protected]%

  • 8/4/2019 Referencia UNIX

    26/74

    B. Viendo archivos de datos especiales

    Para ver archivos de datos especiales es necesario utilizar el programa correspondiente al tipode archivo, por ejemplo los archivos que contienen los manuales de cada comando en un

    sistema Unix tienen un formato especial que no es fcilmente legible con comandos como elmore o el cat, para ello se utiliza el comando man que lee los archivos e interpreta loscaracteres especiales antes de mostrarlos en pantalla.

    Lo mismo aplica en el caso de archivos empacados y compactados con extensiones tipo .tar,.tar.z, .zip aqu se utilizan los comandos tar y unzip respectivamente, veremos ejemplos deestos comandos mas adelante.

    Organizando archivos

    A. Creando directorios

    Para crear un directorio se utiliza el comando mkdir la sintaxis de este comando es:

    mkdir nombre_directorio

    Ejemplo:

    [email protected]% ls -ltotal 645-rw-r--r-- 1 edelacru guest 5 Feb 16 10:46 archivo.txt-rw-r--r-- 1 edelacru guest 1958 Feb 16 20:02 archivo1.txtdrwxr-xr-x 3 edelacru guest 512 Feb 16 19:39 directorio1drwxr-xr-x 2 edelacru guest 512 Feb 16 18:05 ejercicios-rw-r--r-- 1 edelacru guest 646122 Feb 16 19:55 [email protected]% mkdir [email protected]% ls -ltotal 646-rw-r--r-- 1 edelacru guest 5 Feb 16 10:46 archivo.txt-rw-r--r-- 1 edelacru guest 1958 Feb 16 20:02 archivo1.txtdrwxr-xr-x 3 edelacru guest 512 Feb 16 19:39 directorio1drwxr-xr-x 2 edelacru guest 512 Feb 16 18:05 ejercicios-rw-r--r-- 1 edelacru guest 646122 Feb 16 19:55 passwd

    drwxr-xr-x 2 edelacru guest 512 Feb 16 20:22 practicas nuestro [email protected]%

    B. Copiando archivos

    Entre las operaciones mas comunes en Unix esta la del copiado de archivos, el comando pararealizar esta opercin se llama cp la sintaxis de uso es:

    cp archivo_original archivo_copia

  • 8/4/2019 Referencia UNIX

    27/74

    Ejemplo:

    [email protected]% lsarchivo.txt directorio1 passwdarchivo1.txt ejercicios [email protected]% cp archivo1.txt [email protected]% ls

    archivo.txt directorio1 practicasarchivo1.txt ejerciciosarchivo1.txt.respaldo [email protected]%

    C. Moviendo y renombrando archivos

    El renombrado y movimiento de archivos es otra actividad comn, para ello se utiliza el comandomv, la sintaxis de este comando es:

    mv [opcin]... origen... destino directorio

    A continuacin se muestra un ejemplo que mueve de lugar un archivo de un directorio a otro:[email protected]% lsarchivo.txt directorio1 practicas

    archivo1.txt ejerciciosarchivo1.txt.respaldo passwd

    [email protected]% mv archivo1.txt /home/guest/edelacru/[email protected]% lsarchivo.txt directorio1 passwd

    archivo1.txt.respaldo ejercicios practicas

    [email protected]% cd directorio1

    [email protected]% lsarchivo1.txt [email protected]%

    Ahora mostraremos como se cambia de nombre un archivo:

    [email protected]% lsarchivo1.txt directorio2

    [email protected]% mv archivo1.txt [email protected]% ls

    archivo_del_texto [email protected]%

    D. Creando ligas suaves y simblicas a un archivo

    Los enlaces o ligas son una gran utilidad que nos proveen los sistemas Unix, como se mencionanteriormente, estos pueden ser de dos tipos: duros o simblicos.

    Enlaces durosUn enlace duro es un tipo especial de archivo que pudiendo estar en diferentes directorios hacereferencia a otro archivo (realmente al nodo-i, es decir a su ubicacin fsica en el disco), con locual podemos tener el mismo archivo en diferentes lugares pero sin tener que mal gastar el

  • 8/4/2019 Referencia UNIX

    28/74

    espacio en disco, para la creacin de un enlace duro se utiliza la sencilla instruccin ln (link),cuya sintaxis es:

    ln origen ... [enlace] o ln origen ... directorio

    Como se puede ver crear un enlace es bastante sencillo, basta con escribir cada uno de los

    archivos a los que se les desea crear el enlace y un directorio, cuando se desea crear un enlaceslo a un archivo se puede utilizar como ltimo parmetro el nombre y/o ruta que va a tener elnuevo enlace, cuando se omite este parmetro se crea un enlace con el mismo nombre delarchivo origen en el directorio de trabajo actual.

    Enlaces simblicosLos enlaces simblicos son una alternativa bastante til respecto a los enlaces duros, enespecial cuando es necesario hacer enlaces de directorios ya que no es posible hacer enlacesduros de directorios, un enlace simblico se crea utilizando la siguiente sintaxis:

    ln -s origen ... [enlace]

    Cuando se desea crear enlaces a varios directorios o archivos es necesario que el ltimoparmetro sea un directorio o que este se encuentre en blanco, con esto se crearan los enlacescon el mismo nombre que el original en el directorio seleccionado (o en el directorio actual,segn el caso), si se desea cambiar el nombre de un enlace cuando es creado no es posiblecrear simultneamente varios.

    E. Expansin de nombres de archivos (comodines)

    Muchas veces el usar los nombre completos de archivos para ciertas operaciones como copiar oeliminar archivos consume mucho tiempo los expansores de nombres juegan un papel crucial, elsmbolo que se utiliza es el asterisco *.

    Ejemplos de uso de los comodines:

    Enlista los archivos que empiecen con la cadena arch:

    [email protected]% ls -la arch*

    -rw-r--r-- 1 edelacru guest 5 Feb 16 10:46 archivo.txt-rw-r--r-- 1 edelacru guest 1958 Feb 16 20:25 [email protected]%

    Copia los archivos que empiecen con la cadena arch al directorio ejercicios:

    [email protected]% ls

    archivo.txt directorio1 passwdarchivo1.txt.respaldo ejercicios [email protected]% cp arch* ejercicios

    [email protected]% cd [email protected]% lsarchivo.txt archivo1.txt.respaldo

    [email protected]%

    Elimina los archivos que empiecen con la cadena arch del directorio actual:

  • 8/4/2019 Referencia UNIX

    29/74

    [email protected]% ls

    archivo.txt directorio1 passwdarchivo1.txt.respaldo ejercicios practicas

    [email protected]% rm arch*[email protected]% lsdirectorio1 ejercicios passwd practicas

    [email protected]%

    F. Borrando archivos y directorios

    Para borrar un archivo se utiliza el comando rm, la sintaxis de este comando es:

    rm nombre_archivo

    Ejemplo:

    [email protected]% lsarchivo.txt directorio1 passwd

    archivo1.txt.respaldo ejercicios practicas

    [email protected]% rm [email protected]% ls

    archivo1.txt.respaldo ejercicios practicasdirectorio1 passwd

    [email protected]%

    Para borrar un directorio este debe estar vacio primero de lo contrario se mostrar un error alintentar borrarlo, el comando para borrar directorios es el rmdir

    [email protected] %lsarchivo.txt file

    archivo1.txt lista_de_usuarios_conectadosarchivo1.txt.respaldo mensaje

    archivo_del_texto passwddirectorio1 practicaseditor.txt respaldo.tar.z

    [email protected] %rmdir directorio1rmdir: directorio1: Directory not empty

    [email protected] %

    Cuando el directorio esta vaco entonces s es posible borrarlo sin problema.

    [email protected] %ls

    archivo.txt filearchivo1.txt lista_de_usuarios_conectados

    archivo1.txt.respaldo mensaje

    archivo_del_texto passwddirectorio1 practicas

    editor.txt respaldo.tar.zejercicios

    [email protected] %rmdir [email protected] %lsarchivo.txt file

    archivo1.txt lista_de_usuarios_conectadosarchivo1.txt.respaldo mensaje

  • 8/4/2019 Referencia UNIX

    30/74

    archivo_del_texto passwd

    editor.txt practicasejercicios respaldo.tar.z

    [email protected] %

    Trabajando con archivos

    A. Encontrando archivos en el sistema de archivos

    Para poder encontrar un archivo dentro del sistema de jerrquico de archivos en Unix se utilizael comando find su sintaxis es como sigue:

    find [directorio donde buscar] -name "nombre_archivo" -print

    Ejemplo:

    [email protected]% find /etc -name "passwd" -print/etc/passwd

    /etc/etc-oldsystem/passwd

    [email protected]%

    Nota. Para que las bsquedas completas en Unix tengan buen resultado se recomiendahacerlas con los privilegios del usuario root, de lo contrario la bsqueda puede verse truncadapara un usuario con privilegios limitados.

    B. Encontrando cadenas de texto dentro de archivos

    Para encontrar una cadena de texto en un archivo de texto ASCII se utiliza el comando grepSu sintaxis es como sigue:

    grep cadena archivo

    Ejemplo, buscaremos la cadena util dentro de un archivo de texto:

    [email protected]% grep util archivo_del_textoesperamos que este ejemplo les sea util.Agregando texto para poder utilizar el comando "more".

    [email protected]%

    Nos arroj dos resultados.

    C. Comparando datos entre archivos

    Para comparar datos entre archivos se utilizan los comandos diff y cmp la sintaxis de estoscomandos es la siguiente:

    diff -s archivo1 archivo2

    cmp archivo1 archivo2

  • 8/4/2019 Referencia UNIX

    31/74

    Ejemplo de comparacin de archivos:

    [email protected]% diff -s archivo1.txt archivo_del_texto

    9c9< sfdfsdfsdfsfsdfsdfsd

    ---

    > [email protected]%

    Otro ejemplo:

    [email protected]% cmp archivo1.txt archivo_del_textoarchivo1.txt archivo_del_texto differ: char 250, line 9

    [email protected]%

    D. Empaquetando archivos

    El proceso de empacar archivos se utiliza en Unix con fines de respaldar la informacin para ellose utiliza el comando tar la sintaxis del comando tar es de la siguiente manera:

    tar [cxfvz] archivo.tar.z archivo1 archivo2 archivoN

    A continuacin mostraremos ejemplos de cmo crear un archivo de respaldo .tar.z y comorestaurar la informacin.

    Ejemplo:

    [email protected]% ls

    archivo.txt archivo_del_texto passwdarchivo1.txt directorio1 practicas

    archivo1.txt.respaldo [email protected]% tar cvfz respaldo.tar.z *

    archivo.txtarchivo1.txtarchivo1.txt.respaldo

    archivo_del_textodirectorio1/directorio1/directorio2/

    directorio1/archivo_del_textoejercicios/

    ejercicios/archivo1.txt.respaldo

    ejercicios/archivo.txtpasswd

    practicas/[email protected]%

    Ejemplo para descompactar respaldo:

    [email protected]% lsrespaldo.tar.z

    [email protected]% tar xzvf respaldo.tar.z

    archivo.txtarchivo1.txt

    archivo1.txt.respaldoarchivo_del_texto

  • 8/4/2019 Referencia UNIX

    32/74

    directorio1/

    directorio1/directorio2/directorio1/archivo_del_texto

    ejercicios/ejercicios/archivo1.txt.respaldoejercicios/archivo.txt

    passwd

    practicas/[email protected]% lsarchivo.txt archivo_del_texto passwd

    archivo1.txt directorio1 practicas

    archivo1.txt.respaldo ejercicios [email protected]%

    5. Proteccin de archivos

    Como se mencion anteriormente existen niveles de seguridad en Unix y uno de ellos esprecisamente el de los permisos que tiene cada archivo del sistema Unix, los archivos tienen los

    siguientes atributos: r (lectura), w (escritura), x(ejecucin) en nivel de usuario dueo, grupo alque pertenece el usuario y los permisos para los dems usuarios del sistema.

    Permisos de niveles de usuario

    A. El dueo de un archivo

    El dueo de un archivo puede hacer lo que desee con el mismo, puede modificarlo y hastaborrarlo, es posible manipular quien es el dueo de un archivo mediante el comando chown.

    Ejemplo:

    chown /home/guest/edelacru/archivo1 mrodrigue

    Ahora el archivo1 tiene como dueo al usuario mrodrigu

    B. Permisos de acceso

    Los permisos de acceso de un archivo estn representados de la siguiente manera:

    Permisos

    -rw-r--r-- 1 edelacru guest 1956 Feb 16 23:26 archivo1.txt

    Los permisos estan distribuidos de la siguente forma:

    -rwx rwx rwx

    Donde:

    r permiso de lecturaw permiso de escriturax permiso de ejecucin.

  • 8/4/2019 Referencia UNIX

    33/74

    Existen tres grupos de permisos que en el orden de costumbre de izquierda a derechacorresponden a los permisos de: usuario, grupo del usuario, todos los dems usuarios delsistema.

    De esto se desprende que el archivo anterior que tiene permisos de lectura y escritura para el

    usuario, permisos de solo lectura para el grupo del usuario y permisos de solo lectura para elresto de los usuarios del sistema.

    Para cambiar los permisos existe el comando chmod que puede funcionar de dos formas, laprimera es de forma simblica y la segunda numrica.

    Dentro de forma simblica se usan las siguientes abreviaturas:

    u - usuario g - grupo o - otros a - todos

    r - lectura w - escritura x - ejecucin

    = - igual a + - aade - - resta

    Cambiemos los permisos para que todos puedan leer nicamente:

    [email protected]% chmod a=r archivo.txt

    [email protected]% ls -l archivo.txt-r--r--r-- 1 edelacru guest 1209 Dec 9 15:56 archivo.txt

    o para que todos puedan tambin modificar y ejecutar:

    [email protected]%chmod ugo+wx [email protected]%ls -l archivo.txt

    -rwxrwxrwx 1 edelacru guest 1209 Dec 9 15:56 archivo.txt*

    aqu se quitan los permisos de escritura y ejecucin para el grupo y otros, quedando solo el delectura:

    [email protected]% chmod go-wx archivo.txt

    [email protected]% ls -l archivo.txt

    -rwxr--r-- 1 edelacru guest 1209 Dec 9 15:56archivo.txt*

    La otra manera de usar el comando es con la ayuda de lo siguiente.A cada posicin de "rwx" sele relaciona un binario, dependiendo de cual posicin este en uso, dando como resultado un

    nmero:

    BINARIO DECIMALr w x

    ______________________________________________

    0 0 1 1

    0 1 0 2

    1 0 0 4

  • 8/4/2019 Referencia UNIX

    34/74

    Para definir los permisos, solo se realizaran las sumas correspondientes a cada divisin,ejemplos:

    Veamos los permisos de nuestro archivo de prueba:

    [email protected]% ls -l archivo1.txt

    -rw-r--r-- 1 edelacru guest 270 Apr 8 12:30 archivo1.txt

    Definamos para "ugo" permisos de lectura (4) nicamente:

    [email protected]% chmod 444 archivo1.txt

    [email protected]% ls -l archivo1.txt-r--r--r-- 1 edelacru guest 270 Apr 8 12:30 archivo1.txt

    Definamos permisos de "rwx" para el usuario y de "rx" para el grupo y otros, respectivamente:

    u (rwx) = 4 + 2 + 1 = 7o,g (r-x) = 4 + 1 = 5

    [email protected]% chmod 755 archivo1.txt

    [email protected]%ls -l archivo1.txt-rwxr-xr-x 1 edelacru guest 270 Apr 8 12:30 archivo1.txt

    C. Permisos por omisin

    Los permisos por omisin se dan en el momento de la creacin del archivo, estos se danmediante la instruccin umask que se encuentra en el archivo de configuracin del usuario(ejemplo el archivo .cshrc) un valor comn para los permisos de creacin de archivos es el

    siguiente:

    umask 022 que equivale a chmod 644

  • 8/4/2019 Referencia UNIX

    35/74

    6. Edicin de texto es UNIX.

    Editores de texto en UNIX

    Existen diversos editores de texto en Unix, sin embargo hay uno que es universal para todas lasversiones de Unix comerciales as como para todas las versiones de Sistemas tipo Unix como

    Linux y BSD, este editor es el vi o visual editor.

    Usando vi

    A. Invocando a vi

    El modo de iniciar el programa vi es mediante teclear el nombre vi directamentedesde el prompt de Unix, Ejemplo:

    [email protected]% vi

    ~

    ~~

    ~~~

    ~

    ~

    ~~~

    ~~

    ~~

    ~~~

    ~~

    ~

    ~/tmp/vi.XU5Z27DaMW: new file: line 1

    B. Salvando y saliendo de vi

    El modo de salvar el texto en el vi es mediante combinaciones de la tecla [Esc] y otroscomandos de una o dos letras tales como (escribir)w (grabar y salir)x (smbolo de admiracin

    que obliga a salir sin preguntar nada mas)!.

    Supongamos que tenemos el siguiente texto en el editor y queremos salir y guardar lo queescribimos en un archivo, entonces se hara de la siguiente manera.

  • 8/4/2019 Referencia UNIX

    36/74

    Este es un documento de prueba del editor VI.

    esperamos que sea de su agrado.

    Eric.~

    ~

    ~~~

    ~

    ~~

    ~~~

    ~~

    ~~

    ~~~

    :w editor.txt

    Y ahora podemos salir del editor vi con tranquilidad.

    esperamos que sea de su agrado.

    Eric.

    ~~

    ~~~

    ~

    ~

    ~~~

    ~~

    ~~~

    ~

    ~~:q!

    [email protected]%

  • 8/4/2019 Referencia UNIX

    37/74

    C. Editando texto

    El editor vi es un editor de pantalla y esta siempre en modo comando, por ejemplo para iniciar laescritura de un texto se requiere dar una instruccin para que el editor pase a modo edicin ydarle otra instruccin para salir de dicho modo.

    Los comandos ms comunes y de gran utilidad son:

    Entrar a modo edicin

    Antes del cursor

    i

    Despus del cursor

    aAl principio de la lnea

    I

    Al final de la lnea

    A

    Abre nueva lnea abajo del cursor

    o

    Abre nueva lnea arriba del cursor

    O

  • 8/4/2019 Referencia UNIX

    38/74

    Borrar

    Una palabra

    dw

    Una lnea

    dd

    Hasta el final de la lnea

    D

    El carcter donde esta el cursor

    x

    Movimiento del cursor

    Por medio de las flechas del teclado

    A la derecha

    l

    A la izquierda

    h

    Siguiente lnea

    j

    Lnea anterior

    k

    Final de la lnea

    $

    Principio de la lnea

    0

  • 8/4/2019 Referencia UNIX

    39/74

    Siguiente palabra

    w

    Al final de la palabra

    e

    Al inicio de la palabra previa

    b

    Primera lnea dentro de la pantalla

    H

    Ultima lnea dentro de la pantalla

    L

    Lnea intermedia en la pantalla

    M

    Salta a la lnea "n"

    nG

    Salta a la ltima lnea

    0G

    Movimiento de pantalla

    Media pantalla hacia adelante

    [Ctrl]D

    Media pantalla hacia atrs

    [Ctrl]U

    Pantalla siguiente

    [Ctrl]F

  • 8/4/2019 Referencia UNIX

    40/74

    Pantalla anterior

    [Ctrl]B

    Una lnea abajo

    [Ctrl]E

    Una lnea arriba

    [Ctrl]Y

    Re dibuja la pantalla

    [Ctrl]L

    D. Copiando y moviendo texto

    Los comandos para copiar y mover texto son:

    Copia la lnea en la que esta el cursor.

    yy

    Pega la lnea copiada despus de lnea en la que esta el cursor

    p

    Cambiar texto

    Una palabra

    cw

    Una lnea

    cc

    Hasta el final de la lnea

    C

    Sustituye "n" caracteres

    ns

  • 8/4/2019 Referencia UNIX

    41/74

    (Los anteriores comandos entran a modo edicin por lo que es necesario dar [Esc] para salir dedicho modo)

    El carcter corriente

    r

    E. Comandos especiales

    Otras funciones

    Deshacer comando previo

    u

    Deshacer cambios en toda la lnea

    U

    Busca una palabra hacia adelante

    /cadena

    Busca una palabra hacia atrs

    ?cadena

    Siguiente ocurrencia

    n

    Repetir la ultima accin

    .

    Escribir a archivo y salir del editor

    ZZ

    Cancelar una orden

    [Esc]

    Reescribe la pantalla

    [Ctrl]L

  • 8/4/2019 Referencia UNIX

    42/74

    Desde el editor vi se puede usar un editor de lnea que tiene algunas facilidades para repetir deforma automtica una serie de instrucciones. Para tener acceso a este editor de lnea, estandoel editor en espera de un comando se le da ":"

    Personalizando vi

    Opciones en VI

    Usted puede personalizar el VI antes de comenzar y despus de comenzar tambin.

    autoindent (ai)

    Esta opcin hace que las lneas siguientes a una dada tengan su misma tabulacin. Si quierevolver a la tabulacin anterior, no tiene ms que pulsar ^D en la posicin del primer carcter. Laorden ^D funciona slo en el modo insertar, no en modo comando. Tambin es posibledeterminar la anchura de las tabulaciones mediante la opcin shiftwidth, descrita ms abajo.

    exrc

    El archivo .exrcdel directorio actual es ledo al comenzar una sesin. ste debe encontrarse enla variable de entorno EXINIT o en el archivo .exrc, en su directorio personal.

    mesg

    Desactive esta opcin mediante :set nomesg, si no quiere que aparezca ningn mensaje enpantalla.

    number (nu)

    Muestra el nmero de lnea en el margen izquierdo.

    shiftwidth (sw)

    Esta opcin requiere que se le asigne un valor, y determina la anchura de las tabulaciones(rdenes >). Por ejemplo, para que la tabulacin sea de cuatro espacios escribir losiguiente :set sw=4.

    showmode (smd)

    Esta opcin sirve para mostrar el modo actual del editor. Si se encuentra en el modo insertar, enla ltima lnea de la pantallas aparecer INPUT MODE.

    warn

    Esta opcin le avisa si ha modificado el archivo pero todava no lo ha guardado.

  • 8/4/2019 Referencia UNIX

    43/74

    window (wi)

    Esta opcin determina el nmero de lneas que VI usar en pantalla. Por ejemplo, para hacerque VI utilice nicamente 12 lneas de su pantalla (si su modem es lento), indicara lo siguiente::set wi=12.

    wrapscan (ws)

    Esta opcin afecta al comportamiento de la bsqueda de palabras. Cuando wrapscan estactivado, si no se encuentra la palabra al llegar al final del archivo, tratar de buscarla desde elcomienzo.

    wrapmargin (wm)

    Si esta opcin tiene un valor mayor que cero, se activar el retorno manual. Es decir, si alcanzael nmero de espacios indicados a partir del extremo derecho de la pantalla, la palabra pasar ala lnea siguiente sin necesidad de pulsar Enter. Por ejemplo, para mantener un margenderecho de dos espacios, tendra que dar la orden: :set wm=2.

    Abreviaturas y cambio de funcin de las teclas

    Una orden de utilidad en VI es la orden ab (abreviatura). Esto le permite asignar abreviaturas adeterminadas secuencias de caracteres. La orden tiene la siguiente forma :

    ab .

    Por ejemplo, si tuviera que escribir la palabra "Humuhumunukunukuapua`a ", pero no quisieratener siempre que teclearla entera, podra usar una abreviatura.

    En este caso, podra introducir una orden como la siguiente:

    :ab 9u Humuhumunukunukuapua`a

    As, siempre que pulse 9u separadamente, VI escribir la palabra completa. Eso no suceder siusted teclea 9universidad, por ejemplo.

    Para borrar una abreviatura previamente definida, utilizar la orden nabbreviate' (desabreviar).En el caso del ejemplo anterior, la orden sera ":una 9u". Para obtener un listado de las

    abreviaturas que ha definido, teclee simplemente

    :ab

    sin nada detrs.

    Otra orden del editor EX que es til para personalizar el VI es la que sirve para cambiar lafuncin de las teclas. La hay de dos tipos: una para el modo comando y otra para el modoinsertar. Estas dos rdenes son :map y :map!, respectivamente. Su funcionamiento es similar al

  • 8/4/2019 Referencia UNIX

    44/74

    de las abreviaturas: se pulsa una secuencia de teclas, y continuacin otra secuencia de teclasque debe sustituir a la anterior. (Por lo general, las secuencias de teclas sustituidas son rdenesde VI.)

    A. Definiendo opciones interactivamente

    La forma de definir opciones de manera interactiva es mediante usar comandos directamente enel editor VI, utilizando los comandos mencionados anteriormente.

    B. Definiendo opciones automticamente

    La variable de entorno EXINIT y el archivo .exrc

    Existen dos formas de personalizar el editor VI. Si crea un archivo de nombre .exrc en sudirectorio personal, todas las rdenes ah especificadas sern ledas al arrancar el editor VI. Elotro mtodo consiste en crear una variable de entorno denominada EXINIT. Las opciones segrabarn el archivo de configuracin de su shell. Si utiliza el shell C (/bin/csh), la orden, que segrabar en el archivo .cshrces la siguiente:

    setenv EXINIT '...'

    Si utiliza /bin/sh o /bin/ksh, la orden. que se grabar en el archivo the .profile, ser la siguiente:

    export EXINIT

    EXINIT='...'

    No ponga ... como en el ejemplo. En ese lugar deber poner las rdenes que desea activar. Porejemplo, si quiere tabulacin automtica, numeracin de lneas y un margen derecho de trescaracteres, en tal caso la orden setenvdeber aparecer (para el shell C) como sigue:

    setenv EXINIT 'set ai nu wm=3'

    Si quiere poner ms de una orden en el setenv EXINIT, seprelas por medio de una barravertical (|). Por ejemplo, para hacer que el carcter 'G' haga las veces de la orden '/g' en el modocomando, tendr que escribir :map g G, lo que combinado con la instruccin anterior sera:

    setenv EXINIT 'set ai nu wm=3|map g G'

    Si desea crear el archivo .exrc, puede escribir ah exactamente lo mismo que se ha mostradoentre comillas, tras el EXINIT.

    C. Opciones del comando set

    Hay varias opciones de edicin, disponibles utilizando la orden :set. Las opciones de los editoresVI son las siguientes (puede obtener una lista completa tecleando :set all y Enter, dentro delmodo comando):

  • 8/4/2019 Referencia UNIX

    45/74

    noautoindent magic noshowmatch

    autoprint mesg noshowmode

    noautowrite nomodelines noslowopen

    nobeautify nonumber tabstop=8

    directory=/tmp nonovice taglength=0

    nodoubleescape nooptimize tags=tags

    /usr/lib/tagsnoedcompatible paragraphs=IPLPPPQPP LIpplpipnpbp term=xterm

    noerrorbells prompt noterse

    noexrc noreadonly timeout

    flash redraw timeoutlen=500

    hardtabs=8 remap ttytype=xterm

    noignorecase report=5 warn

    keyboardedit scroll=11 window=23

    keyboardedit! sections=NHSHH HUuhsh+c wrapscan

    nolisp shell=/bin/csh wrapmargin=0

    nolist shiftwidth=8 nowriteany

    A algunas de estas opciones se les pueden asignar valores con el signo '=', mientras que otrassimplemente estn activadas o desactivadas. (Estas opciones de tipo on - off se denominanbooleanas, y, para indicar que no estn activadas, llevan un "no" delante.) Las opcionesmostradas aqu son las que se tienen por defecto, sin personalizar. A continuacin describimosalgunas de ellas, aadiendo sus abreviaturas. Por ejemplo, en el caso de la orden setautoindent, puede teclear :set autoindent, o bien :set ai. Y para desactivarla :set noautoindent o:set noai.

    7. Impresin

    En el rea de redes es comn tiene impresoras lser B/N e impresoras de color. Todas lasimpresoras tipo laser manejan el formato PostScript, adems las impresoras de inyeccin detinta tipo HP manejan el PCL y la de color Xerox soporta JPEG, GIF, TIFF y Rasterfile.

    Los comandos bsicos de impresin bajo Unix son:

    lp Imprime archivos

    lpstat Muestra el estado de las impresoras

    cancel Cancela la impresin

    Para ver el estado de las impresoras dentro del sistema de red se usa "lpstat" con el parmetro"-t" (o el alias "lpq"), este comando dir si se esta corriendo el demonio de impresin, laimpresora de default para esa mquina, las impresoras que se tienen acceso, el estado de cadauna de ellas y la cola de impresin.

  • 8/4/2019 Referencia UNIX

    46/74

    [email protected]% lpstat -t

    scheduler is running

    system default destination: lw

    device for lwc0: /dev/bpp0system for lw: citlalisystem for lw3: mixtli

    system for lw4: tozanisystem for lwc1: citlali

    system for lw1: mixtlilwc0 accepting requests since Thu May 23 15:12:50 CST 1996lw accepting requests since Mon Nov 4 09:35:23 CST 1996

    lw3 accepting requests since Mon Nov 25 10:29:44 CST 1996lw4 accepting requests since Mon Nov 4 09:36:03 CST 1996

    lwc1 accepting requests since Mon Nov 4 09:36:45 CST 1996lw1 accepting requests since Wed Nov 27 10:32:11 CST 1996

    printer lwc0 is idle. enabled since Tue Dec 31 11:55:25 CST 1996. available.

    printer lw4 is idle. enabled since Mon Nov 4 09:36:03 CST 1996. available.printer lw is idle. enabled since Mon Nov 4 09:35:23 CST 1996. available.

    printer lwc1 is idle. enabled since Mon Nov 4 09:36:45 CST 1996. available.

    printer lw1 is idle. enabled since Wed Nov 27 10:32:11 CST 1996. available.printer lw3 now printing lw3-370. enabled since Mon Nov 25 10:29:44 CST 1996.

    available.character set

    lw3-370 choloani!jpp 1618466 Feb 03 13:02 on lw3

    Para usar una impresora en particular se usa la opcin "-dImpresora" del comando "lp"

    [email protected]% lp -dlw1 carra.ps

    request id is lw1-3356 (1 file(s))

    Veamos su estado:

    [email protected]% lpstat -t

    . . .system for lw1: mixtlilw1 accepting requests since Wed Nov 27 10:32:11 CST 1996

    printer lw1 now printing lw1-3356. enabled since Wed Nov 27 10:32:11 CST 1996.available.

    lw3-370 choloani!jpp 1618466 Feb 03 13:02 on lw3lw1-3356 m-net!edelacru 203173 Feb 03 13:02 on lw1

    Si queremos cancelar la impresin se usa el comando "cancel" y el nmero de trabajo.

    [email protected]% cancel lw1-3356request "lw1-3356" cancelled

    Adems la impresora enviar un mensaje en papel con lo siguiente:

    ############### Job lw1-3356

    ##### suspended or canceled#####

    #####

  • 8/4/2019 Referencia UNIX

    47/74

    Preparando archivos para imprimir

    Hay que tomar en cuenta que la mayor parte de los archivos que se imprimen no requieren deun formateo especial previo ya que generalmente se trata de archivos postscript o imgenes jpgo bmp o raster.

    Sin embargo es importante decir que por ejemplo si se desea imprimir una pgina de un manualde un comando de Unix con el comando man es necesario hacer algunas cosas antes demandar a imprimir dicho archivo.

    A. Caractersticas de formateo de la impresora

    En Unix se mandan los archivos de texto sin modificar directamente a la impresora, si se deseadar algun formato en particular es necesario utilizar algun comando previo por ejemplo: prpermite poner un encabezado a un trabajo de impresin por ejemplo:

    puede personalizarse la cabecera, colocando un mensaje en particular. Para ello se emplea el

    parmetro -h. Ejemplo: en el archivo anterior, colocar el mensaje Invitacin:[email protected]%pr -h "Invitacin" carta | lp

    Las primeras lneas lucen as:

    Feb 13 10:18 1995 Invitacion Page 1Estimado seor Lopez:

    estamos organizando una reunin para tratarasuntos de inters para su empresa, la cualse llevar a cabo......

    B. Imprimiendo archivos de datos especiales

    Ejemplo de un archivo de un manual de comando que requiere preformateo

    Si lo que se quiere es imprimir en un archivo, se debe de hacer lo siguiente:

    $ man -d comando

    Saldrn muchas cosas, pero qudate solo con la lnea que dice "tbl /usr/man..."Entonces has de copiarla pero poniendo "col -b" en lugar de "col -x".

    Ejemplo:

    $ man -d ls

    [...]formatted = /usr/man/cat1/ls.1cd /usr/man; tbl /usr/man/man1/ls.1 |nroff -u0 -Tlp -man - | col -x ...[...]

  • 8/4/2019 Referencia UNIX

    48/74

    Entonces lo que has de poner ser

    Si lo que quieres es imprimirlo directamente por la impresora puedes hacerlo con el "a2ps":El programa a2ps transorma un archivo de texto ASCII a un archivo PostScript.

    $ man comando | a2ps -m - Pplis2a

    8. Manejo de la entrada y salida de un comando

    Entrada estndar

    La entrada estandar de un comando normalmente es el teclado.

    Ejemplo de entrada estandar para el comando mail.

    [email protected]%mail [email protected]: SaludosMensaje de prueba.adios.

    .EOT

    [email protected]%

    Todos los datos fueron introducidos desde el teclado.

    Salida estndar

    La salida estandar de un comando normalmente es la pantalla de la computadora.

    Ejemplo de salida estandar para el comando finger.

    [email protected]% fingerLogin Name TTY Idle Login Time Office Phone brett Andi Brett *p3 20 Thu 02:11

    broggen5 Brent Roggenbuck *pl Thu 02:48edelacru Eric De La Cruz Lugo pk Thu 02:18

    guspur79 Guspur79 *pb 11 Thu 03:03jor John O'Reilly p2 23 Thu 02:53 Dixboro 994-5089 mathewvp Mathew Varghese p8 Thu 03:08

    mtj8617 Michael T Jones pf 10 Thu 01:24omepram pramadsetiawan *p4 21 Thu 01:27

    phytonia phytonia predator pc 7 Thu 02:19

    sa Oh no p0 35 Thu 02:41xoltan Xoltan Maje pi Thu 03:00

    xws xws p7 15 Thu 00:[email protected]%

    El resultado del comando finger se mostr en la salida estandar es decir la pantalla de lacomputadora.

  • 8/4/2019 Referencia UNIX

    49/74

    Salida estndar de errores

    La salida estandar de errores de un comando normalmente es la pantalla de la computadora.

    Ejemplo:

    [email protected]% more passwd1passwd1: No such file or directory

    [email protected]%

    El error estandar se presento en la pantalla de la computadora.

    Redireccionamiento de archivos

    Es posible realizar un redireccionamiento de archivos para que estos no provengan de unaentrada estandar y tampoco se muestren a una salida estandar.

    A. Redireccionamiento de la salidaEn el caso del comando finger podemos redireccionar la salida estandar a un archivo.

    [email protected]% finger > [email protected]% more lista_de_usuarios_conectadosLogin Name TTY Idle Login Time Office Phone

    brett Andi Brett *p3 25 Thu 02:11

    broggen5 Brent Roggenbuck *pl Thu 02:48campo2 El Campo *p1 Thu 03:06

    casper Rump-thumpin' Monkey po 7:35 Feb 4 11:19cyb3r Elasto Mania pa 3 Thu 02:52

    diana Diana Tucker pm 2 Thu 02:50edelacru Eric De La Cruz Lugo pk Thu 02:18guspur79 Guspur79 *pb 17 Thu 03:03

    trex Worst Sysop Ever ph 3:03 Wed 14:50 ann arb 734-973-3

    vlad667 Johannes van die Kaa p5 39 Thu 01:47xoltan Xoltan Maje pi Thu 03:00xws xws p7 20 Thu 00:52

    [email protected]%

    B. Redireccionamiento de la entrada

    En el caso del comando mail, tambien podemos redireccionar su entrada desde unarchivo.

    [email protected]% echo "Este es un mensaje de prueba para mi." >mensaje

    [email protected]% mail [email protected] < mensaje

    [email protected]%

  • 8/4/2019 Referencia UNIX

    50/74

    Pipes, tees y filtros

    El smbolo pipe | permite enviar la salida y la entrada estandar de un comando a otro.

    Por ejemplo:

    finger | sort | lpr

    Estos comandos conectados por pipes hace lo siguiente, el comando finger consulta queusuarios estn conectados en el sistema, y la salida es dirigida al comando sort para que laordene alfabticamente y posteriormente el resultado del sort es enviado al comando lpr paraque imprima el resultado en alguna impresora.

    El comando tee permite que una salida estandar se divida en 2 por ejemplo:

    finger | sort | tee listausuarios | more

    Aqui el resultado de los commandos aparece en la salida estandar es decir la pantalla y seguarda en el archivo listausuarios.

    Ms filtros

    A. El comando wc

    El comando wc permite contar las palabras contenidas en un archivo de texto ASCII y elresultado despliega las las lineas que contiene el archivo, las palabras encontradas y el tamaoen bytes del mismo, su sintaxis es:

    wc archivo

    Ejemplo:

    [email protected]% wc archivo1.txt40 71 1956 archivo1.txt

    [email protected]%

    B. El comando sort

    El comando sort permite ordenar el contenido de un archivo o la salida de un comando, lasintaxis de este comando es:

    sort archive

  • 8/4/2019 Referencia UNIX

    51/74

    Ejemplo:

    [email protected]% sort archivo1.txt

    00000000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111112345678901234567890

    222222222222222222222222222222233333333333333333333333333333333333

    4444444444444444444444444444444444444444444

    5555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666

    77777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888

    99999999999999999999999999999999999999999999999999999999999999999999999999999ABCDEFGHIJKLMNOPQRSTUVWXYZ

    Agregando texto para poder utilizar el comando "more".Este es un archivo de texto para poder probar las capacidades de los comandos"cat" , " more" y "vi".

    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcdefghijklmnopqrstuvwxyzbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb

    cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc

    ddddddddddddddddddddddddddddddddddddddddddddddddddddddd

    eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeesperamos que este ejemplo les sea util.ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff

    gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggracias por su atencion.

    hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj

    kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll

    mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm

    nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo

    ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppprewrewrewrerewrewrewrewewr

    sfdfsdfsdfsfsdfsdfsdxvxvxvcvxvvxvxcvcvxvxvxcvxcedelacru@m-net.arbornet.org%

    C. El comando tr

    El comando tr translitera los caracteres de la entrada: sustituye unos caracteres por otros. Lasustitucin es caracter a caracter. Entre sus opciones se encuentran -d para borrar caracteres; -c para sustituir complemento de los caracteres indicados, es decir, que no sean sos; y -s paracomprimir caracteres repetidos en uno solo.

    cat dias | tr a-z A-Z

  • 8/4/2019 Referencia UNIX

    52/74

    convierte todo a maysculas.

    cat dias | tr -d aeiou

    borra todas las vocales del archivo dias.

    Agregar al archivo dias lneas en blanco, varias seguidas, intercaladas entre los nombres de losdas.

    cat diascat dias | tr -s "\n*"

    convierte varios caracteres nueva lnea seguidos en una solo; elimina renglones en blanco.

    cat nota | tr -c "[a-zA-Z0-9]" "_"

    transforma todos los caracteres que no sean letras o nmeros en subrayas.

    cat nota | tr -cs "[a-zA-Z0-9]" "[\n*]"

    transforma todos los caracteres que no sean letras o nmeros en nuevalnea, y comprime lasnuevalneas repetidas en una sola; deja cada palabra sola en un rengln.

    ls -l /usr | tr -s " " | cut -f3,4

    comprime los blancos en la salida para poder cortar campos.

    D. El comando pr

    Existe otro comando, de nombre pr, que lista el contenido de uno o varios archivos,acomodndose a las caractersticas de las impresoras del sistema. Es decir, lista pginas de 66lneas con la fecha y la hora de la ltima modificacin del fichero, numera las pginas y coloca elnombre del fichero en el principio de cada una. Entre cada uno de los archivos a listar efecta unsalto de pgina, de tal forma que cada fichero comienza al principio de una pgina.

    $ pr texto fich.1May 17 18:20 1986 texto Page 1Texto del documento uno

    (62 lneas en blanco)

    Mediante este comando se puede producir una salida en multicolumnas o en paralelo. Porejemplo, pr -3 fich.1 fich.2 fichero efecta una salida en formato de tres columnas.

    La opcin -m asigna la salida en columnas paralelas.

    El comando pr no introduce ningn tipo de mensaje de error en caso de no encontrar losarchivos a imprimir o que se dirigen opciones incorrectas.

  • 8/4/2019 Referencia UNIX

    53/74

    Opciones:

    - la salida se imprime en formato de "n" columnas

    + imprime el fichero a partir de la lnea "n" especificada, inclusive

    -h indica cambio de la cabecera. La es ahora la cabecera de cada pgina

    -w la anchura de cada pgina del listado ser de "n" caracteres, en lugar de 72,tomado por defecto

    -l cambia el nmero de lneas por pgina al valor "n", en vez de 66 lneas tomadaspor defecto

    -t el listado evita (salta) las 5 lneas de cabecera y de fin de pgina

    -s en vez de separar las columnas por el carcter de tabulacin, stas son

    separadas por el carcter especificado en

    -m imprime todos los archivos especificados en columnas paralelas y

    simultneamente

    9. Administracin de procesos

    Introduccin a los procesos

    El ciclo de vida de un proceso

    A. Creacin de procesos

    Los procesos se crean de forma automtica ya sea por el sistema operativo unix o de formamanual por la ejecucin de algn programa por parte de un usuario.

    B. La vida de un proceso

    Al ejecutar un comando se crea un proceso que dura el mismo tiempo en que termina de

    ejecutarse el comando o programa que lo inici.

    C. Terminando un proceso

    Un proceso generalmente termina cuando el programa que lo inicio finaliza su ejecucin, eltrmino puede ser automtico o manual mediante el comando kill.

  • 8/4/2019 Referencia UNIX

    54/74

    D. Status de un proceso

    Los posibles estados de un proceso en Unix son los siguientes:

    Ejecutandose: Este estado le indica al ncleo que el proceso se supone debe estar en lacola de ejecucin. El entrecomillado indica que no hay completa certeza de que realmente se

    encuentre en dicha estructura, esto se debe a la no tomicidad del trabajo de marcar el procesocomo TASK_RUNNINGy colocarlo en la cola de ejecucin.

    Proceso con interrupciones: En este estado el proceso se encuentra esperando (o durmiendo)pero puede ser despertado por una seal o por termino del tiempo-

    Procesosin interrupciones: Ac el proceso tambin se encuentra dormido pero a diferecia delanterior, el proceso no puede ser despertado por eventos externos.

    Proceso Zombi: Este estado se presenta cuando la tarea ha terminado pero an faltan porliberar algunos recursos por lo que el proceso an puede considerarse como vivo dentro delsistema.

    Proceso Parado: El proceso se encuentra parado bien sea por una seal de control de trabajo opor la seal de sistema ptrace.

    Proceso Exclusivo: Realmente no es un estado de algn proceso pero puede ser uno de (2) o(3). Esto significa que cuando este proceso se encuentre dormido o en una cola de espera juntoa otros, este puede ser despertado slo en lugar de causar el problema de "movimiento general"despertando a todos los que estn esperando.

    Terminado: Cuando el proceso a concluido satisfactoriamente se puede decir que ha entradoen este estado (sin serlo realmente), si se revisa el archivo de cabecera mencionado en la notaal pie de pgina, se puede notar que no existe una constante con valor para este estado (es ms

    no existe referencia a este estado en ningn otro lugar), esto se debe a que cuando el procesofinaliza ya no hay necesidad de mantener informacin alguna sobre l.

    Control de procesos

    A. Procesos en background

    Un proceso puede estar en background de 2 maneras, ya sea que el proceso alla sido detenidointencionalmente por un usuario y posteriormente enviado al background con el comando bg

  • 8/4/2019 Referencia UNIX

    55/74

    Por ejemplo:

    [email protected]% more passwd

    ## $FreeBSD: src/etc/master.passwd,v 1.25 1999/09/13 17:09:07 peter Exp $

    root:*:0:0:M-Net Root:/root:/bin/csh

    daemon:*:1:1:Owner of many system processes:/root:/sbin/nologinoperator:*:2:5:System &:/:/sbin/nologin

    bin:*:3:7:Binaries Commands and Source,,,:/:/sbin/nologintty:*:4:65533:Tty Sandbox:/:/sbin/nologinkmem:*:5:65533:KMem Sandbox:/:/sbin/nologin

    ?:*:6:4:HELP Alternate:/usr/noton:/usr/noton/helpbye:*:6:50:Hang up the modem:/usr/noton:/usr/noton/hangup

    f:*:6:32766:F pseodopern:/usr/noton:/usr/local/bin/ffinger:*:6:32766:FINGER Pseudopern:/usr/noton:/usr/local/bin/fingerh:*:6:32766:HELP Alternate:/usr/noton:/usr/noton/help

    hangup:*:6:32766:Hang up the modem:/usr/noton:/usr/noton/hangup

    help:*:6:32766:HELP Pseudopern:/usr/noton:/usr/noton/help

    login:*:6:32766:HELP Alternate (For FD Readers):/usr/noton:/usr/noton/helpnew:*:6:32766:HELP Alternate:/usr/noton:/usr/noton/help

    phone:*:6:32766:Phone Line Pseudopern:/usr/noton:/usr/noton/phonephones:*:6:32766:Phone Line Pseudopern:/usr/noton:/usr/noton/phonequit:*:6:32766:Hang up the modem:/usr/noton:/usr/noton/hangup

    quota:*:6:32766:quota user prototype:/usr/noton:nologinwho:*:6:32766:WHO Pseodopern:/usr/noton:/usr/bin/whomailadm:*:7:16:Mail List Administrator:/s/mailadm:/bin/tcsh

    - More

    [Ctrl]+[z] Aqui se presionan ambas teclas para pausar la ejecucin del more.

    [1]+ Stopped more passwd

    [email protected]% bg

    [1]+ more passwd & Proceso enviado al segundo plano