You are on page 1of 74

REFERENCIA DE SISTEMAS OPERATIVOS UNIX

TEMARIO PROPUESTO: DESCRIPCIN. El mdulo ser terico-practico. Introduce al participante a los conceptos bsicos del sistema operativo UNIX. OBJETIVO GENERAL. Al finalizar el mdulo, Conocer las funciones, caractersticas y componentes bsicos del Sistema Operativo Unix en su concepcin gnerica. El participante aprender los comandos, la terminologa y conceptos de Unix. CONTENIDO. 1. Caractersticas de los sistemas UNIX 2. Componentes del Sistema Operativo UNIX A. Comandos del sistema B. El Shell C. El Kernel

3. Accesando al Sistema Operativo UNIX Seguridad del sistema A. Entrando a sesin B. Identificacin en el sistema C. Cambio de contrasea D. Hbitos de seguridad Interfaces de la lnea de comandos Usando comandos A. Sintxis de comandos B. Comandos Bsicos. C. Obteniendo ayuda

4. Archivos y directorios El sistema de archivos y directorios A. La estructura de un archivo B. Tipos de archivos C. Determinando el tipo de un archivo Navegando en el Sistema de Archivos

A. El directorio de casa B. Viendo archivos y directorios C. Rutas D. Cambiando de directorio Viendo el contenido de archivos ordinarios A. Viendo archivos ordinarios B. Viendo archivos de datos especiales Organizando archivos A. Creando directorios B. Copiando archivos C. Moviendo y renombrando archivos D. Creando ligas suaves y simblicas a un archivo E. Expansin de nombres de archivos (comodines) F. Borrando archivos y directorios Trabajando con archivos A. Encontrando archivos en el sistema de archivos B. Encontrando cadenas de texto dentro de archivos C. Comparando datos entre archivos D. Empaquetando archivos 5. Proteccin de archivos A. El dueo de un archivo B. Permisos de acceso C. Permisos por omisin 6. Edicin de texto es UNIX. Editores de texto en UNIX Usando vi A. Invocando a vi B. Salvando y saliendo de vi C. Editando texto D. Copiando y moviendo texto E. Comandos especiales Personalizando vi A. Definiendo opciones interactivamente B. Definiendo opciones automticamente C. Opciones del comando set 7. Impresin Colas de impresin Imprimiendo archivos con lp A. Usando el servicio de impresin B. Opciones del comando lP C. Monitoreando el estado de un trabajo de impresin D. Cancelando trabajos

Preparando archivos para imprimir A. Caractersticas de formateo de la impresora B. Imprimiendo archivos de datos especiales 8. Manejo de la entrada y salida de un comando Entrada estndar Salida estndar Salida estndar de errores Redireccionamiento de archivos A. Redireccionamiento de la salida B. Redireccionamiento de la entrada Pipes, tees y filtros Ms filtros A. El comando wc B. El comando sort C. El comando tr D. 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 proceso C. Terminando un proceso D. Status de un proceso Control de procesos A. Procesos en background B. Control de trabajos Envi de seales a los procesos A. Seales B. El comando nohup C. Envo de las seales Encolamiento de procesos A. El comando nice B. El comando at

9. Personalizacin del ambiente Repaso del shell A. Las interfaces de la lnea de comandos B. Interfaces grficas

Caractersticas de los shells de UNIX A. Variables de ambiente B. Archivos para configuracin del ambiente C. Comandos de configuracin 10. Utileras de Red A. Comando Ping B. Write y talk C C. Controlando acceso a la comunicacin (mesg ) D. Archive /etc/ hosts E. Ingresando a un host remoto (telnet) F. Transfiriendo archivos entre hosts (ftp) 11. Utileras de Administracin A. Desplegar utilizacin del sistema de archivos B. Comando du C. Ejecucin de comandos periodicos D. Comandos para respaldar informacin.

1. Caractersticas de los sistemas UNIX

Resea Histrica 1965 AT&T y MIT, desarrollan MULTICS Era uno de los primeros sistemas de tiempo compartido que incorporaba la mayora de las ideas que aparecen en los sistemas multitarea actuales. Este sistema resulto ms complejo y pesado de lo que era necesario. 1969 AT&T abandona el proyecto Pero, 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 e inicio el proyecto con la creacin de un juego "Viaje espacial", aqu crearon una nueva estructura de sistema de archivos muy similar al actual, aadiendo un entorno de procesos y creando un sistema operativo rudimentario. UNIX Este nombre fue pronto aplicado a los resultados, ya que su trabajo era una simplificacin de MULTICS. UNIX comenz a funcionar en la PDP-7 a comienzos de la dcada de los 70's y a mediados de esta misma dcada ya estaba transferido a una DEC PDP-11.La implantacin 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 alto nivel, teniendo como resultado una gran portabilidad. AT&T y UNIX Al ver su utilidad dentro de los laboratorios BELL, AT&T lo tom como producto interno y le dio soporte. Luego distribuy numerosas copias de UNIX a las Universidades, dando paso al surgimiento de la versin BSD (Berkeley Software Distribution), de la Universidad de California en Berkeley, al mismo tiempo AT&T optimiza UNIX en su versin comercial, formndose diferentes ediciones, como la Edicin 7a. Despus se reorganiza internamente y cambia su nomenclatura a Sistema III. El Sistema IV se utiliz internamente y a mediados de los 80's surge el Sistema V, hoy da se denomina Sistema V versin 4 = SVR4. BSD La versin BSD fue la plataforma principal para experimentacin y algunos resultados de esto es: ARPANET (Antecesora de INTERNET), NFS, RFS, SISTEMA DE VENTANAS X, Protocolo TCP/IP.

Caractersticas de UNIX Herramientas de Software Unix introdujo una nueva idea en computacin. Las aplicaciones son el conjunto de unas cuantas 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 secuencias simples. Portabilidad Este sistema hoy da se encuentra en casi cualquier computadora y sus aplicaciones tienen el entorno adecuado para ser trasladadas. Flexibilidad El sistema se adapta a las mas diversas aplicaciones, como es la automatizacin de fabricas, telefona, juegos personales, bases de datos, etc. Multiusuario y Multitarea Una computadora puede trabajar con varios usuarios a la vez y desarrollar diferentes trabajos para cada usuario. Orientado a Red El sistema tiene el ambiente necesario para conectarse a otras mquinas por medio de la red (Protocolo TCP/IP). A continuacin se describirn aspectos prcticos del uso del sistema Unix en una estacin de trabajo tpica, los ejemplos mostrados aqu se podrn aplicar en lneas generales a la mayora de los sistemas operativos Unix comerciales y tambin en sistemas abiertos tipo Unix tales como Linux (SuSE) y BSD (FreeBSD). Acceso Este sistema trabaja por medio de "cuentas" y la creacin de stas, lo realiza el administrador 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 las tareas 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 en base a clicks de ratn y combinaciones de comandos que se ejecutan en una ventana de terminal en el entorno grfico.

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 sintaxis interna del sistema. Para un manejo eficiente del sistema, existen interpretes de comandos UNIX que manejan el ambiente con flexibilidad, cada uno de ellos tiene algunas ventajas sobre los otros, el control del ambiente 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 la idea 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 basarn en este shell. En general, en FreeBSD se usa el C-Shell y nuestros ejemplos se basarn en este interprete, en caso contrario se especificar cual se usa.

Los archivos de configuracin de una cuenta normal se encuentran en el directorio home por ejemplo el directorio /home/guest/edelacru y son al menos los siguientes (ejemplo en FreeBSD y shell bash):
bash-2.05a$ ls -a . .login .. .login_conf .cshrc .mail_aliases bash-2.05a$ .mailrc .newsread .plan .procmailrc .profile .rhosts .shrc

Cada archivo tiene una funcin especfica, por ejemplo ".cshrc" se definen las rutas o paths de los 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 setenv setenv EDITOR vi PAGER more BLOCKSIZE

el mensaje del prompt del sistema


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

y alias de comandos. Esto ltimo nos ayuda a definir comandos elaborados con unas cuantas letras, redefinir el nombre de un comando y ms, por ejemplo:
DEFINICION NUEVO COMANDO A REALIZAR ________________________________________________________ alias alias alias alias alias h j la lf ll history 25 jobs -l ls -a ls -FA ls -lA

Los dos ltimos sirven para ver el contenido de un directorio con formato especfico por ejemplo:
edelacru@m-net.arbornet.org% lf .cshrc .mail_aliases .plan .login .mailrc .procmailrc .login_conf .newsread .profile edelacru@m-net.arbornet.org% .rhosts .shrc

C. El Kernel Cuando se enciende una mquina con UNIX el Kernel o ncleo del sistema es cargado en la memoria principal de la mquina. El Kernel se encarga del manejo eficiente de la memoria, la Entrada/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, sin embargo 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 desean ingresar a el deben contar con una cuenta de usuario y un password o contrasea para poder ingresar 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 y posteriormente 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, 1994 The Regents of the University of California. All rights reserved. FreeBSD 4.6.2-RELEASE-p26 (MNET) #7: Sun Oct Welcome to FreeBSD! >> Welcome to M-Net, the First Public Access Unix System << 5 00:39:40 EDT 2003

** ** ** ** **

M-Net IS MOVING! Saturday, January 8th, 2005, M-Net will be moving to it's new location with a2hosting.com. M-Net will be unavailable Saturday starting at 11am. M-Net should be back up Saturday before 5pm, but you may have issues connecting for DNS reasons. Those should resolve themselves after a day.

Need to quickly return to your home directory? Type "cd". -- Dru <genesis@istar.ca> bash-2.05a$

B. Identificacin en el sistema Todo usuario se debe identificar en el sistema con una cuenta de acceso y una contrasea, as como 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 a continuacin: Ejemplo de comando finger:
edelacru@m-net.arbornet.org%finger Login Name TTY ade22 Ade *p3 cali2005 Anonymous p8 campo1 El Campo pj casper Rump-thumpin' Monkey po edelacru Eric De La Cruz Lugo p6 guspur79 Guspur79 *pc jor John O'Reilly p1 kumar nithya kumar p5 omemos thomos *pf reget Anonymous p7 regicide Chris Cross p2 romeo4 Rob Burnquist pa simonask Simonas Kareiva p4 trex Worst Sysop Ever pd xws xws pi edelacru@m-net.arbornet.org% Idle 1 10 1d 2 18 1 11 1 6 13 7:12 3 Login Wed Wed Wed Feb 4 Wed Wed Wed Wed Wed Wed Wed Wed Wed Mon Wed Time Office Phone 01:23 01:20 01:22 11:19 00:45 01:16 01:12 Dixboro 994-5089 01:13 01:19 00:56 01:09 01:24 01:16 14:56 ann arb 734-973-3 01:24

Ejemplo de comando w
edelacru@m-net.arbornet.org%w 1:32AM up 12 days, 13:07, 14 users, load USER TTY FROM jor p1 bgp997792bgs.nan regicide p2 cpe-24-24-211-21 ade22 p3 157.95.31.86 simonask p4 ns.vusa.lt kumar p5 static72-17.dsledelacru p6 cali2005 p8 adsl-69-234-56-7 romeo4 pa c-24-15-41-4.cli guspur79 pc 157.95.31.115 trex pd shaolin.wccnet.o omemos pf 157.95.31.59 xws pi 157.95.31.92 campo1 pj 157.95.31.30 casper po shaolin.wccnet.o edelacru@m-net.arbornet.org% averages: 0.93, 0.99, 0.93 LOGIN@ IDLE WHAT 1:12AM 19 -csh (csh) 1:09AM 2 -bash (bash) 1:23AM 3 /usr/local/bin/real/ly 1:16AM 14 mutt 1:13AM - vi hi 12:45AM - w 1:20AM 11 -bash (bash) 1:24AM 7 -bash (bash) 1:16AM 4 (lynx) Mon02PM 7:13 -tcsh (tcsh) 1:19AM 12 (lynx) 1:24AM 5 (lynx) 1:22AM - /usr/local/bin/real/ly 04Feb05 32:23 b (yapp-3.1.1)

Ejemplo de comando who:


edelacru@m-net.arbornet.org%who jor ttyp1 Feb 16 regicide ttyp2 Feb 16 ade22 ttyp3 Feb 16 simonask ttyp4 Feb 16 kumar ttyp5 Feb 16 edelacru ttyp6 Feb 16 cali2005 ttyp8 Feb 16 romeo4 ttypa Feb 16 guspur79 ttypc Feb 16 trex ttypd Feb 14 omemos ttypf Feb 16 xws ttypi Feb 16 campo1 ttypj Feb 16 casper ttypo Feb 4 edelacru@m-net.arbornet.org% 01:12 01:09 01:23 01:16 01:13 00:45 01:20 01:24 01:16 14:56 01:19 01:24 01:22 11:19 (68.40.59.3) (24.24.211.218) (157.95.31.86) (193.219.44.89) (61.11.72.17) (69.234.56.75) (24.15.41.4) (157.95.31.115) (198.111.176.53) (157.95.31.59) (157.95.31.92) (157.95.31.30) (198.111.176.53)

Como dato adicional el comando finger permite tambin ver quien esta conectado en un equipo Unix remoto, siempre y cuando el host remoto lo permita:
edelacru@m-net.arbornet.org%finger @cyberspace.org [cyberspace.org] Login Name Tty Idle Login Time Office bru bruce allen price *pb Wed 01:35 chidocal Carlos Escondrillas p4 Wed 01:37 cross Dan Cross *p0 2:15 Sun 01:10 fitz Scotch! Cigars! Coff *q4 Wed 01:48 iwan E one *pc Wed 01:24 jmhut John Moris Hutagalun *p3 12 Wed 01:25 kaddal Fransiskus Kian pf 14 Wed 01:28 kaun Venkat Kaundinya *q2 Wed 01:42 latis 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:19 rcurl Rane Curl *p6 Wed 01:24 sadpunk sadpunk p5 4 Wed 01:37 sanjay sanjay q8 Wed 01:16 scholar A Scholarly Pursuit pd 8 Wed 00:02 skg00g sanfrancisco *pe Wed 01:46 soso7df Sorabh Sodhani q0 Wed 01:46 Mumbai wyckoff C Wyckoff p2 Tue 21:26 edelacru@m-net.arbornet.org%.

Office Phone

25720013

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


edelacru@m-net.arbornet.org%finger @uxmal.itmerida.mx [uxmal.itmerida.mx] finger: reading from network: Connection refused edelacru@m-net.arbornet.org%

C. Cambio de contrasea Es muy importante que cambie la contrasea de una cuenta de acceso a un sistema Unix de forma peridica por cuestin de seguridad para ello se utiliza el comando passwd, como se muestra a continuacin:
edelacru@m-net.arbornet.org%passwd Changing local password for edelacru. Old password: New password: Retype new password: passwd: updating the database... passwd: done edelacru@m-net.arbornet.org%

Se pide primero el password antiguo para asegurar que el verdadero dueo de la cuenta es el que desea cambiar el password, posteriormente se teclea 2 veces la nueva contrasea para asegurar que se tecleo bien el nuevo password, como es obvio el password antiguo y el password 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 compartir informacin, no se pens en un principio en los problemas de seguridad que pudieran generarse. 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 cada sitio existen diferentes requerimientos y las necesidades pueden variar notablemente. Por ello deben de existir polticas de seguridad acordes a las necesidades particulares y adoptar las medidas necesarias, ya sean de hardware y/o software. PROBLEMAS TPICOS Los problemas que se presentan en un ambiente de cmputo en el aspecto de seguridad, por lo general comprende lo siguiente:
1.2.3.4.5.6.7.8.9.Acceso NO autorizado a informacin privada. Interceptar la informacin. Malas instalaciones. Intrusos y fisgones. Software vulnerable. Password dbiles. Cuentas compartidas. El intruso borre informacin importante. 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.

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 definir que 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 ocupado con: 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 duro activadas) 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 e intransferible. 6.- Cambiar el password peridicamente. Sobre todo si existe el riesgo de que alguien lo halla visto. 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. Morris Da las siguientes recomendaciones para los de passwords. Lo que No debe usar en los password
A.B.C.D.E.F.G.El login de ninguna forma, inverso, truncado, etc. Nombres de esposa, hijos, hombres y mujeres comunes. El nombre propio o apellido seguidos o precedidos por un dgito. Nmero de licencia, telfono, seguro social, marca de auto, etc. Nombre de la calle donde vive, colonia, etc. Todos los dgitos o la misma letra. Palabras de diccionario.

Lo que SI se debe usar en los password


A.B.C.D.E.Ms de 5 caracteres. En Unix por lo general acepta hasta 8. Letras mezcladas con dgitos y signos de puntuacin. Fcil de recordar, para no anotarlo en papel. Que se escriba rpidamente. 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: Password: routboo quadpop

G.- Seleccionar dos palabras cortas y unirlas con signo de puntuacin Password: Password: Password: dog;rain book+mug kid?goat

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 o parmetros que los comandos necesitan van despus del comando, generalmente despus del carcter 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 cd mkdir pwd cp rm mv cal cat more man cmp diff

Fecha y hora de la mquina. Permite cambiarse a un directorio. Crea un directorio. Para ver en que parte del rbol de directorios estoy. Copia archivos y directorios. Borra archivos y directorios. Mueve archivos y directorios. Muestra el calendario. Despliega el contenido de un archivo. Despliega el contenido de un archivo por pginas. Manual en lnea de comandos UNIX. Compara archivos. Muestra la diferencia entre archivos ASCII.

Nota:

El mensaje o prompt de la computadora que indica que esta en espera de un comando es : "edelacru@m-net.arbornet.org%". 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 manuales para cada programa o comando (en ingls generalmente), el manual da una definicin del comando y sus parmetros o switches que se pueden utilizar con el mismo, el modo de invocar un manual es de la siguiente manera:
% man comando

Ejemplo:
man ls Reformatting page. ls(1) NAME ls - list contents of directory SYNOPSIS ls [ -abcCdfFgilLmnopqrRstux1 ] [ names ] AVAILABILITY SUNWcsu DESCRIPTION For each directory argument, ls lists the contents of the directory; for each file argument, ls repeats its name and any other information requested. The output is sorted . . . --More--(10%) Wait... done User Commands ls(1)

4. Archivos y directorios El sistema de archivos y directorios El sistema operativo UNIX maneja para su sistema de archivos una estructura de rbol semejante 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 le denomina "root" y se identifica con el smbolo /. Ejemplo de un sistema de archivos en UNIX :
00 COPYRIGHT boot root sbin compat dev usr kernel bin boot.config boot.config.old mnt modules sys var package proc kernel.old lost+found source src tmp

Ejemplo grfico:

"/" Este smbolo denota el directorio raz o inicio de un sistema de archivos. Notar que el smbolo usado es distinto al usado por MSDOS que es "\". Directorios Existen directorios de gran importancia en Unix, como es "usr", "bin", "sbin", "dev", etc. Cada uno de ellos tiene un objetivo especifico, como por ejemplo tener los programas ejecutables, o los dispositivos de entrada y salida. /home Cualquier usuario del sistema se localiza en este directorio (excepto el administrador root).

Discos y otros dispositivos A diferencia de MSDOS que a cada disco o particin lo etiqueta como una unidad, en UNIX se anexa un disco como otra rama del rbol del sistema de archivos, siendo ese disco visto como un archivo.

A. La estructura de un archivo La estructura fundamental que utiliza el UNIX para almacenar informacin es el archivo. El UNIX mantiene la pista de cada uno de los archivos asignndole a cada uno, un nmero de identificacin (i-number) que apunta a la tabla de i-nodos. El usuario, no obstante, indicar cada archivo por medio de su nombre asignado por el propio usuario. El UNIX mantiene toda la informacin propia del archivo, excepto su nombre, en su inodo correspondiente. El nombre se encuentra 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 seccin posterior, la segunda se refiere al usuario que es dueo del archivo, la tercera se refiere al grupo de usuarios al que pertenece el archivo, la cuarta columna indica el tamao del archivo, la quinta columna indica la fecha y la hora de creacin o modificacin del archivo y la sexta columna indica el nombre del archivo. B. Tipos de archivos Hay cuatro tipos diferentes de archivos: archivos ordinarios, vnculos o ligas (simples o simblicas), directorios y archivos especiales. Archivos ordinarios Como usuario, la informacin con la que se trabaja, generalmente ser almacenada como archivo ordinario. El archivo puede contener caracteres ASCII o programas. Los archivos pueden cambiarse, crearse o borrarse cuando sea pertinente. Vnculos (ligas) simples No es una clase de archivo, slo un segundo nombre. Si dos usuarios necesitan compartir la informacin de un archivo de forma consistente, un vnculo es una solucin excelente a este problema. 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 ms de un nombre. Tampoco pueden emplearse para vincular archivos sobre computadoras diferentes, a pesar de que UNIX permite compartir archivos entre computadoras.

Vnculos simblicos Tambin se conocen como hard links. Eliminan las limitaciones de los vnculos simples. Un vnculo simblico es un archivo que slo contiene el nombre de otro archivo. De tal modo que pueden emplearse para asignar ms de un nombre a un archivo o directorio; e inclusive pueden usarse desde otras computadoras. Directorios Un directorio es un archivo que mantiene ordenados otros archivos y contiene informacin sobre las localizaciones y atributos de stos. Por ejemplo, un directorio incluye una lista de todos los archivos y subdirectorios que ste contiene, as como sus direcciones, caractersticas, tipos de archivos y otros atributos. Archivos especiales Constituyen una caracterstica no usual del sistema de archivos UNIX. Representan un dispositivo fsico. Puede ser una terminal, una unidad de almacenamiento, etc. Desde la perspectiva 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 trata todo como si fuese un archivo, no necesitas aprender las particularidades del hardware de la computadora. Una vez que aprendes a manejar los archivos del sistema UNIX, se sabe cmo manejar 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 archivo puede ser de: Datos Texto en Ingles Directorio Texto ASCII Librera Shell 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

Despliega: nom-arch: tipo de archivo

Veamos ahora algunos ejemplos:


bash-2.05a$ file archivo.txt archivo.txt: ASCII text bash-2.05a$ bash-2.05a$ file mkdir mkdir: ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), for FreeBSD 4.5, statically linked, stripped bash-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 cual inician sus actividades este directorio se le conoce como home o casa, en este directorio el usuario 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 retornar inmediatamente a su directorio home o casa nicamente debe teclear el comando cd sin argumentos presionar la tecla <Enter> 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 los siguientes: Comando ls, este comando nos permite ver una lista de los archivos y/o directorios que se encuentren en un directorio especifico, a continuacin mostraremos unos ejemplos de cmo se utiliza el comando ls con argumentos adicionales.
edelacru@m-net.arbornet.org% ls archivo.txt edelacru@m-net.arbornet.org%

El comando ls sin argumentos solo nos mostr un archivo en este ejemplo, sin embargo al agregar parmetros al comando ls nos muestra ms informacin.
edelacru@m-net.arbornet.org% ls . .login .. .login_conf .cshrc .mail_aliases edelacru@m-net.arbornet.org% -a .mailrc .newsread .plan .procmailrc .profile .rhosts .shrc archivo.txt

el parmetro a permite ver archivos ocultos en el directorio, los archivos ocultos inician su nombre 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 de los archivos y directorios en el directorio actual.
edelacru@m-net.arbornet.org% ls -la total 356 drwxr-xr-x 2 edelacru guest 512 drwx--xr-x 10764 root guest 341504 -rw-r--r-1 edelacru guest 881 -rw-r--r-1 edelacru guest 253 -rw-r--r-1 edelacru guest 165 -rw------1 edelacru guest 371 -rw-r--r-1 edelacru guest 331 -rw-r--r-1 edelacru guest 0 -rw-r--r-1 edelacru guest 116 -rw-r--r-1 edelacru guest 63 -rw-r--r-1 edelacru guest 906 -rw------1 edelacru guest 276 -rw-r--r-1 edelacru guest 852 -rw-r--r-1 edelacru guest 5 edelacru@m-net.arbornet.org%

Feb Feb Feb Feb Feb Feb Feb Feb Feb Feb Feb Feb Feb Feb

16 16 16 16 16 16 16 16 16 16 16 16 16 16

10:34 17:45 00:45 00:45 00:45 00:45 00:45 16:55 00:45 00:45 00:45 00:45 00:45 10:46

. .. .cshrc .login .login_conf .mail_aliases .mailrc .newsread .plan .procmailrc .profile .rhosts .shrc archivo.txt

C. Rutas En Unix existe una variable en el entorno del shell del usuario que se llama PATH, esta variable tiene asignadas todas las rutas de directorios del sistema Unix en los cuales pueden existir programas que el usuario puede ejecutar y utilizar, a continuacin mostraremos un ejemplo del contenido de la variable PATH en un sistema Unix.
edelacru@m-net.arbornet.org% echo $PATH /sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/bin:/usr/X11R6/bin:/home/guest/edel acru/bin edelacru@m-net.arbornet.org%

En este ejemplo se utiliz el comando echo para mostrar en pantalla el valor de la variable PATH, para ello es necesario anteponer el signo de $ a la variable para poder obtener el valor que posee esta. Existen tambin las llamadas rutas absolutas y las rutas relativas. Rutas absolutas Las rutas absolutas se distinguen por que comienzan con /, se denominan absolutas por que la referencia se hace desde el directorio raz hacia abajo. Ejemplo: /etc/mail/sendmail.cf Rutas relativas En estas la referencia depende del directorio de trabajo actual, se caracterizan por que no comienzan con /. Por ejemplo si tenemos la siguiente estructura:

/etc
o

/etc/maill /etc/mail/sendmail.cf

/etc/ssh /etc/ssh/ssh_config

Y estando posicionados sobre el directorio /etc/ssh queremos hacer referencia al archivo /etc/ mail/sendmail.cf, se puede escribir: ../ mail/sendmail.cf, otro ejemplo con la misma estructura puede ser: estando sobre /etc/ssh se 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 en estas rutas:

. .. ~

Directorio actual. Directorio superior o padre. Directorio home del usuario.

D. Cambiando de directorio Para poder cambiarnos entre directorios es necesario utilizar el comando cd change directory de 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:
edelacru@m-net.arbornet.org% pwd /home/guest/edelacru edelacru@m-net.arbornet.org% cd ejercicios edelacru@m-net.arbornet.org% pwd /home/guest/edelacru/ejercicios

Para salir del directorio actual al directorio inmediato superior se utiliza el comando cd y los smbolos de puntuacin ... Ejemplo:
edelacru@m-net.arbornet.org% pwd /home/guest/edelacru/ejercicios edelacru@m-net.arbornet.org% cd .. edelacru@m-net.arbornet.org% pwd /home/guest/edelacru edelacru@m-net.arbornet.org%

Para cambiar a niveles mas profundos de directorios es posible hacerlo uno por uno o hacerlo en un solo comando cd mediante incluir la ruta completa a ese directorio, como se muestra en el siguiente ejemplo:
edelacru@m-net.arbornet.org% pwd /home/guest/edelacru edelacru@m-net.arbornet.org% cd directorio1/directorio2 edelacru@m-net.arbornet.org% pwd /home/guest/edelacru/directorio1/directorio2 edelacru@m-net.arbornet.org%

Para regresar al directorio home o casa del usuario es suficiente teclear el comando cd sin parmetros, como se muestra en el siguiente ejemplo:
edelacru@m-net.arbornet.org% pwd /home/guest/edelacru/directorio1/directorio2 edelacru@m-net.arbornet.org% cd edelacru@m-net.arbornet.org% pwd /home/guest/edelacru edelacru@m-net.arbornet.org%

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 algunos comandos de Unix, tales como: cat, more y el programa editor de texto vi. Ejemplos :
edelacru@m-net.arbornet.org% cat 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". sfdfsdfsdfsfsdfsdfsdff xvxvxvcvxvvxvxcvcvxvxvxcvxc rewrewrewrerewrewrewrewewr 12345678901234567890 abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ 11111111111111111111111111111 2222222222222222222222222222222 33333333333333333333333333333333333 4444444444444444444444444444444444444444444 555555555555555555555555555555555555555555555555 6666666666666666666666666666666666666666666666666666666666 777777777777777777777777777777777777777777777777777777777777777777 88888888888888888888888888888888888888888888888888888888888888888888888888 99999999999999999999999999999999999999999999999999999999999999999999999999999 0000000000000000000000000000000000000000000000000000000000000000000000000000000 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ddddddddddddddddddddddddddddddddddddddddddddddddddddddd eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn

oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp edelacru@m-net.arbornet.org%

Como se pudo observar el comando cat mostr el contenido completo del archivo archivo1.txt de una sola vez, en un monitor normal no hubiera dado oportunidad de leer el principio del archivo, para evitar eso podemos usar el comando more como se muestra en el siguiente ejemplo:
edelacru@m-net.arbornet.org% more archivo1.txt Este es un archivo de texto para poder probar las capacidades de los comandos "c at" , " more" y "vi". esperamos que este ejemplo les sea util. gracias por su atencion. Agregando texto para poder utilizar el comando "more". sfdfsdfsdfsfsdfsdfsdff xvxvxvcvxvvxvxcvcvxvxvxcvxc rewrewrewrerewrewrewrewewr 12345678901234567890 abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ 11111111111111111111111111111 2222222222222222222222222222222 33333333333333333333333333333333333 4444444444444444444444444444444444444444444 555555555555555555555555555555555555555555555555 6666666666666666666666666666666666666666666666666666666666 777777777777777777777777777777777777777777777777777777777777777777 88888888888888888888888888888888888888888888888888888888888888888888888888 - More -

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


4444444444444444444444444444444444444444444 555555555555555555555555555555555555555555555555 6666666666666666666666666666666666666666666666666666666666 777777777777777777777777777777777777777777777777777777777777777777 88888888888888888888888888888888888888888888888888888888888888888888888888 99999999999999999999999999999999999999999999999999999999999999999999999999999 0000000000000000000000000000000000000000000000000000000000000000000000000000000 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ddddddddddddddddddddddddddddddddddddddddddddddddddddddd eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp edelacru@m-net.arbornet.org%

Tambin es posible ver un archivo de texto ASCII ordinario en Unix con un editor de texto como el programa vi, a continuacin se muestra un ejemplo.
edelacru@m-net.arbornet.org% vi archivo1.txt Este es un archivo de texto para poder probar las capacidades de los comandos "c at" , " more" y "vi". esperamos que este ejemplo les sea util. gracias por su atencion. Agregando texto para poder utilizar el comando "more". sfdfsdfsdfsfsdfsdfsdff xvxvxvcvxvvxvxcvcvxvxvxcvxc rewrewrewrerewrewrewrewewr 12345678901234567890 abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ 11111111111111111111111111111 2222222222222222222222222222222 33333333333333333333333333333333333 4444444444444444444444444444444444444444444 555555555555555555555555555555555555555555555555 6666666666666666666666666666666666666666666666666666666666 777777777777777777777777777777777777777777777777777777777777777777 88888888888888888888888888888888888888888888888888888888888888888888888888 archivo1.txt: unmodified: line 1

Para salir del editor tecleamos 2 veces la tecla [Esc] y luego dos puntos :, posteriormente se teclea 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". sfdfsdfsdfsfsdfsdfsdff xvxvxvcvxvvxvxcvcvxvxvxcvxc rewrewrewrerewrewrewrewewr 12345678901234567890 abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ 11111111111111111111111111111 2222222222222222222222222222222 33333333333333333333333333333333333 4444444444444444444444444444444444444444444 555555555555555555555555555555555555555555555555 6666666666666666666666666666666666666666666666666666666666 777777777777777777777777777777777777777777777777777777777777777777 88888888888888888888888888888888888888888888888888888888888888888888888888 :q edelacru@m-net.arbornet.org%

B. Viendo archivos de datos especiales Para ver archivos de datos especiales es necesario utilizar el programa correspondiente al tipo de 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 el more o el cat, para ello se utiliza el comando man que lee los archivos e interpreta los caracteres 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 de estos 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:
edelacru@m-net.arbornet.org% ls -l total 645 -rw-r--r-- 1 edelacru guest 5 Feb 16 -rw-r--r-- 1 edelacru guest 1958 Feb 16 drwxr-xr-x 3 edelacru guest 512 Feb 16 drwxr-xr-x 2 edelacru guest 512 Feb 16 -rw-r--r-- 1 edelacru guest 646122 Feb 16 edelacru@m-net.arbornet.org% mkdir practicas edelacru@m-net.arbornet.org% ls -l total 646 -rw-r--r-- 1 edelacru guest 5 Feb 16 -rw-r--r-- 1 edelacru guest 1958 Feb 16 drwxr-xr-x 3 edelacru guest 512 Feb 16 drwxr-xr-x 2 edelacru guest 512 Feb 16 -rw-r--r-- 1 edelacru guest 646122 Feb 16 drwxr-xr-x 2 edelacru guest 512 Feb 16 edelacru@m-net.arbornet.org%

10:46 20:02 19:39 18:05 19:55

archivo.txt archivo1.txt directorio1 ejercicios passwd

10:46 20:02 19:39 18:05 19:55 20:22

archivo.txt archivo1.txt directorio1 ejercicios passwd practicas nuestro directorio

B. Copiando archivos Entre las operaciones mas comunes en Unix esta la del copiado de archivos, el comando para realizar esta opercin se llama cp la sintaxis de uso es: cp archivo_original archivo_copia

Ejemplo:
edelacru@m-net.arbornet.org% ls archivo.txt directorio1 passwd archivo1.txt ejercicios practicas edelacru@m-net.arbornet.org% cp archivo1.txt archivo1.txt.respaldo edelacru@m-net.arbornet.org% ls archivo.txt directorio1 practicas archivo1.txt ejercicios archivo1.txt.respaldo passwd edelacru@m-net.arbornet.org%

C. Moviendo y renombrando archivos El renombrado y movimiento de archivos es otra actividad comn, para ello se utiliza el comando mv, 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:


edelacru@m-net.arbornet.org% ls archivo.txt directorio1 practicas archivo1.txt ejercicios archivo1.txt.respaldo passwd edelacru@m-net.arbornet.org% mv archivo1.txt /home/guest/edelacru/directorio1 edelacru@m-net.arbornet.org% ls archivo.txt directorio1 passwd archivo1.txt.respaldo ejercicios practicas edelacru@m-net.arbornet.org% cd directorio1 edelacru@m-net.arbornet.org% ls archivo1.txt directorio2 edelacru@m-net.arbornet.org%

Ahora mostraremos como se cambia de nombre un archivo:


edelacru@m-net.arbornet.org% ls archivo1.txt directorio2 edelacru@m-net.arbornet.org% mv archivo1.txt archivo_del_texto edelacru@m-net.arbornet.org% ls archivo_del_texto directorio2 edelacru@m-net.arbornet.org%

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 mencion anteriormente, estos pueden ser de dos tipos: duros o simblicos. Enlaces duros Un enlace duro es un tipo especial de archivo que pudiendo estar en diferentes directorios hace referencia a otro archivo (realmente al nodo-i, es decir a su ubicacin fsica en el disco), con lo cual podemos tener el mismo archivo en diferentes lugares pero sin tener que mal gastar el

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 enlace slo a un archivo se puede utilizar como ltimo parmetro el nombre y/o ruta que va a tener el nuevo enlace, cuando se omite este parmetro se crea un enlace con el mismo nombre del archivo origen en el directorio de trabajo actual. Enlaces simblicos Los enlaces simblicos son una alternativa bastante til respecto a los enlaces duros, en especial cuando es necesario hacer enlaces de directorios ya que no es posible hacer enlaces duros 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 ltimo parmetro sea un directorio o que este se encuentre en blanco, con esto se crearan los enlaces con 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 posible crear simultneamente varios. E. Expansin de nombres de archivos (comodines) Muchas veces el usar los nombre completos de archivos para ciertas operaciones como copiar o eliminar archivos consume mucho tiempo los expansores de nombres juegan un papel crucial, el smbolo que se utiliza es el asterisco *. Ejemplos de uso de los comodines: Enlista los archivos que empiecen con la cadena arch:
edelacru@m-net.arbornet.org% 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 archivo1.txt.respaldo edelacru@m-net.arbornet.org%

Copia los archivos que empiecen con la cadena arch al directorio ejercicios:
edelacru@m-net.arbornet.org% ls archivo.txt directorio1 passwd archivo1.txt.respaldo ejercicios practicas edelacru@m-net.arbornet.org% cp arch* ejercicios edelacru@m-net.arbornet.org% cd ejercicios edelacru@m-net.arbornet.org% ls archivo.txt archivo1.txt.respaldo edelacru@m-net.arbornet.org%

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

edelacru@m-net.arbornet.org% ls archivo.txt directorio1 archivo1.txt.respaldo ejercicios edelacru@m-net.arbornet.org% rm arch* edelacru@m-net.arbornet.org% ls directorio1 ejercicios passwd edelacru@m-net.arbornet.org%

passwd practicas

practicas

F. Borrando archivos y directorios Para borrar un archivo se utiliza el comando rm, la sintaxis de este comando es:
rm nombre_archivo

Ejemplo:
edelacru@m-net.arbornet.org% ls archivo.txt directorio1 archivo1.txt.respaldo ejercicios edelacru@m-net.arbornet.org% rm archivo.txt edelacru@m-net.arbornet.org% ls archivo1.txt.respaldo ejercicios directorio1 passwd edelacru@m-net.arbornet.org% passwd practicas

practicas

Para borrar un directorio este debe estar vacio primero de lo contrario se mostrar un error al intentar borrarlo, el comando para borrar directorios es el rmdir
edelacru@m-net.arbornet.org %ls archivo.txt file archivo1.txt lista_de_usuarios_conectados archivo1.txt.respaldo mensaje archivo_del_texto passwd directorio1 practicas editor.txt respaldo.tar.z ejercicios edelacru@m-net.arbornet.org %rmdir directorio1 rmdir: directorio1: Directory not empty edelacru@m-net.arbornet.org %

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


edelacru@m-net.arbornet.org %ls archivo.txt file archivo1.txt lista_de_usuarios_conectados archivo1.txt.respaldo mensaje archivo_del_texto passwd directorio1 practicas editor.txt respaldo.tar.z ejercicios edelacru@m-net.arbornet.org %rmdir directorio1 edelacru@m-net.arbornet.org %ls archivo.txt file archivo1.txt lista_de_usuarios_conectados archivo1.txt.respaldo mensaje

archivo_del_texto editor.txt ejercicios edelacru@m-net.arbornet.org %

passwd practicas respaldo.tar.z

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 utiliza el comando find su sintaxis es como sigue:
find [directorio donde buscar] -name "nombre_archivo" -print

Ejemplo:
edelacru@m-net.arbornet.org% find /etc -name "passwd" -print /etc/passwd /etc/etc-oldsystem/passwd edelacru@m-net.arbornet.org%

Nota. Para que las bsquedas completas en Unix tengan buen resultado se recomienda hacerlas con los privilegios del usuario root, de lo contrario la bsqueda puede verse truncada para 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 grep Su sintaxis es como sigue:
grep cadena archivo

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


edelacru@m-net.arbornet.org% grep util archivo_del_texto esperamos que este ejemplo les sea util. Agregando texto para poder utilizar el comando "more". edelacru@m-net.arbornet.org%

Nos arroj dos resultados. C. Comparando datos entre archivos Para comparar datos entre archivos se utilizan los comandos diff y cmp la sintaxis de estos comandos es la siguiente:
diff -s archivo1 archivo2

cmp archivo1 archivo2

Ejemplo de comparacin de archivos:


edelacru@m-net.arbornet.org% 9c9 < sfdfsdfsdfsfsdfsdfsd --> sfdfsdfsdfsfsdfsdfsdff edelacru@m-net.arbornet.org% diff -s archivo1.txt archivo_del_texto

Otro ejemplo:
edelacru@m-net.arbornet.org% cmp archivo1.txt archivo_del_texto archivo1.txt archivo_del_texto differ: char 250, line 9 edelacru@m-net.arbornet.org%

D. Empaquetando archivos El proceso de empacar archivos se utiliza en Unix con fines de respaldar la informacin para ello se 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 como restaurar la informacin. Ejemplo:
edelacru@m-net.arbornet.org% ls archivo.txt archivo_del_texto passwd archivo1.txt directorio1 practicas archivo1.txt.respaldo ejercicios edelacru@m-net.arbornet.org% tar cvfz respaldo.tar.z * archivo.txt archivo1.txt archivo1.txt.respaldo archivo_del_texto directorio1/ directorio1/directorio2/ directorio1/archivo_del_texto ejercicios/ ejercicios/archivo1.txt.respaldo ejercicios/archivo.txt passwd practicas/ edelacru@m-net.arbornet.org%

Ejemplo para descompactar respaldo:


edelacru@m-net.arbornet.org% ls respaldo.tar.z edelacru@m-net.arbornet.org% tar xzvf respaldo.tar.z archivo.txt archivo1.txt archivo1.txt.respaldo archivo_del_texto

directorio1/ directorio1/directorio2/ directorio1/archivo_del_texto ejercicios/ ejercicios/archivo1.txt.respaldo ejercicios/archivo.txt passwd practicas/ edelacru@m-net.arbornet.org% ls archivo.txt archivo_del_texto archivo1.txt directorio1 archivo1.txt.respaldo ejercicios edelacru@m-net.arbornet.org%

passwd practicas respaldo.tar.z

5. Proteccin de archivos Como se mencion anteriormente existen niveles de seguridad en Unix y uno de ellos es precisamente 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 al que 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 hasta borrarlo, 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 w x permiso de lectura permiso de escritura permiso de ejecucin.

Existen tres grupos de permisos que en el orden de costumbre de izquierda a derecha corresponden a los permisos de: usuario, grupo del usuario, todos los dems usuarios del sistema. 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 el resto de los usuarios del sistema. Para cambiar los permisos existe el comando chmod que puede funcionar de dos formas, la primera es de forma simblica y la segunda numrica. Dentro de forma simblica se usan las siguientes abreviaturas: u - usuario r - lectura = - igual a g - grupo w - escritura + - aade o - otros a - todos x - ejecucin - - resta

Cambiemos los permisos para que todos puedan leer nicamente:


edelacru@m-net.arbornet.org% chmod a=r archivo.txt edelacru@m-net.arbornet.org% 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:


edelacru@m-net.arbornet.org% chmod ugo+wx archivo.txt edelacru@m-net.arbornet.org%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 de lectura:
edelacru@m-net.arbornet.org% chmod go-wx archivo.txt edelacru@m-net.arbornet.org% ls -l archivo.txt -rwxr--r-1 edelacru guest 1209 Dec 9 15:56 archivo.txt*

La otra manera de usar el comando es con la ayuda de lo siguiente.A cada posicin de "rwx" se le relaciona un binario, dependiendo de cual posicin este en uso, dando como resultado un nmero:
BINARIO DECIMAL r w x ______________________________________________ 0 0 1 1 0 1 0 2 1 0 0 4

Para definir los permisos, solo se realizaran las sumas correspondientes a cada divisin, ejemplos: Veamos los permisos de nuestro archivo de prueba:
edelacru@m-net.arbornet.org% 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:


edelacru@m-net.arbornet.org% chmod 444 archivo1.txt edelacru@m-net.arbornet.org% 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 = 7 o,g (r-x) = 4 + 1 = 5

edelacru@m-net.arbornet.org% chmod 755 archivo1.txt edelacru@m-net.arbornet.org%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 dan mediante 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

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 las versiones 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 directamente desde el prompt de Unix, Ejemplo:
edelacru@m-net.arbornet.org% 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 otros comandos 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 que escribimos en un archivo, entonces se hara de la siguiente manera.

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! edelacru@m-net.arbornet.org%

C. Editando texto

El editor vi es un editor de pantalla y esta siempre en modo comando, por ejemplo para iniciar la escritura de un texto se requiere dar una instruccin para que el editor pase a modo edicin y darle otra instruccin para salir de dicho modo. Los comandos ms comunes y de gran utilidad son: Entrar a modo edicin Antes del cursor

Despus del cursor

Al principio de la lnea

Al final de la lnea

Abre nueva lnea abajo del cursor

Abre nueva lnea arriba del cursor

Borrar Una palabra

dw

Una lnea

dd

Hasta el final de la lnea

El carcter donde esta el cursor

Movimiento del cursor

Por medio de las flechas del teclado A la derecha

A la izquierda

Siguiente lnea

Lnea anterior

Final de la lnea

Principio de la lnea

Siguiente palabra

Al final de la palabra

Al inicio de la palabra previa

Primera lnea dentro de la pantalla

Ultima lnea dentro de la pantalla

Lnea intermedia en la pantalla

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

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

Sustituye "n" caracteres

ns

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

El carcter corriente

E. Comandos especiales

Otras funciones Deshacer comando previo

Deshacer cambios en toda la lnea

Busca una palabra hacia adelante

/cadena

Busca una palabra hacia atrs

?cadena

Siguiente ocurrencia

Repetir la ultima accin

Escribir a archivo y salir del editor

ZZ

Cancelar una orden

[Esc]

Reescribe la pantalla

[Ctrl]L

Desde el editor vi se puede usar un editor de lnea que tiene algunas facilidades para repetir de forma automtica una serie de instrucciones. Para tener acceso a este editor de lnea, estando el 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 quiere volver a la tabulacin anterior, no tiene ms que pulsar ^D en la posicin del primer carcter. La orden ^D funciona slo en el modo insertar, no en modo comando. Tambin es posible determinar la anchura de las tabulaciones mediante la opcin shiftwidth, descrita ms abajo. exrc El archivo .exrc del directorio actual es ledo al comenzar una sesin. ste debe encontrarse en la 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 en pantalla. 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 << y >>). Por ejemplo, para que la tabulacin sea de cuatro espacios escribir lo siguiente :set sw=4. showmode (smd) Esta opcin sirve para mostrar el modo actual del editor. Si se encuentra en el modo insertar, en la ltima lnea de la pantallas aparecer INPUT MODE. warn Esta opcin le avisa si ha modificado el archivo pero todava no lo ha guardado.

window (wi) Esta opcin determina el nmero de lneas que VI usar en pantalla. Por ejemplo, para hacer que 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 est activado, si no se encuentra la palabra al llegar al final del archivo, tratar de buscarla desde el comienzo. wrapmargin (wm) Si esta opcin tiene un valor mayor que cero, se activar el retorno manual. Es decir, si alcanza el nmero de espacios indicados a partir del extremo derecho de la pantalla, la palabra pasar a la lnea siguiente sin necesidad de pulsar Enter. Por ejemplo, para mantener un margen derecho 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 a determinadas secuencias de caracteres. La orden tiene la siguiente forma : ab <abreviatura> <secuencia_que_debe_sustituirla>. Por ejemplo, si tuviera que escribir la palabra "Humuhumunukunukuapua`a", pero no quisiera tener 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 si usted 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 la funcin de las teclas. La hay de dos tipos: una para el modo comando y otra para el modo insertar. Estas dos rdenes son :map y :map!, respectivamente. Su funcionamiento es similar al

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

A. Definiendo opciones interactivamente La forma de definir opciones de manera interactiva es mediante usar comandos directamente en el 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 su directorio personal, todas las rdenes ah especificadas sern ledas al arrancar el editor VI. El otro mtodo consiste en crear una variable de entorno denominada EXINIT. Las opciones se grabarn el archivo de configuracin de su shell. Si utiliza el shell C (/bin/csh), la orden, que se grabar en el archivo .cshrc es 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. Por ejemplo, si quiere tabulacin automtica, numeracin de lneas y un margen derecho de tres caracteres, en tal caso la orden setenv deber 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 barra vertical (|). Por ejemplo, para hacer que el carcter 'G' haga las veces de la orden '/g' en el modo comando, 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 mostrado entre comillas, tras el EXINIT.

C. Opciones del comando set Hay varias opciones de edicin, disponibles utilizando la orden :set. Las opciones de los editores VI son las siguientes (puede obtener una lista completa tecleando :set all y Enter, dentro del modo comando):

noautoindent autoprint noautowrite nobeautify directory=/tmp nodoubleescape /usr/lib/tags noedcompatible noerrorbells noexrc flash hardtabs=8 noignorecase keyboardedit keyboardedit! nolisp nolist

magic mesg nomodelines nonumber nonovice nooptimize paragraphs=IPLPPPQPP LIpplpipnpbp prompt noreadonly redraw remap report=5 scroll=11 sections=NHSHH HUuhsh+c shell=/bin/csh shiftwidth=8

noshowmatch noshowmode noslowopen tabstop=8 taglength=0 tags=tags term=xterm noterse timeout timeoutlen=500 ttytype=xterm warn window=23 wrapscan wrapmargin=0 nowriteany

A algunas de estas opciones se les pueden asignar valores con el signo '=', mientras que otras simplemente estn activadas o desactivadas. (Estas opciones de tipo on - off se denominan booleanas, y, para indicar que no estn activadas, llevan un "no" delante.) Las opciones mostradas aqu son las que se tienen por defecto, sin personalizar. A continuacin describimos algunas de ellas, aadiendo sus abreviaturas. Por ejemplo, en el caso de la orden set autoindent, 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 las impresoras tipo laser manejan el formato PostScript, adems las impresoras de inyeccin de tinta 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 lpstat cancel Imprime archivos Muestra el estado de las impresoras 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, la impresora de default para esa mquina, las impresoras que se tienen acceso, el estado de cada una de ellas y la cola de impresin.

edelacru@m-net.arbornet.org% lpstat -t scheduler is running system default destination: lw device for lwc0: /dev/bpp0 system for lw: citlali system for lw3: mixtli system for lw4: tozani system for lwc1: citlali system for lw1: mixtli lwc0 accepting requests since Thu May 23 15:12:50 CST 1996 lw accepting requests since Mon Nov 4 09:35:23 CST 1996 lw3 accepting requests since Mon Nov 25 10:29:44 CST 1996 lw4 accepting requests since Mon Nov 4 09:36:03 CST 1996 lwc1 accepting requests since Mon Nov 4 09:36:45 CST 1996 lw1 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"
edelacru@m-net.arbornet.org% lp -dlw1 carra.ps request id is lw1-3356 (1 file(s))

Veamos su estado:
edelacru@m-net.arbornet.org% lpstat -t . . . system for lw1: mixtli lw1 accepting requests since Wed Nov 27 10:32:11 printer lw1 now printing lw1-3356. enabled since available. lw3-370 choloani!jpp 1618466 lw1-3356 m-net!edelacru 203173

CST 1996 Wed Nov 27 10:32:11 CST 1996. Feb 03 13:02 on lw3 Feb 03 13:02 on lw1

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


edelacru@m-net.arbornet.org% cancel lw1-3356 request "lw1-3356" cancelled

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


##### ##### ##### Job lw1-3356 ##### suspended or canceled ##### #####

Preparando archivos para imprimir Hay que tomar en cuenta que la mayor parte de los archivos que se imprimen no requieren de un formateo especial previo ya que generalmente se trata de archivos postscript o imgenes jpg o bmp o raster. Sin embargo es importante decir que por ejemplo si se desea imprimir una pgina de un manual de un comando de Unix con el comando man es necesario hacer algunas cosas antes de mandar 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 desea dar algun formato en particular es necesario utilizar algun comando previo por ejemplo: pr permite 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:
edelacru@m-net.arbornet.org% pr -h "Invitacin" carta | lp

Las primeras lneas lucen as:


Feb 13 10:18 1995 Invitacion Page 1 Estimado seor Lopez: estamos organizando una reunin para tratar asuntos de inters para su empresa, la cual se 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.1 cd /usr/man; tbl /usr/man/man1/ls.1 |nroff -u0 -Tlp -man - | col -x ... [...]

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.
edelacru@m-net.arbornet.org% mail eric@iteso.mx Subject: Saludos Mensaje de prueba. adios. . EOT edelacru@m-net.arbornet.org%

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.
edelacru@m-net.arbornet.org% finger Login Name TTY brett Andi Brett *p3 broggen5 Brent Roggenbuck *pl edelacru Eric De La Cruz Lugo pk guspur79 Guspur79 *pb jor John O'Reilly p2 mathewvp Mathew Varghese p8 mtj8617 Michael T Jones pf omepram pramadsetiawan *p4 phytonia phytonia predator pc sa Oh no p0 xoltan Xoltan Maje pi xws xws p7 edelacru@m-net.arbornet.org% Idle 20 Login Thu Thu Thu Thu Thu Thu Thu Thu Thu Thu Thu Thu Time Office Phone 02:11 02:48 02:18 03:03 02:53 Dixboro 994-5089 03:08 01:24 01:27 02:19 02:41 03:00 00:52

11 23 10 21 7 35 15

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

Salida estndar de errores La salida estandar de errores de un comando normalmente es la pantalla de la computadora. Ejemplo:
edelacru@m-net.arbornet.org% more passwd1 passwd1: No such file or directory edelacru@m-net.arbornet.org%

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 una entrada estandar y tampoco se muestren a una salida estandar. A. Redireccionamiento de la salida En el caso del comando finger podemos redireccionar la salida estandar a un archivo.
edelacru@m-net.arbornet.org% finger > lista_de_usuarios_conectados edelacru@m-net.arbornet.org% more lista_de_usuarios_conectados Login Name TTY Idle Login Time Office Phone brett Andi Brett *p3 25 Thu 02:11 broggen5 Brent Roggenbuck *pl Thu 02:48 campo2 El Campo *p1 Thu 03:06 casper Rump-thumpin' Monkey po 7:35 Feb 4 11:19 cyb3r Elasto Mania pa 3 Thu 02:52 diana Diana Tucker pm 2 Thu 02:50 edelacru Eric De La Cruz Lugo pk Thu 02:18 guspur79 Guspur79 *pb 17 Thu 03:03 trex Worst Sysop Ever ph 3:03 Wed 14:50 ann arb 734-9733 vlad667 Johannes van die Kaa p5 39 Thu 01:47 xoltan Xoltan Maje pi Thu 03:00 xws xws p7 20 Thu 00:52 edelacru@m-net.arbornet.org%

B. Redireccionamiento de la entrada En el caso del comando mail, tambien podemos redireccionar su entrada desde un archivo.
edelacru@m-net.arbornet.org% echo "Este es un mensaje de prueba para mi." > mensaje edelacru@m-net.arbornet.org% mail eric@iteso.mx < mensaje edelacru@m-net.arbornet.org%

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 que usuarios estn conectados en el sistema, y la salida es dirigida al comando sort para que la ordene alfabticamente y posteriormente el resultado del sort es enviado al comando lpr para que 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 se guarda 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 el resultado despliega las las lineas que contiene el archivo, las palabras encontradas y el tamao en bytes del mismo, su sintaxis es:
wc archivo

Ejemplo:
edelacru@m-net.arbornet.org% wc archivo1.txt 40 71 1956 archivo1.txt edelacru@m-net.arbornet.org%

B. El comando sort El comando sort permite ordenar el contenido de un archivo o la salida de un comando, la sintaxis de este comando es:
sort archive

Ejemplo:
edelacru@m-net.arbornet.org% sort archivo1.txt

000000000000000000000000000000000000000000000000000000000000000000000000000000 0 11111111111111111111111111111 12345678901234567890 2222222222222222222222222222222 33333333333333333333333333333333333 4444444444444444444444444444444444444444444 555555555555555555555555555555555555555555555555 6666666666666666666666666666666666666666666666666666666666 777777777777777777777777777777777777777777777777777777777777777777 88888888888888888888888888888888888888888888888888888888888888888888888888 99999999999999999999999999999999999999999999999999999999999999999999999999999 ABCDEFGHIJKLMNOPQRSTUVWXYZ 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". aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa abcdefghijklmnopqrstuvwxyz bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ddddddddddddddddddddddddddddddddddddddddddddddddddddddd eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee esperamos que este ejemplo les sea util. ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg gracias por su atencion. hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp rewrewrewrerewrewrewrewewr sfdfsdfsdfsfsdfsdfsd xvxvxvcvxvvxvxcvcvxvxvxcvxc edelacru@m-net.arbornet.org%

C. El comando tr El comando tr translitera los caracteres de la entrada: sustituye unos caracteres por otros. La sustitucin 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 para comprimir caracteres repetidos en uno solo.
cat dias | tr a-z A-Z

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 los das.
cat dias cat 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 las nuevalneas 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 66 lneas con la fecha y la hora de la ltima modificacin del fichero, numera las pginas y coloca el nombre del fichero en el principio de cada una. Entre cada uno de los archivos a listar efecta un salto de pgina, de tal forma que cada fichero comienza al principio de una pgina.
$ pr texto fich.1 May 17 18:20 1986 texto Page 1 Texto del documento uno (62 lneas en blanco)

Mediante este comando se puede producir una salida en multicolumnas o en paralelo. Por ejemplo, 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 los archivos a imprimir o que se dirigen opciones incorrectas.

Opciones: -<n> +<n> la salida se imprime en formato de "n" columnas imprime el fichero a partir de la lnea "n" especificada, inclusive

-h <cadena> indica cambio de la cabecera. La <cadena> es ahora la cabecera de cada pgina -w <n> la anchura de cada pgina del listado ser de "n" caracteres, en lugar de 72, tomado por defecto cambia el nmero de lneas por pgina al valor "n", en vez de 66 lneas tomadas por defecto el listado evita (salta) las 5 lneas de cabecera y de fin de pgina

-l <n>

-t

-s <carcter> en vez de separar las columnas por el carcter de tabulacin, stas son separadas por el carcter especificado en <carcter> -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 forma manual 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, el trmino puede ser automtico o manual mediante el comando kill.

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 la cola 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 proceso como TASK_RUNNING y 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 tiempoProceso sin interrupciones: Ac el proceso tambin se encuentra dormido pero a diferecia del anterior, el proceso no puede ser despertado por eventos externos. Proceso Zombi: Este estado se presenta cuando la tarea ha terminado pero an faltan por liberar algunos recursos por lo que el proceso an puede considerarse como vivo dentro del sistema. Proceso Parado: El proceso se encuentra parado bien sea por una seal de control de trabajo o por 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 junto a 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 entrado en este estado (sin serlo realmente), si se revisa el archivo de cabecera mencionado en la nota al 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 proceso finaliza 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 detenido intencionalmente por un usuario y posteriormente enviado al background con el comando bg

Por ejemplo:
edelacru@m-net.arbornet.org% 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/nologin operator:*:2:5:System &:/:/sbin/nologin bin:*:3:7:Binaries Commands and Source,,,:/:/sbin/nologin tty:*:4:65533:Tty Sandbox:/:/sbin/nologin kmem:*:5:65533:KMem Sandbox:/:/sbin/nologin ?:*:6:4:HELP Alternate:/usr/noton:/usr/noton/help bye:*:6:50:Hang up the modem:/usr/noton:/usr/noton/hangup f:*:6:32766:F pseodopern:/usr/noton:/usr/local/bin/f finger:*:6:32766:FINGER Pseudopern:/usr/noton:/usr/local/bin/finger h:*: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/help new:*:6:32766:HELP Alternate:/usr/noton:/usr/noton/help phone:*:6:32766:Phone Line Pseudopern:/usr/noton:/usr/noton/phone phones:*:6:32766:Phone Line Pseudopern:/usr/noton:/usr/noton/phone quit:*:6:32766:Hang up the modem:/usr/noton:/usr/noton/hangup quota:*:6:32766:quota user prototype:/usr/noton:nologin who:*:6:32766:WHO Pseodopern:/usr/noton:/usr/bin/who mailadm:*: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 edelacru@m-net.arbornet.org% bg [1]+ more passwd & Proceso enviado al segundo plano [1]+ Stopped edelacru@m-net.arbornet.org% more passwd

B. Control de trabajos Para controlar los trabajos es posible utilizar la combinacin de teclas [Ctrl] + [z] para detener y suspender la ejecucin (pausa) o la combinacin de teclas [Ctrl] + [c] que termina generalmente un proceso, otros comandos para control de trabajos son: jobs, fg , ps y kill. Ejemplo:
edelacru@m-net.arbornet.org% edelacru@m-net.arbornet.org% jobs [1]+ Stopped more passwd edelacru@m-net.arbornet.org% fg # Continua con el comando more que se habia detenido # $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/nologin operator:*:2:5:System &:/:/sbin/nologin bin:*:3:7:Binaries Commands and Source,,,:/:/sbin/nologin tty:*:4:65533:Tty Sandbox:/:/sbin/nologin kmem:*:5:65533:KMem Sandbox:/:/sbin/nologin ?:*:6:4:HELP Alternate:/usr/noton:/usr/noton/help bye:*:6:50:Hang up the modem:/usr/noton:/usr/noton/hangup

f:*:6:32766:F pseodopern:/usr/noton:/usr/local/bin/f finger:*:6:32766:FINGER Pseudopern:/usr/noton:/usr/local/bin/finger h:*: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/help new:*:6:32766:HELP Alternate:/usr/noton:/usr/noton/help phone:*:6:32766:Phone Line Pseudopern:/usr/noton:/usr/noton/phone phones:*:6:32766:Phone Line Pseudopern:/usr/noton:/usr/noton/phone quit:*:6:32766:Hang up the modem:/usr/noton:/usr/noton/hangup quota:*:6:32766:quota user prototype:/usr/noton:nologin who:*:6:32766:WHO Pseodopern:/usr/noton:/usr/bin/who mailadm:*:7:16:Mail List Administrator:/s/mailadm:/bin/tcsh - More edelacru@m-net.arbornet.org% 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/nologin operator:*:2:5:System &:/:/sbin/nologin bin:*:3:7:Binaries Commands and Source,,,:/:/sbin/nologin tty:*:4:65533:Tty Sandbox:/:/sbin/nologin kmem:*:5:65533:KMem Sandbox:/:/sbin/nologin ?:*:6:4:HELP Alternate:/usr/noton:/usr/noton/help bye:*:6:50:Hang up the modem:/usr/noton:/usr/noton/hangup f:*:6:32766:F pseodopern:/usr/noton:/usr/local/bin/f finger:*:6:32766:FINGER Pseudopern:/usr/noton:/usr/local/bin/finger h:*: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/help new:*:6:32766:HELP Alternate:/usr/noton:/usr/noton/help phone:*:6:32766:Phone Line Pseudopern:/usr/noton:/usr/noton/phone phones:*:6:32766:Phone Line Pseudopern:/usr/noton:/usr/noton/phone quit:*:6:32766:Hang up the modem:/usr/noton:/usr/noton/hangup quota:*:6:32766:quota user prototype:/usr/noton:nologin who:*:6:32766:WHO Pseodopern:/usr/noton:/usr/bin/who mailadm:*:7:16:Mail List Administrator:/s/mailadm:/bin/tcsh - More Ctrl -z [1]+ Stopped more passwd edelacru@m-net.arbornet.org% ps PID TT STAT TIME COMMAND 48775 pk SN 0:00.22 -bash (bash) 89514 pk TN 0:00.00 /bin/sh /usr/bin/more passwd 89515 pk TN 0:00.01 /usr/bin/less -dRE -P- More - passwd 89524 pk RN+ 0:00.00 ps edelacru@m-net.arbornet.org% kill -9 89514 [1]+ Killed more passwd edelacru@m-net.arbornet.org%

Envo de seales a los procesos A. Seales Una seal es un "aviso" que puede enviar un proceso a otro proceso. El sistema operativo unix se encarga de que el proceso que recibe la seal la trate inmediatamente. De hecho, termina la lnea de cdigo que est ejecutando y salta a la funcin de tratamiento de seales adecuada. Cuando termina de ejecutar esa funcin de tratamiento de seales, continua con la ejecucin en la lnea de cdigo donde lo haba dibujado. El sistema operativo enva seales a los procesos en determinadas circunstancias. Por ejemplo, si en el programa que se est ejecutando en una shell nosotros apretamos Ctrl-C, se est enviando una seal de terminacin al proceso. Este la trata inmediatamente y sale. Si nuestro programa intenta acceder a una memoria no vlida (por ejemplo, accediendo al contenido de un puntero a NULL), el sistema operativo detecta esta circunstancia y le enva una seal de terminacin inmediata, con lo que el programa "se cae". Las seales van identificadas por un nmero entero. No vamos a detallar todas, pero s alguna de las ms interesantes para el programador. Nombre de seal N Propsito. Se envia al proceso cuando... SIGINT SIGFPE SIGPIPE SIGALRM SIGUSR1 SIGUSR2 2 8 13 ... se pulsa Ctrl-C ... hay un error en coma flotante (ejemplo, divisin por cero) ... se intenta escribir en una conexin (socket, tubera, ...) rota (no hay proceso leyendo al otro lado).

14 ... cuando termina un temporizador. 16 ... el programador lo decide. Esta seal es para uso del programador. No la utiliza el sistema operativo.

17 ... el programador lo decide. Idem a la anterior

Nosotros, desde un shell de comandos unix, podemos enviar seales a los procesos con el comando kill. Su uso ms conocido es el kill -9 idProceso, que enva una seal 9 al proceso, haciendo que termine. Tambin es posible enviar seales desde un programa en C a otro programa en C que est corriendo en el mismo ordenador. Todas las seales tienen una funcin de tratamiento por defecto. Cuando nuestro programa est en ejecucin, si recibe una seal, saltar a la funcin por defecto para tratamiento de esa seal y luego continuar su ejecucin normal (si la seal no es de terminacin). Todo esto es totalmente invisible para nosotros. nicamente lo notaremos si nuestro programa se sale inesperadamente. Sin embargo, nuestro programa puede cambiar casi todas las funciones por defecto de tratamiento de seales, pudiendo hacer que al recibir una seal el programa haga lo que nosotros queramos.

B. El comando nohup El comando nohup sirve para que ejecute programas o conjunto de programas que normalmente toman mucho mas tiempo que el que un usuario permanece conectado, asi que permite seguir ejecutando los programas deseados aunque el usuario se desconecte de su sesin. Su sintaxis es:
/usr/bin/nohup programa

C. Envo de las seales Es posible enviar seales especificas a un proceso que este en ejecucin o en espera de alguna seal en particular, podemos usar el comando kill o cualquier combinacin de teclas que sea pertinente. Encolamiento de procesos A. El comando nice Prioridad en los procesos, esto es muy importante cuando hay muchos procesos activos y cantidades limitadas de memoria RAM, Disco Duro y CPU, para modificar la prioridad de un proceso se utiliza el comando nice. Sintaxis:
$ nice -n PRIORIDAD COMANDO

B. El comando at El comando at ejecuta un programa en el tiempo que se le especifique. La sintaxis es:


$ at [-c | -k | -s] [-f filename] [-q queuename] [-m] -t time [date] [-l] [-r]

Ejemplo:
at -m 01:35 < atjob

Ejecuta los commandos listados en el archivo 'atjob' a la 1:35AM.

10. Personalizacin del ambiente Repaso del shell

A. Las interfaces de la lnea de comandos Para un manejo eficiente del sistema, existen interpretes de comandos UNIX que manejan el ambiente con flexibilidad, cada uno de ellos tiene algunas ventajas sobre los otros, el control del ambiente se define con algn(os) archivos ocultos y adems adopta un smbolo como prompt. Los interpretes utilizados regularmente 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

B. Archivos para configuracin del ambiente Los archivos de configuracin de una cuenta normal se encuentran en el directorio home por ejemplo el directorio /home/guest/edelacru y son al menos los siguientes (ejemplo en FreeBSD y shell bash):
edelacru@m-net.arbornet.org% ls . .login .. .login_conf .cshrc .mail_aliases edelacru@m-net.arbornet.org% -a .mailrc .newsread .plan .procmailrc .profile .rhosts .shrc

Cada archivo tiene una funcin especfica, por ejemplo ".cshrc" se definen las rutas o paths de los 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)

A. Variables de ambiente Variables de ambiente necesarias para un buen funcionamiento del software,
setenv setenv setenv EDITOR vi PAGER more BLOCKSIZE

el mensaje del prompt del sistema


PS1="`whoami`@`hostname` %"

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

DEFINICION NUEVO COMANDO A REALIZAR ________________________________________________________ alias alias alias alias alias alias h j la lf ll cuentas history 25 jobs -l ls -a ls -FA ls -lA vi /etc/passwd

El ltimo alias sirve para editar el archivo de passwords del sistema.


C. Comandos de configuracin El comando set, permite cambiar los valores de las variables de ambiente y configurarlas segn las necesidades particulares del usuario. Ejemplos:
set path = (/sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin /usr/local/bin /usr/X11R6/bin $HOME/bin)

y
set prompt = "`whoami`@`hostname | sed 's+\..*++'`% "

B. Interfaces grficas Existen diversas interfases grficas para ambientes Unix, todas ellas permiten al usuario la sensacin de trabajar en un entorno tipo Windows se manejan ventanas y se aplican los conceptos de drag and drop arrastrar y soltar. A continuacin mencionaremos algunas de ellas y mostraremos algunos ejemplos. Las interfases grficas son mejor conocidas como manejadores de ventanas, existen versiones comerciales y gratuitas de las mismas para prcticamente todas las versiones de Unix del planeta. A continuacin se enlistan algunos manejadores de ventanas. CDE Common Desktop Environment. (Manejador de ventanas comercial), para plataforma Solaris.

TWM, FVWM2, FVWM95 Manejadores de ventanas gratuitos ya obsoletos. FVWM

TWM

KDE Contra parte del CDE completamente gratuito muy configurable y de cdigo fuente abierto.

GNOME Proyecto independiente lidereado por el Mexicano Miguel de Icaza (UNAM) para ofrecer otra alternativa de manejador de ventana para Linux aparte del KDE

11. Utileras de Red A. Comando Ping El comando ping permite mandar pequeos paquetes de datos a una interfase de red para saber si esa interfase esta activa, la interfase puede estar referenciada como una direccin IP tipo 148.201.10.6 o a una direccin descriptiva como club.gdl.iteso.mx El resultado que arroja el comando ping es el tiempo en milisegundos que tarda en responder la interfase de red a las peticiones de cada paquete enviado. Sintaxis:
$ping 148.201.1.1 $ping www.google.com

Ejemplo:
edelacru@m-net.arbornet.org % ping club.gdl.iteso.mx PING club.gdl.iteso.mx (148.201.10.6): 56 data bytes 64 bytes from 148.201.10.6: icmp_seq=0 ttl=255 time=150 ms 64 bytes from 148.201.10.6: icmp_seq=l ttl=255 time=100 ms 64 bytes from 148.201.10.6: icmp_seq=2 ttl=255 time=100 ms 64 bytes from 148.201.10.6: icmp_seq=3 ttl=255 time=100 ms 64 bytes from 148.201.10.6: icmp_seq=4 ttl=255 time=120 ms 64 bytes from 148.201.10.6: icmp_seq=5 ttl=255 time=150 ms 64 bytes from 148.201.10.6: icmp_seq=6 ttl=255 time=120 ms 64 bytes from 148.201.10.6: icmp_seq=7 ttl=255 time=120 ms ^? type interrupt key to stop --- club.gdl.iteso.mx ping statistics --8 packets transmitted, 8 packets received, 0% packet loss round-trip min/avg/max = 100/110/140 ms

El comando traceroute tambin es til para poder determinar todos los equipos por los cuales tiene que brincar un paquete desde una maquina origen hasta una maquina destino. Ejemplo, para determinar cuantos equipos estan entre la maquina m-net.arbornet.org y la maquina foxxy.triohost.com:
edelacru@m-net.arbornet.org %traceroute foxxy.triohost.com traceroute to foxxy.triohost.com (65.110.50.10), 64 hops max, 40 byte packets 1 host-64-9-205-1.a2webhosting.com (64.9.205.1) 1.238 ms 0.231 ms 0.192 ms 2 64.9.206.6 (64.9.206.6) 19.036 ms 21.033 ms 17.791 ms 3 64.9.192.13 (64.9.192.13) 19.738 ms 18.468 ms 29.895 ms 4 64.9.192.12 (64.9.192.12) 236.720 ms 197.099 ms 203.558 ms 5 64.9.192.34 (64.9.192.34) 1.728 ms 8.492 ms 2.825 ms 6 500.Serial2-6.GW3.DET5.ALTER.NET (157.130.126.81) 5.820 ms 5.344 ms 5.667 ms 7 0.so-0-2-0.CL2.DET5.ALTER.NET (152.63.23.46) 5.856 ms 5.633 ms 5.479 ms 8 0.so-0-3-0.XL2.CHI2.ALTER.NET (152.63.69.218) 12.197 ms 18.860 ms 11.984 ms 9 POS7-0.BR3.CHI2.ALTER.NET (152.63.68.5) 19.910 ms 18.193 ms 13.581 ms

10 204.255.168.130 (204.255.168.130) 13.034 ms 14.438 ms 13.039 ms 11 so1-0-0-2488M.ar2.TPA1.gblx.net (67.17.66.169) 65.456 ms 70.428 ms 68.110 ms 12 ExpedientSago-NetworksDashboard-Communications.ge-2-0-0.ar2.TPA1.gblx.net (64.215.80.66) 114.521 ms 116.250 ms 122.397 ms 13 unknown.sagonet.net (65.110.32.17) 160.271 ms 133.944 ms 84.682 ms 14 * foxxy.triohost.com (65.110.50.10) 186.100 ms 134.124 ms edelacru@m-net.arbornet.org %

B. Write y talk El comando write fue probablemente el primer comando de comunicacin en tiempo real interactiva, este comando permite mandar un mensaje a un usuario que este conectado a una sesin en el sistema Unix. Ejemplo:
edelacru@m-net.arbornet.org% write diana writing to diana on ttypp este es un mensaje de prueba [Ctrl]+[D] EOF (edelacru) edelacru@m-net.arbornet.org%

se presionan las teclas para enviar

Y el usuario diana recibir el mensaje en ese momento.


diana@m-net.arbornet.org % Message from edelacru on ttypq at 17:36 EST ... saludos! diana@m-net.arbornet.org %

El comando talk se cre para funcionar como un telfono de texto, porque los caracteres que escriba cada uno de los participantes aparecen en la pantalla al mismo tiempo que se teclean generando comunicacin en tiempo real que no puede ser editada antes de enviarse!, al ejecutar el comando la pantalla se divide en 2 la parte superior de la pantalla siempre corresponde al usuario que esta frente a la computadora. La sintaxis para usar el comando talk es la siguiente:
edelacru@m-net.arbornet.org% talk diana [No connection yet] [Checking for invitation on caller's machine] [Checking for invitation on caller's machine]

Del otro lado aparece el siguiente mensaje para el usuario Diana.


diana@m-net.arbornet.org% Message from Talk_Daemon@m-net.arbornet.org at 15:07 ... talk: connection requested by edelacru@m-net.arbornet.org. talk: respond with: talk edelacru@m-net.arbornet.org. diana@m-net.arbornet.org% talk edelacru@m-net.arbornet.org

El usuario Diana se comunica y la pantalla se divide para ambos para dar paso a la comunicacin directa.
[Connection stablished] Hola Eric Como estas?

Yo bien y tu? Como sigue Roberto?

Tambin es importante mencionar que el comando talk permite comunicarse a dos personas en equipos separados en Internet, ah la sintaxis del comando cambia.
edelacru@m-net.arbornet.org% talk diana@tunku.uady.mx

Sin embargo es possible que los daemons de comunicacin de ambas maquinas no sean compatibles o que esten escuchando en puertos diferentes y en ese caso no es posible utilizar el servicio talk. C. Controlando acceso a la comunicacin (mesg ) Para controlar las comunicaciones en Unix existe el comando mesg, la sintaxis es la siguiente:
mesg y mesg n

para aceptar mensajes de otros usuarios. para evitar mensajes de otros usuarios.

D. Archivo /etc/ hosts El archivo /etc/hosts contiene informacin relativa a mapeo directo de direcciones IP de equipos y su relacin con el nombre descriptivo a los que podemos acceder ya sea en una red local o en Internet por medio del subsistema de red TCP/IP, pasando por encima de del DNS.

El formato del archivo es el siguiente:


# # hosts # # # # # Syntax: # # IP-Address #

This file describes a number of hostname-to-address mappings for the TCP/IP subsystem. It is mostly used at boot time, when no name servers are running. On small systems, this file can be used instead of a "named" name server.

Full-Qualified-Hostname

Short-Hostname

127.0.0.1 localhost 10.1.39.199 suse99.utmetropolitana.edu.mx

suse99

E. Ingresando a un host remoto (telnet) El comando telnet nos permite entablar una conexin remota con otro equipo en Internet, desde luego que se debe tener una cuenta y un password validos en el sistema remoto para poder entrar en el. La sintaxis es la siguiente: telnet direccion_de_internet Ejemplo:
edelacru@m-net.arbornet.org% telnet mstore-1.ucs.ed.ac.uk Trying 129.215.112.1 ... Connected to mstore-1.ucs.ed.ac.uk. Escape character is '^]'.

SunOS UNIX (mstore-1) login:

F. Transfiriendo archivos entre hosts (ftp) El comando ftp es un comando que permite transferir archivos entre equipos, su nombre significa File Transfer Protocol Protocolo de Transferencia de Archivos. La sintaxis del comando ftp es la siguiente: ftp direccion_de_internet

Ejemplo, a continuacin se muestra una sesin tpica en la que se realiza una conexin a un sitio ftp annimo en Internet y se procede a entrar y mediante comandos del servicio ftp se transfiere remotamente un archivo:
edelacru@m-net.arbornet.org% ftp ftp.cdrom.com Conectado a cdrom.wip.digitalriver.com. 220 drftp.digitalriver.com NcFTPd Server (licensed copy) ready. Usuario (cdrom.wip.digitalriver.com:(none)): anonymous 331 Guest login ok, send your complete e-mail address as password. Contrasea: 230-You are user #11 of 400 simultaneous users allowed. 230230 Logged in anonymously. ftp> hash Impresin de marcas "hash" Activo ftp: (2048 bytes/marca "hash") . ftp> bin 200 Switching to Binary mode. ftp> get README.TXT 200 PORT command successful. Consider using PASV. 150 Opening BINARY mode data connection for README.TXT (6430 bytes). ### 226 File send OK. ftp: 6430 bytes recibidos en 4.64 segundos 1.39 a KB/s. ftp>bye goodbye edelacru@m-net.arbornet.org%

Comandos de FTP: hash bin get put Pone una marca por cada 1024 bytes de transferencia pone la transferencia de archivos en modo binario obtiene un archivo sube un archivo

mget obtiene multiples archivos mput sube multiples archivos-

delete borra un archive (solo si tiene derechos) bye termina la sesin de ftp.

12. Utileras de Administracin A. Desplegar utilizacin del sistema de archivos Para desplegar la utilizacin del sistema de archivos y sus puntos de montaje, se utiliza el comando df, a continuacin se muestra un ejemplo de esto:
edelacru@m-net.arbornet.org % Filesystem 1K-blocks Used /dev/ad0s1a 1032142 181104 /dev/ad1s1e 540903 234328 /dev/ad1s1f 961999 671766 /dev/ad1s2f 96215 13546 /dev/ad0s1e 2064302 16876 /dev/ad1s2g 961999 332783 /dev/ad0s1g 2064302 1841784 /dev/ad0s1f 1032142 693342 /dev/ad3s1e 10322414 6116222 /dev/ad1s1h 820839 429982 /dev/ad1s2h 19815 6827 /dev/ad1s2e 3739054 3084490 /dev/ad1s1a 6118816 115408 edelacru@m-net.arbornet.org % df Avail Capacity 768468 19% 263303 47% 213274 76% 74972 15% 1882282 1% 552257 38% 57374 97% 256230 73% 3380400 64% 325190 57% 11403 37% 355440 90% 5513904 2% Mounted on / /usr /usr/local /bin/suid /tmp /usr/obj /source /var /var/mail /usr/bbs /root /home /scrap

La columna Capacity nos indica el espacio ocupado en ese sistema de archivos en porcentaje.

B. Comando du El comando du permite conocer el uso de disco duro de un directorio en particular. Ejemplo:
edelacru@m-net.arbornet.org %pwd /home/guest/edelacru edelacru@m-net.arbornet.org% du 1 ./directorio1/directorio2 4 ./directorio1 4 ./ejercicios 1 ./practicas 880 . edelacru@m-net.arbornet.org %

C. Ejecucin de comandos periodicos El comando crontab y el daemon crond Es posible programar procesos que se ejecuten ya sea peridicamente de forma regular o que se ejecuten en un tiempo futuro, horas, dias, semanas, meses mas tarde. Puede utilizar el comando crontab para ejecutar comandos a intervalos regulares. Por ejemplo, puede enviar a su buzn un recordatorio semanal de correo electrnico en relacin con una reunin o borrar todos los das todos los archivos "tmp". El comando crontab crea un archivo con su nombre de usuario en el directorio /var/spool/cron/crontabs. Los comandos del archivo se ejecutan conforme a los intervalos especificados en el directorio inicial. Cada lnea de un archivo crontab contiene seis campos separados por espacios o tabulaciones. Los primeros cinco campos especifican la hora a la que se ejecutar el comando: minuto (0-59) hora (0-23) da del mes (1-31) mes del ao (1-12) da de la semana (0-6, donde 0=domingo) El sexto campo es una cadena que se ejecuta a la hora apropiada. Para crear un archivo de comando crontab, escriba:
$ crontab

A continuacin, escriba los comandos que desee programar y presione Ctrl-D.


30 8 * * 4 0 0 * * * Ctrl-D echo "Reunin de personal hoy a las 10:00 AM" rm *.tmp 2 > errfile

El archivo crontab se interpreta del modo siguiente: El jueves a las 8:30, crontab le enva un recordatorio de la reunin del personal planificada para las 10:00. El primer campo (30) indica 30 minutos despus de la hora. El segundo campo especifica la hora (8). Los asteriscos corresponden a los valores legales. El 4 significa jueves. Todos los das, a medianoche, crontab borra los archivos de su directorio que tengan la extensin *.tmp. Los mensajes de error se desvan a un archivo que se llama errfile y est ubicado en el directorio inicial.

Listado de las entradas de crontab Para obtener una lista de las entradas actuales del comando crontab, utilice la opcin -l.
$ crontab -l

D. Comandos para respaldar informacin. Administrativamente la actividad de crear respaldos de informacin parece no tener mucha trascendencia sin embargo esta practica se vuelve vital cuando sucede algn desastre fsico (Huracn, Terremoto, Descargas Electricas, etc) al equipo. Entre los comandos que tenemos para respaldar la informacin estan el tar y el cpio Estos comandos permiten empacar archivos y directorios en el medio de almacenamiento que se prefiera, Disco Duro, floppy o Cinta. El comando tar fu analisado anteriormente por lo tanto nos concentraremos en el cpio, el comando cpio funciona en conjunto con el comando find Cpio
find . -print|cpio ocvBdum>/dev/fd0 ls|cpio -ocvBdum>/dev/fd0 cpio -icvBdum</dev/fd0 cpio -icvBdum</dev/fd0 "archivo1"

Copia todos los archivos del directorio actual (incluyendo los subdirectorios) en el floppy. Lo mismo que el anterior, pero no copia los subdirectorios. Recupera todos los archivos del cartridge al directorio actual. Recupera el archivo1 del cartridge al directorio actual.

13. Montaje de dispositivos en Unix/Linux


Un sistema de archivos, no es ms que una particin en el disco duro (que puede ser nica) la cual tiene un formato, y el formato es la forma de colocar los archivos. Por lo que para que un Sistema Operativo solo entienda su sistema de archivos, como por ejemplo pueden ser: Windows, MS-DOS, OS/2, etc., etc... cuando se carga el sistema, automticamente tambin cargan su sistema de archivos, y trabajan con su sistema de archivos, nica y exclusivamente. (hasta que no se le aadan mdulos al kernel o ncleo del Sistema Operativo). Linux, carga automticamente su Sistema de archivos, al cargar, se le denomina "montar", en ese momento, pero Linux, al contrario que otros sistemas puede adems acceder a Sistemas de Archivos que no son suyos, es decir, es posible desde Linux o Unix, acceder a una particin de

MS-DOS, Windows, OS/2, etc., etc. Es ms, se puede acceder a un disquete o disquetes que estn formateados en otros sistemas, por ejemplo de un Mac.

ext2 (ext3) NFS msdos vfat iso9660 auto

Navita de Linux Network File System Sistemas D.O.S. Sistemas Windows Sistema de archivos de CD-ROMs Intenta montar cualquier Sistema

(ms sistemas de (ms sistemas operativos) archivos)

Para montar un disquete se puede hacer los siguiente:

(En este caso, debers asegurarte de que existe el directorio /mnt/floppy, si no existiera cralo usando: mkdir /mnt/floppy)

introduzca el disquete en la disquetera escriba: mount -t msdos /dev/fd0 /mnt/floppy escriba cd /mnt/floppy

A partir de este momento el disquete esta montado en el sistema de directorios de Unix y puede trabajarse dentro de el como si se tratara de un directorio mas de Unix, se puede ver archivos y directorios, copiar, editar y borrar archivos con comandos normales de Unix. El comando utilizado para hacer esto posible es el comando mount su estructura en sintaxis es la siguiente:

mount t sistema_archivos dispositivo_especial directorio_punto_de_montaje en nuestro ejemplo:


edelacru@m-net.arbornet.org % mount t msdos /dev/fd0 /mnt/floppy

Por ejemplo para montar el cdrom sera:

mount -t iso9660 /dev/cdrom /mnt/cdrom

Se ha montado el cdrom, a travs del estndar iso9660 (que es general a casi todos los cdroms) Para entrar al cdrom se teclea:
cd /mnt/cdrom

Para montar del disco duro, la particin que tienes para, por ejemplo Windows

mount -t vfat /dev/hda1 /mnt/win cd /mnt/win

para acceder a la particin

Desmontar Unidades Desmontar las unidades es FUNDAMENTAL, si no se desmontan las unidades y no se cierra correctamente el sistema se corre el riesgo de perder datos. Para desmontar las unidades bastar con escribir:
umount /dev/[dispositivo montado que se quiera desmontar]

Ejemplos:

umount /dev/df0

Desmontar el disquete.
umount /dev/hda1

Desmontar la particin 1 del disco duro A


umount -a

Desmontar TODAS las unidades montadas. Montaje de memorias tipo flash memory USB

En Linux es posible montar una unidad de memoria USB de la siguiente manera:

mount t auto /dev/sda1 /mnt/usbdisk

es importante asegurarse que el directorio /mnt/usbdisk exista si no lo tendremos que crear, no olvidar que se necesitan los privilegios de root para estas operaciones. Para desmontar se teclea:
umount /dev/sda1

En el caso de otros sistemas Unix como FreeBSD la sintaxis es diferente:


mount t msdos /dev/da0s1 /mnt/usbdisk

Para desmontar se teclea:


umount /dev/da0s1

You might also like