Anda di halaman 1dari 57

INTRODUCCION

El sistema operativo UNIX se inici en una DEC PDP-7 deshechada, en los Laboratorios Bell durante 1969. En 1973, Ritchie y Thompson reescribieron el kernel (ncleo) de UNIX en C, rompiendo as con la tradicin de que el software de sistemas est escrito en lenguaje ensamblador. Hacia 1974 fue introducido en las universidades "con fines educacionales" y al cabo de pocos aos estaba ya disponible para uso comercial. El UNIX es un sistema portable (se ejecutan en una extensa variedad de computadoras), flexible, otente, con entorno progamable, multiusuario y multitarea.

1. LOGGING IN
El administrador del sistema es una persona designada para mantener el sistema, leer el nuevo software, establecer nuevas cuentas y otras tareas. El administrador del sistema tiene que asignar un login ID (nombre de usuario) y un password a los usuarios para que puedan empezar a trabajar. 1. 1. LOGIN ID El login ID es el nombre que el administrador del sistema asigna a cada usuario. 1. 2. PASSWORD En sistemas con varios usuarios, el password permite prevenir que alguien utilice mi login, pus es secreto. El fichero donde estn almacenados los passwords de los usuarios es /etc/password. Para que un password sea vlido debe contener como mnimo 6 caracteres, y el primero debe ser alfabtico; pero nicamente los 8 primeros son significativos. El password puede contener letras en maysculas o minsculas, caracteres numricos y caracteres especiales. Para crear un nuevo password o cambiar uno ya existente se utiliza el comando passwd, cuya sintaxis es:
passwd

En la siguiente figura se ilustra cmo se cambia un password.


_______________________________________________________________________ 1 /mnt/carmen % passwd Changing password for carmen on emducms1

Old password: New password: Re-enter new password: Rebuilding passwd and pwrestrict databases... 2 /mnt/carmen % _______________________________________________________________________

2. PROMPT DEL SISTEMA


Una vez que se ha introducido el login y el password aparecer en la parte izquierda de la pantalla el signo %, que es el prompt de comando. Indica que el ordenador est preparado para aceptar los comandos. El sistema tiene por defecto dos promts, que son:
% para Berkeley C Shell (Utilizado en el SIS) $ para Bourne Shell

El prompt puede cambiarse, pero siempre aparece a la izquierda del cursor. Una vez que se ha ejecutado un comando vuelve a aparecer el prompt, esto significa que el sistema est preparado para leer otro comando.

3. LOGGING OUT
Cuando se ha terminado de utilizar el ordenador, nos podemos desconectar de dos formas:
tecleando logout o pulsando las teclas CTRL+D (quitado en el SIS)

Si sale el mensaje: "There are stopped jobs" , para poder abandonar el proceso se utiliza la instruccin jobs y luego se pulsa CTRL+D

4. CORRECCIONES

CTRL+H o la tecla de backspace : borra el ltimo carcter. CTRL+W : borra la ltima palabra. CTRL+U : borra la ltima lnea.

5. CARACTERES DE CONTROL DE TRABAJOS


CTRL+S : para la pantalla. CTRL+Q : para continuar. CTRL+O : descarga una salida del terminal. CTRL+C : para "matar" un proceso (siempre que el programa tenga un control de terminacin). CTRL+Z: para enviar a "dormir" (o detener) un proceso; luego se puede "revivir".

Para configurar el teclado se utiliza el comando stty en el fichero .login

6. ESTRUCTURA GENERAL DE LOS COMANDOS


La sintaxis bsica de todos los comandos es:
COMANDO [OPCIONES] ARGUMENTOS

donde:
COMANDO : es el nombre del comando. [OPCIONES] : son caracteres opcionales propios de cada comando. ARGUMENTOS : son los objetos con los que van a trabajar los comandos (normalmente son ficheros).

Se pueden poner varios comandos en una misma lnea separndolos con un ; . La longitud de la lnea del terminal est limitada, por lo que para continuar escribiendo un comando en la lnea siguiente se pone un backslash (\). Se pueden ejecutar los comandos como un "todo" ponindolos entre parntesis.

7. COMANDOS BASICOS DE INFORMACION


7. 1. COMANDO date

Este comando se utiliza para obtener la fecha y la hora. Su formato es :


date

7. 2. COMANDO cal Se utiliza para obtener el calendario de cualquier mes y de cualquier ao. Su formato es:
cal [mes] ao mes Los meses se representan por sus valores numricos ( 1 - 12 ). ao El ao es requerido aunque se especifique el mes, pus si ponemos un nico nmero en la lnea de comando, cal considera que se refiere al ao y no al mes.

7. 3. COMANDO who Se utiliza para obtener una lista de los usuarios que estn conectados al sistema; en este caso el formato del comando es:
who

La salida del comando who incluye el nombre del usuario, una etiqueta de la terminal que est utilizando y la fecha y hora en que se ha conectado. Veamos 2 extensiones de este comando: 1. whoami Informa del usuario efectivo que se es. 2. who am i Informa del usuario real que se es.

FICHEROS
Un fichero es una coleccin de informacin que se almacena en un disco o cinta magntica. Los ficheros del sistema son estructuras que los ordenadores utilizan para organizar y almacenar informacin. Existen 2 tipos de ficheros del sistema:

Ficheros ordinarios : estos ficheros contienen datos, textos y programas ejecutables (comandos). Ficheros directorios : estos ficheros contienen nombres de ficheros. Los directorios no se utilizan para almacenar datos, si no que se utilizan para organizar otros ficheros en grupos.

1. NOMBRES DE FICHEROS

Todos los ficheros tienen asociado un "nombre de fichero" ; este nombre identifica el fichero y su contenido. El nombre de un fichero puede tener de 1 a 255 caracteres; pero se pueden utilizar nicamente los siguientes caracteres:
Letras maysculas ( A - Z ). Letras minsculas ( a - z ). Nmeros ( 0 - 9 ). Subrayado ( _ ). Punto ( . ). Coma ( , ).

2. EXTENSION DE UN FICHERO
Las extensiones de ficheros proporcionan una ayuda para clarificar el contenido del fichero. Van precedidas por un punto ( . ) en el nombre del fichero. El UNIX utiliza algunas extensiones para realizar ciertas operaciones; por ejemplo, para compilar un programa FORTRAN, el nombre del fichero que contiene las sentencias Fortran, debe tener una determinada extensin (.f). Pero en la mayora de los casos las extensiones de los ficheros son opcionales.

3. METACARACTERES
Son smbolos especiales que realizan alguna operacin en algunos comandos. Estos metacaracteres son:

Asteriscos (*) : Se sustituye por cualquier secuencia de caracteres. Interrogacin (?) : Se sustituye por cualquier carcter. Corchetes ([]) :Se utilizan para especificar una lista de caracteres o un rango. Cuando se utilizan para especificar un rango hay que poner el signo - separando el primer carcter y el ltimo del rango.

En la siguiente figura aparecen ejemplos de cmo se utilizan los metacaracteres.


________________________________________________ % % ls t* test1 ls test? test1.dato test2 test3

% % _________________________________________________

test1 test2 test3 ls *[13] states1 test1 test3 ls [o-z]*

4. FICHEROS INVISIBLES
Los ficheros cuyos nombres comienzan con un punto (.) se llaman "ficheros invisibles" porque normalmente no aparecen cuando se pide el listado de un directorio. Normalmente los ficheros invisibles se utilizan para almacenar informacin que el sistema utiliza automticamente.

5. ESTRUCTURA JERARQUICA DE FICHEROS


La estructura del conjunto de todos los ficheros del sistema, es una estructura de rbol invertido, como se puede apreciar en la figura siguiente. Un directorio equivale a abrir una rama dentro del rbol.

Observemos que:

Los directorios pueden contener otros directorios, ficheros ordinarios o estar vacos. Un fichero ordinario es siempre el ltimo fichero en un path (camino).

El primer directorio de la estructura es el directorio raz; todos los dems ficheros y directorios parten de l. El directorio raz se designa con un nombre especial, /. Ningn otro fichero puede tener este nombre.

En el sistema UNIX, todos los ficheros forman parte de la jerarqua. Cualquier fichero de esta estructura es parte de una red de directorios conectados. Esta red de directorios, junto con el nombre de un fichero particular, constituye el pathname para un fichero. Cada fichero se identifica con un nico pathname, que describe su localizacin con respecto a los otros directorios. Se puede especificar un nombre de fichero utilizando pathnames absolutos o relativos:
Un pathname absoluto especifica la localizacin de un fichero desde el directorio raz. Por lo tanto, todos los pathnames absolutos deben de empezar con un slash (/). Un pathname relativo especifica la localizacin de un fichero con respecto al directorio en que se est trabajando, en lugar del directorio raz, por lo que no empienzan con un slash (/).

El punto (.) se refiere al directorio en que se est, y dos puntos (..) se refiere al directorio anterior.

6. HOME DIRECTORY
El home directory es un subdirectorio del directorio raz (root) en el que se entra cada vez que se hace login; es donde van a residir los ficheros del usuario. Normalmente tiene el mismo nombre que el nombre de usuario.

7. COMANDO pwd
El comando pwd ( print working directory) nos dice en qu directorio estamos. El formato es simplemente :
pwd

8. COMANDO ls
Lista el contenido del directorio en que nos encontramos. Si ponemos slo ls se obtiene una lista con el nombre de los ficheros; si se quiere obtener ms informacin sobre esos ficheros se utilizan las opciones del comando, cuya sintaxis general es:
ls [-alsF] fichero -a Lista adems los ficheros invisibles (es decir, los que empiezan por punto)

D la siguiente informacin de los ficheros : TIPO DE FICHERO :

d directorio - fichero ordinario


TIPO DE PERMISOS : r lectura w escritura x ejecucin NUMERO DE ENLACES NOMBRE DEL PROPIETARIO DEL FICHERO TAMAO DEL FICHERO (en bytes) FECHA DE LA ULTIMA MODIFICACION NOMBRE DEL FICHERO

-l

NOTA.- ls -l es equivalente a ll
-s -F El tamao del fichero en kilobytes (1024 bytes) precede al nombre de cada fichero. Aade un / a los ficheros directorios y un * a los ficheros ordinarios ejecutables.

NOTA.- ls -F es equivalente a lf

fichero Nombre de un fichero o un directorio.

Estas opciones se pueden combinar para obtener la informacin que queramos al mismo tiempo; por ejemplo, ls -sF, dar la lista de los ficheros en la que el nombre de cada fichero va precedido por su tamao (en kilobytes) y va seguido de un slash (/) en el caso de que sea un directorio o de un asterisco (*) en el caso de que sea un fichero ejecutable. Por ltimo, indicaremos que se puede listar el contenido de un directorio diferente al que estamos, sin ms que especificar el path correspondiente a continuacin de las opciones; por ejemplo: ls -s /usr/Johnson/documentacin

PROTECCION DE FICHEROS
El sistema UNIX posee un medio sencillo para controlar quin puede acceder o no a sus ficheros.

Existen tres clases diferentes de usuarios de un fichero y tres modos diferentes de acceso al fichero. Estas tres clases de usuarios figuran en la siguiente tabla:
CLASE DE USUARIO PROPIETARIO<7td> GRUPO OTROS EXPLICACION Usuario que ha creado el fichero. El propietario tiene capacidad de controlar quien puede acceder al fichero. Grupo de usuarios, normalmente relacionados por un departamento o funcin. Un usuario de este tipo puede acceder al fichero, pero no puede cambiar quien puede acceder al fichero. Cualquier otro usuario del sistema. Estos usuarios pueden nicamente acceder al fichero si tienen permiso para ello.

Tabla 3.1. Para cada una de las tres clases de usuarios existen 3 modos de acceso diferentes. Estos tres modos figuran en la tabla 3.2..
MODO LECTURA (r) FICHERO ORDINARIO Permite examinar el contenido del fichero.<7td> Permite ejecutar el fichero como un comando. FICHERO DIRECTORIO Permite listar los ficheros contenidos en el directorio.<7td>

ESCRITURA (w) Permite cambiar el contenido del fichero. Permite crear y borrar ficheros. EJECUCION (x) Permite buscar en el directorio.

Tabla 3.2.

1. ESPECIFICACION DE LOS PERMISOS


Para especificar quin puede tener acceso a los ficheros y qu permisos tiene, es necesario designar leer (r), escribir (w) y ejecutar (x) para cada uno de los tres grupos de usuarios: propietario, grupo y otros. Estos permisos tienen que ponerse en el mismo orden que aparecen cuando se utiliza el comando ls -l ll ; es decir:
rwx rwx | | | | | | | | usuarios | | propietario rwx | |

permisos para otros usuarios permisos para el grupo de permisos para el usuario

Siempre que est presente una letra (r, w x), quiere decir que el usuario correspondiente tiene el permiso especificado; pero cuando en su lugar aparece un guin (_), el usuario no tiene el permiso correspondiente.

2. CAMBIO DE PERMISOS : COMANDO chmod


El comando chmod (change mode) se utiliza para cambiar los permisos de un fichero ordinario y de un directorio. Existen dos formas de cambiar los permisos. Se pueden cambiar teniendo en cuenta los permisos existentes (modo simblico), o se pueden asignar permisos independientemente de los ya existentes (modo absoluto). 2. 1. MODO SIMBOLICO Cuando se utiliza el modo simblico se pueden aadir o quitar permisos a los ficheros y directorios. El formato del comando chmod simblico es:
chmod [who] cdigo-operador permisos fichero Tipo de usuario. Puede tener los siguientes valores:

u : propietario del fichero


who

g : grupo del que el propietario es miembro o : usuarios clasificados como otros a : todos los usuarios del sistema (propietario, grupo y otros)
Indica la operacin que se va a realizar:

cdigo-operador

+ : aadir permisos - : quitar permisos


Tipo de permiso:

r : permiso de lectura
permisos

w : permiso de escritura x : permiso de ejecucin

fichero

Nombre de fichero o directorio.

Por ejemplo, supongamos que el fichero mary tiene los siguientes permisos: rwx r_ _ r_ _ y supongamos que queremos dar al grupo de usuarios y al resto de los usuarios del sistema, el permiso de ejecucin; entonces pondramos:

chmod go +x datos 2. 2. MODO ABSOLUTO El modo absoluto se especifica con 3 dgitos numricos; cada nmero representa los permisos de cada tipo de usuario. Estos dgitos se obtienen, para cada clase de usuario, a partir de los valores siguientes:

4 : permiso de lectura
2 : permiso de escritura 1 : permiso de ejecucin.

As tendremos:

0 : ningn permiso
1 : permiso de ejecucin 2 : permiso de escritura 3 : permiso de ejecucin y escritura (1+2) 4 : permiso de lectura 5 : permiso de lectura y ejecucin (4+1) 6 : permiso de lectura y escritura (4+2) 7 : permiso de lectura, escritura y ejecucin (4+2+1)

La sintaxis para el comando chmod absoluto es:


chmod modo fichero modo Son 3 dgitos numricos. Cada uno de ellos corresponde a los permisos de cada tipo de usuario. fichero Nombre de fichero o directorio.

Por ejemplo: chmod 777 datos concede permisos de lectura, escritura y ejecucin sobre el fichero datos, a todos los usuarios.

MANEJO DE FICHEROS

Un fichero es una coleccin de informacin almacenada en un disco o en cinta magntica. Esta informacin se puede recuperar, modificar, aadir a la almacenada en un fichero ya existente, imprimir, comparar, ..., o slo ejecutar.

1. EDICION DE FICHEROS
Los comandos que se utilizan para editar un fichero son: cat y more.
1. 1. COMANDO cat

El comando cat (concatenate) se utiliza para visualizar por pantalla el contenido de uno o ms ficheros. Cuando se especifica ms de un fichero, cat los edita uno detrs de otro. La sintaxis del comando es:
cat [-ns] fichero(s) -n -s Numera las lneas. Elimina las lneas en blanco.

fichero(s) Nombre o nombres de los ficheros que se van a editar.

El comando cat no pagina, entonces se utiliza:


CTRL-S para parar la pantalla. CTRL-Q para continuar con la edicin.

El comando cat permite tambin concatenar ficheros; para ello se pondra:


cat fichero1 fichero2 ... > fichero n

entonces une los ficheros fichero1 fichero2 ... y lo almacena en el fichero n.


NOTA

Si se tuiliza por equivocacin el comando cat sin ningn argumento, intenta leer de la pantalla, por lo que no sale el prompt del sistema (se queda como colgada); entonces hay que poner:
CTRL-C o CTRL-D por lo que debemos de tener cuidado con esto.

Como el comando cat no pagina, cuando queramos editar un fichero que es muy largo, es aconsejable utilizar el comando more.
1. 2. COMANDO more

El comando more se utiliza para editar ficheros por la pantalla; la principal diferencia con cat es que se puede controlar el nmero de lneas que aparecen en pantalla, utilizando las teclas siguientes:

Con la "barra espaciadora" se avanza una pgina. Con la tecla de return se avanza una lnea.

Con la tecla DEL q se sale de la edicin.

La sintaxis de este comando es:


more [-cd] [+nmero de lneas] [+/path] fichero(s) -c -d +/path fichero(s) Edita pantalla a pantalla. Nmero de lneas que se van a editar. Path correspondiente al fichero que se va a editar. Nombre o nombres de los ficheros que se van a editar.

+nmero de lneas Nmero de la lnea a partir de la cual se va a editar.

Por ejemplo: more -c10 +25 +/aplicaci/datos editar 10 lneas, empezando por la 25, del fichero llamado datos que se encuentra en el directorio aplicaci.

2. COMANDOS PARA MANIPULAR FICHEROS


Se pueden manipular ficheros crendolos, borrndolos, cambiando su nombre o cambiando su contenido. Los comandos que se utilizan para manipular ficheros son: cp, rm y mv.
2. 1. COMANDO cp

El comando cp se utiliza para copiar ficheros. Su sintaxis es:


cp [-i] fichero entrada fichero destino Origina que el comando requiera una confirmacin, en el caso de que el fichero destino -i

ya exista; es decir, pregunta si se desea hacer la copia.

fichero entrada Nombre del fichero que se va a copiar. fichero destino Nombre del fichero en el que se va a copiar el contenido del fichero de entrada

En el caso de que el fichero destino ya exista, lo va a machacar, por lo que es recomendable utilizar la opcin -i para que nos pida confirmacin y as evitar posibles errores. Por ejemplo: cp -i datos datos.new
2. 2. COMANDO rm

El comando rm se utiliza para borrar ficheros. La sintaxis de este comando es:


rm [-i] fichero(s)

-i

Origina que el comando requiera confirmacin para ejecutarse.

fichero(s) Nombre o nombres de los ficheros que se van a borrar.

La opcin -i se debe de utilizar para pedir confirmacin antes de proceder al borrado.


2. 3. COMANDO mv

El comando mv se utiliza para renombrar ficheros; es decir, el contenido del fichero no cambia, slo cambia el nombre; o para mover ficheros entre directorios (se ver en el captulo siguiente). La sintaxis del comando es:
mv [-i] fichero entrada fichero destino Origina que el comando requiera una confirmacin, en el caso de que el fichero destino -i

ya exista; es decir, pregunta si se desea hacer la copia.


Nombre del fichero en el que se va a copiar el contenido del fichero de entrada.

fichero entrada Nombre del fichero que se va a copiar. fichero destino

En el caso de que el fichero destino exista, lo "machaca".

3. IMPRESION DE FICHEROS
3.1. COMANDO lpr

El comando lpr se utiliza para imprimir el contenido de uno o ms ficheros, por la impresora del sistema. La sintaxis del comando es:
lpr [-r] [-#nmero] [-p] fichero(s) -r Borra el fichero una vez que se ha imprimido. Imprime al principio de cada pgina una cabecera que incluye la fecha, el nombre del fichero y el nmero de pgina. -#nmero Nmero de copias que se quieren imprimir. -p

fichero(s) Nombre o nombres de los ficheros que se van a imprimir.

Por ejemplo: lpr -#3 -p datos.dat imprime 3 copias del fichero datos.dat y adems, en el pricipio de cada pgina imprime la fecha, el nombre datos.dat y el nmero de pgina.
3.2. COMANDO lpq

El comando lpq muestra en pantalla la cola de trabajo de impresin. La sintaxis del comando es:
lpq 3.3. COMANDO lprm

El comando lprm se utiliza para suprimir un fichero de la cola de impresin. La sintaxis del comando es:

lprm identificador identificador Nombre de un usuario, o nmero del trabajo, o nombre de un fichero.

MANEJO DE DIRECTORIOS
Sabemos que los directorios son un tipo de ficheros que contienen nombres de ficheros. Para visualizar los nomnbre de los ficheros que contiene se utiliza el comando ls (pg. ).

1. CREAR DIRECTORIOS : COMANDO mkdir


El comando mkdir (make directory) se utiliza para crear nuevos directorios. Su sintaxis es:
mkdir [path] directorio path Cuando el directorio no se quiere crear en el que se est, hay que indicar el path de donde se quiere crear.

directorio Nombre del directorio que se va a crear.

Por ejemplo, supongamos que estamos en /usr/mary y que queremos crear un directorio de nombre programa, en el directorio proyecto, entonces se pondra: mkdir proyecto/programa Observemos que el directorio proyecto no est precedido por un slash (/), pus es creado como parte del directorio en el que se est, es decir, en usr/mary.

2. ACCEDER A UN DIRECTORIO : COMANDO cd


El comando cd (change directory) se utiliza para moverse de un directorio a otro. Su sintaxis es:
cd [directorio] [..] [.] [~] [~nombre usuario] directorio .. Nombre del directorio al que se quiere acceder. Si este directorio no es el inmediatamente siguiente al que nos encontramos hay que indicar el pathname correspondiente, bien sea el absoluto o el relativo. Se refiere al directorio inmediatamente anterior al que nos encontramos.

. ~ ~nombre usuario

Se refiere al directorio en que estamos. Para ir directamente al Home directory. Para ir al Home directory del usuario especificado.

Con un mismo comando cd se puede avanzar y retroceder en la estructura de rbol, por ejemplo: cd /../../proyecto/datos

3. BORRAR DIRECTORIOS
Para borrar directorios se utilizan los comandos : rmdir rm -r. 3. 1. COMANDO rmdir El comando rmdir (remove directory) se utiliza para borrar un directorio; pero antes de utilizar este comando se deben de borrar todos los ficheros que contenga (incluidos los ficheros invisibles), es decir, el directorio que se va a borrar tiene que estar vaco. La sintaxis del comando es:
rmdir directorio directorio Nombre o nombres de los directorios que se van a borrar.

Si el directorio que se va a borra contiene algn fichero, cuando se ejecute el comando rmdir dar un mensaje de error. 3. 2. COMANDO rm -r En el captulo anterior hemos visto cmo borrar ficheros utilizando el comando rm, ahora veremos cmo utilizar este comando para borrar directorios, ya que stos son un tipo de ficheros. El comando rm -r borra recursivamente todos los ficheros que haya en el directorio y depus borra el directorio. La sintaxis del comando es:
rm -r [-i] directorio -i Origina que el comando requiera confirmacin para borrar cada uno de los ficheros contenidos en el directorio.

directorio Nombre del directorio que se va a borrar.

Un ejemplo de este comando es:

rm -r -i aplicaci

4. COPIAR FICHEROS ENTRE DIRECTORIOS: COMANDO cp


Para copiar ficheros entre dos directorios se utiliza el comando cp con la siguiente sintsxis:
cp directorio1/fichero1 directorio2/fichero2 directorio1 Nombre del directorio, o path, donde se encuentra el fichero que se va a copiar. fichero1 Nombre del fichero que se va a copiar. directorio2 Nombre del directorio, o path, donde se va a poner la copia del fichero. fichero2 Nombre que se le va a dar a la copia del fichero. Si se omite, la copia tendr el nombre del fichero original ( es decir, fichero1).

Si se omite directorio2, toma por defecto el directorio en el que nos encontramos; entonces la sintaxis de comando ser:
cp directorio1/fichero1 .

5. RENOMBRAR FICHEROS DE OTROS DIRECTORIOS: COMANDO mv


Para renombrar un fichero y/o trasladarlo a otro directorio se utiliza el comando mv, con formato:
mv directorio1/fichero1 directorio2/fichero2 directorio1 directorio2 fichero2 Nombre del directorio, o path, donde se encuentra el fichero que se va a copiar. Nombre del directorio,o path, donde se va a poner la copia del fichero. Nombre que se le va a dar a la copia del fichero. Si se omite, la copia tendr el nombre del fichero original ( es decir, fichero1). fichero1<=/th> Nombre del fichero que se va a copiar.

Si se omite directorio2, toma por defecto el directorio en el que nos encontramos; entonces la sintaxis de comando ser:
mv directorio1/fichero1 .

6. COPIAR EL CONTENIDO DE UN DIRECTORIO: COMANDO cpall


Para copiar el contenido de un directorio se utiliza el comando cpall, cuyo formato es:
cpall directorio1 directorio2 directorio1 Nombre del directorio del que se va a copiar el contenido. directorio2 Nombre del directorio donde se va a copiar el contenido del directorio1.

Ambos directorios deben de existir antes de ejecutar el comando.

7. COPIAR LA ESTRUCTURA DE UN DIRECTORIO: COMANDO cp -r


Para ello se utiliza el comando cp -r, con el siguiente formato:
cp -r directorio1 directorio2 directorio1 Nombre del directorio cuya estructura se va a copiar. directorio2 Nombre del directorio donde se va a copiar la estructura del directorio1.

Ambos directorios deben de existir antes de ejecutarse el comando cp -r.

ORDENES BASICAS DE PROCESAMIENTO DE FICHEROS 1. ORDENACION DE FICHEROS: COMANDO sort


El comando sort se utiliza para ordenar un fichero alfabtica o numricamente, en orden ascendente o descendiente. La sintaxis del comando es:
sort [-d n r f ] [-o nombrefichero] fichero

-d

Ordena en modo diccionario. Primero lista las lneas que empiezan con blancos, despus las lneas que empiezan por un nmero, y por ltimo las que empiezan por caracteres alfabticos.

Hay que tener en cuenta que con esta opcin los nmeros se ordenan alfabticamente, no numricamente; es decir, 122 aparecer antes que 21.
Ordena los nmeros de acuerdo con su valor. Cuando se utiliza esta opcin, primero aparecen las lnes que empiezan por caracteres alfabticos y luego los que empiezan por nmero. Ordena el fichero en orden descendente en vez de ascendente (que es como lo hace por defecto). Al ordenar, ignora la diferencia entre letras maysculas y minsculas. Si no se utiliza esta opcin aparecen primero las lneas que empiezan con letras minsculas.

-n -r -f

-o Redirecciona la salida ordenada al fichero especificado. nombrefichero fichero Nombre del fichero que se va a ordenar.

Por ltimo, si ponemos: sort +3 -5 frutas ordena el fichero frutas utilizando los campos 3, 4 y 5. Veamos un ejemplo:
_______________________________ % cat frutas naranja manzana 4 pltanos 12 peras % sort frutas 12 peras 4 pltanos mazana naranja % sort -n manzana naranja 4 pltanos 12 peras % _______________________________

2. VISUALIZACION PARCIAL DE FICHEROS


El sistema Unix posee dos comandos para visualizar parcialmente los ficheros: head y tail.

2.1. COMANDO head El comando head lista las 10 primeras lneas de un fichero. Su sintaxis es:
head [-nmero] fichero(s) nmero Indica el nmero de lneas que se van a editar. fichero(s) Nombre o nombres de los ficheros que se van a editar.

2.2. COMANDO tail El comando tail lista las 10 ltimas lneas de un fichero. La sintaxis de este comando es:
tail [-nmero] [-f] fichero -nmero Indica el nmero de lneas que se van a editar. Se utiliza para chequear un fichero de forma contnua. Por ejemplo, si mandamos ejecutar un programa y queremos ir viendo la salida segn se va ejecutando, utilizaremos esta opcin. -f

El comando sniff es igual que tail -f , pero no es estndar de UNIX, aunque est disponible en COVEX.

fichero Nombre del fichero que se va a editar.

3. COMANDO wc
El comando wc (word count) cuenta el nmero de lneas, palabras y caracteres de un fichero. La sintaxis del comando es:
wc [-lwc] fichero -l -w -c Cuenta nicamente el nmero de lneas. Cuenta nicamente el nmero de palabras. Cuenta nicamente el nmero de caracteres.

fichero Nombre del fichero del que se van a contar las lneas, palabras y caracteres.

En la figura siguiente aparece un ejemplo en el que no se incluyen opciones.


___________________________________ % wc prog.f 336 1402 10344 prog.f % ___________________________________

336 corresponde al nmero de lneas, 1402 al nmero de palabras y 10344 al nmero de caracteres.

4. BUSQUEDA DE CARACTERES: COMANDO grep


El comando grep busca una cadena de caracteres en uno o ms ficheros y lista todas las lneas que la contienen. La sintaxis del comando es:
grep [- v l i w n ] cadena1 fichero(s) -v -l -i -w -n Lista las lneas que no contienen la cadena de cracteres./tr> Lista el nombre del fichero que contiene la cadena de cracteres./tr> Ignora la diferencia entre letras maysculas y minsculas./tr> Se debe de utilizar cuando la cadena de caracteres es una nica palabra./tr> Muestra el nmero de la lnea en la que se encuentra la cadena de caracteres./tr> Nombre o nombres de los ficheros en los que se quiere buscar la cadena de caracteres especidficada. /tr>

cadena Cadena de caracteres que se quiere buscar./tr> fichero(s)

REDIRECCIONAMIENTO DE ENTRADA/SALIDA
Cualquier comando de UNIX necesita recibir informacin de algn "lugar" y enviar los resultados del procesamiento a algn "lugar", as como los mensajes de error. Estos "lugares" se llaman, respectivamente, STANDAR INPUT, STANDAR OUTPUT y STANDAR ERROR. El standar input se refiere al medio desde el cual el comando recibe la informacin. De forma similar, el standar output se refiere al lugar que el comando envia la salida. Cuando se redireccionan los datos el comando recibe o enva la informacin desde otra fuente. El standar error se refiere al medio al que se mandan los mensajes de los errores que se cometen al ejecutar un comando. Normalmente (aunque depende de cada comando), el standar input es el teclado, y el standar output y el standar error es la pantalla.

1. REDIRECCIONAMIENTO DE LA SALIDA
El smbolo para redireccionar la salida es: > y se utiliza de la siguiente forma:
comando > nombre_fichero

La tabla 7.1. contiene algunos ejemplo de redireccionamiento de la salida utilizando algunos comandos bsicos de UNIX.
who > usuarios sort file_1 > file_2 diff file_1 file_2 > difer head -2* > heads Almacena el listado de que origina el comando who en un fichero llamado usuarios. Almacena el contenido ordenado del fichero file_1 en el fichero file_2. Almacena las diferencias entre los ficheros file_1 y file_2 en el fichero difer Almacena las 2 primeras lneas de cualquier fichero en un fichero llamado heads.

Tabla 7.1. Ejemplos de redireccionamiento de salidas.


1.1. ALGUNAS PRECAUCIONES QUE SE DEBEN TENER AL REDIRECCIONAR LA SALIDA

Veamos 2 problemas que pueden ocurrir si accidentalmente cometemos un error: A.- REDIRECCIONAR LA SALIDA A UN FICHERO YA EXISTENTE Cuando se redirecciona una salida, el sistema UNIX crea un fichero con el nombre especificado. Cuando el fichero no existe, al redireccionar la salida a l crea uno nuevo; pero si el fichero existe borra su contenido y reescribe encima. Afortunadamente, existe una manera de prevenir borrar ficheros de esta forma sin darnos cuenta, utilizando el comando:
set noclobber

Si tecleamos este comando antes de redireccionar la salida, en el caso de que el fichero donde se enva la salida ya exista, aparecer en la pantalla el siguiente mensaje:
nombre del fichero file exists

y no "machacara" el contenido del fichero. El comando set noclobber evita que se :


redireccione una salida a un fichero ya existente

aada un fichero a otro que no existe.

El comando slo es efectivo para la sesin en que se teclee. Si se quiere que permanezca de forma permanente, hay que inluir el comando set noclobber en el fichero .cshrc. del Home directory. Si en algn momento se quisiera quitar esta proteccin, hay que teclear >!. Veamos un ejemplo:
%set noclobber %cat agenda contestar carta al seor Alvarez %date > agenda agenda : file exists %cat agenda contestar carta al seor Alvarez %date >! agenda %cat agenda Mon May 4 08:50:38 CDT 1989

Figura 7.1.
B.- REDIRECCIONAR LA SALIDA A UN FICHERO UTILIZADO COMO ENTRADA.

Veamos con un ejemplo lo que ocurre cuando se redirecciona la salida al fichero utilizado como entrada.
%cat frutas pltano naranja manzana %sort frutas>frutas %cat frutas %

Figura 7.2. Observemos que cuando se ejecuta el comando sort el UNIX borra el contenido del fichero frutas y crea un fichero nuevo de nombre frutas, por lo que cuando va a ordenar alfabticamente el fichero frutas, y ste est vaco. Por lo tanto, hay que tener cuidado de no redireccionar la salida al fichero utilizado como entrada, pus se perdera la informacin.

2. AADIR LA SALIDA DE UN COMANDO A UN FICHERO

Se puede aadir la salida de un comando al final de un fichero ya existente sin borrar su contenido. El smbolo que se utiliza para ello es >> ; se har de la siguiente forma:
comando>>nombre_fichero

3. REDIRECCIONAMIENTO DEL STANDAR ERROR


Para redireccionar el standar output y el standar error a un fichero, se utilizan los smbolos >& de la forma siguiente:
comando >& nombre_fichero

Por ejemplo: cat datos_1 datos_2 >& datos entonces, el contenido de ambos ficheros, datos_1 y datos_2 se escribe en el fichero datos junto con cualquier mensaje de error que se produzca. Para aadir la salida de un comando, as como los mensajes de error a un fichero, se utilizan los smbolos >>& de la siguiente manera:
comando >>& nombre_fichero

Por ejemplo: cat datos>_1 datos_2 >>& datos entonces, el contenido de los ficheros datos_1 y datos_2 y cualquier mensaje de error que se produzca, se aade al final del contenido del fichero datos.

4. REDIRECCIONAMIENTO DE LA ENTRADA
El smbolo para redireccionar la entrada es < y se utiliza de la siguiente manera:
comando < nombre_fichero

Por ejemplo: sort < Agenda > Agenda.ord ordena alfabticamente el contenido del fichero Agenda y lo almacena en el fichero Agenda.ord Si se quiere utilizar como entrada parte del contenido de un fichero, habra que poner en el fichero un "string", que puede ser cualquier smbolo excepto, zzFunyzz. Es decir :
comando << string ....... ....... ....... string

Por ejemplo: %cat < Madrid.dat << ! 777 666 ! % es decir, se editar por pantalla el contenido del fichero Madrid.dat hasta el smbolo !

5. PIPES: TRANSFERENCIA DE DATOS


El sistema UNIX permite transferir datos entre diferentes procesos (comandos). Este proceso se llama " piping", pus "pipe" es el nombre que se le d al smbolo utilizado para transferir datos. El smbolo para "piping" es | y se utiliza de la siguiente manera:
comando_1 | comando_2 | comando_3 | ......

Es decir, el comando_2 utiliza como entrada los resultados obtenidos por el comando_1; la salida del comando_2 se utiliza como entrada del comando_3, y as sucesivamente. Utilizando pipes no es necesario utilizar ficheros temporales ni hacer pasos intermedios para obtener la informacin que se desea. Por ejemplo, si ponemos: who | sort | lpr

entonces la lista de usuarios conectados al sistema se ordenan alfabticamente y se imprime (odenada) por la impresora del sistema.

6. FILTROS
Un filtro es cualquier comando situado entre dos pipes y manipula los datos obtenidos por un comando previo antes de utilizarse por el comando situado a continuacin del filtro. Una lnea de comando puede contener varios filtros. En el ejemplo: who | sort | lpr el comando sort acta como filtro.
6.1. COMANDO tee

Cuando despus de un pipe aparece el comando tee la redireccin de la salida la hace a dos sitios, a un fichero especificado y al standar output:
comando | comando | tee nombre_fichero | comando | ......

En el ejemplo: who | sort | tee listin | more la lista de usuarios ordenada alfabticamente, aparece por pantalla y se almacena en el fichero listin

AYUDAS "ON-LINE" DEL SISTEMA UNIX


Todo sistema CONVEX posee 2 tipos de ayudas "on-line":

Info System manual pages.

1. INFO SYSTEM
El Info System de CONVEX es una utilidad interactiva que sirve de ayuda en cuanto a la forma de operar el sistema UNIX. Para activar este tipo de ayuda (Info System) se utiliza el comando info. Este comando dar la informacin sobre los comandos del UNIX; dicha informacin se puede obtener de distintas formas:

a travs de un men utilizando un nombre tpico del comando utilizando el nombre del comando.

1.1. DISTINTOS MODOS DE OBTENER INFORMACION 1.1.1. OBTENCION DE LA INFORMACION A TRAVES DE MENUS Para ello se ejecuta el comando info poniendo simplemente:
info

En la figura siguiente se muestra el resultado de la ejecucin de este comando. A partir de ese men principal, se va seleccionando la opcin que se desee y se obtendrn otros mens. A tarvs de esos mens buscaremos la informacin deseada.
_________________________________________________________________________ ____________ CONVEX INFO SYSTEM MAIN MENU ============================ 1. 2. 3. 4. 5. 6. 7. 8. Contact other users or machines Use ConvexOS online help Execute Commands Edit, find, print, modify, analyze, and archive files Develop programs Check user, job, or system status Modify system and file accessibility Perform arithmetic calculations

Enter <1..8>, <q>uit, <?> help, <t>opic/command list, a command name, a topic Please type your selection and press <RETURN>: _________________________________________________________________________ ____________

1.1.2. ACCEDER A LA INFORMACION UTILIZANDO UN NOMBRE TOPICO Utilizando el comando info, se puede acceder a la informacin sobre un comando usando su "nombre tpico". En el caso de que no se conozca su "nombre tpico", podemos obtener la lista de "nombres tpicos" de los comandos, pulsando una t en el men principal que sale cuando se ejectuta el comando info. 1.1.3. ACCEDER A LA INFORMACION UTILIZANDO EL NOMBRE DEL COMANDO Si se conoce el nombre del comando del que se quiere obtener informacin, se puede acceder directamente a la informacin deseada, sin ms que poner el nombre del comando como argumento de info, es decir :
info comando

1.2. DESCRIPCION DE UN COMANDO UTILIZANDO EL COMANDO info La descripcin de un comando que aparece en la pantalla cuando utilizamos el comando info se divide en 4 secciones: descripcin, sintaxis, ejemplo y referencias:

La seccin de descripcin incluye la informacin general sobre lo que realiza el comando que se est describiendo. La seccin de sintaxis incluye la sintaxis o formato del comando. La seccin de ejemplo incluye un ejemplo del comando as como la salida que origina dicho ejemplo. La seccin de referencia tiene 2 partes: 1. "See Also": incluye el nmero de pgina o el captulo del manual en el que est la informacin mostrada por pantalla. 2. "Related Commands": incluye una lista con los comandos que realizan tareas similares a la del comando que se describe.

Despus de estas 4 secciones indica las teclas que hay que pulsar segn la operacin que deseemos ejecutar:

TECLA <b> <n> <ESC> <q> <?> <m> <x> <r> Muestra la pantalla anterior. Muestra la pantalla siguiente. Muestra el men principal. Sale del Info System. Ayuda.

ACCION

Muestra la pgina del manual donde est la informacin del comando. Ejecuta el comando del que d la informacin. Vuelve a la informacin en la que estaba antes de solicitar la ayuda.

2. MANUAL PAGES
Para acceder al "manual pages" se utiliza el comando man. El formato de este comando es:
man comando comando Nombre del comando de UNIX del que queremos obtener la informacin.

La salida de este comando tiene varias secciones; en la figura siguiente se explica el contenido de cada una de ellas.
SECCION NAME CONTENIDO Nombre del comando y una lnea de descripcin del comando.

(Nombre)
SYNOPSIS

(Sintaxis)
DESCRIPTION

Sintaxis o formato del comando. Los argumentos opcionales van entre corchetes []. Explicacin de lo que realiza el comando. Si el comando puede incluir argumentos, stos se

(Descripcin) explican en esta seccin. Si se incluye algn ejemplo, aparecer tambin en esta seccin.
FILES

(Ficheros)
SEE ALSO

Nombres de los ficheros que se utilizan en el comando. Nombres de otros comandos que realizan funciones similares a la del comando descrito o

(Mirar adems) que se pueden utilizar en conjuncin con el descrito.


DIAGNOSTICS

(Diagnstico)
BUGS

Discusin de cualquier mensaje de diagnstico que produce el sistema.

(Errores)

Explicacin de los errores ms frecuentes.

El comando man admite la opcin -k ; entonces el formato del comando es:

man -k palabra clave -k palabra clave NOTA.Origina que en la salida aparezca una lista con todos los comandos relativos a la palabra clave especificada. Puede ser: una palabra, parte de una palabra, o una frase (en este caso, la frase va entre comitas sencillas).

Para obtener ms informacin a cerca del comando man, se pondra: man man

UTILIZACION DEL C SHELL


Un shell en UNIX es un intrprete de comandos. El Unix soporta dos tipos diferentes de shells, el Bourne shell y el C shell. Ambos shells tienen la misma finalidad, pero por diferentes caminos. El C shell es realmente una ampliacin del Bournell shell. En este captulo veremos por lo tanto una descripcin del C shell. El Cshell posee un lenguaje de programacin similar al lenguaje de programacin C, de ah el nombre de C shell. Las capacidades bsicas del C shell son :

Crear notaciones taquigrficas para un comando o una serie de comandos. Ejecutar varios trabajos simultneamente, con o sin nuestra intervencin. Parar un trabajo y empezar de nuevo. Ejecutar comandos usados previamente. Personalizar el ambiente a las necesidades personales. Escribir programas a nivel de comandos, para realizar cualquier tipo de tarea.

1. CONTROL DE TRABAJOS
Los ordenadores CONVEX tienen sistema multitarea, es decir, se puede utilizar el ordenador para trabajar en uno o ms procesos o tareas al mismo tiempo.

Un comando puede ejecutarse en foreground o en background. Cuando se ejecuta un trabajo en foreground, el prompt del sistema no reaparece hasta que el comando ha terminado de ejecutarse; sin embargo, cuando se ejecuta un trabajo en background reaparecer el prompt del sistema aunque no se haya terminado de ejecutar el comando. Para correr un trabajo en background, hay que poner un ampersand (&) al final de la lnea de comando, justo antes de presionar <return>. 1.1. PASAR UN TRABAJO DE FOREGROUND A BACKGROUND: COMANDO bg Hay veces que se est ejecutando un programa en foreground y resulta que es demasiado largo, por lo que nos interesa seguir trabajando. Afortunadamente el UNIX permite pasar un trabajo de foreground a background. Para pasar un trabajo que se est corriendo en foreground a background, se hace en 2 pasos: 1. Se suspende el trabajo tecleando y entonces aparecer el prompt del sistema. 2. Se manda ejecutar el trabajo en background con el comando bg. La sintaxis de este comando es simplemente:
bg

1.2. COMANDO jobs El comando jobs lista por pantalla todos los trabajos que se han lanzado en background. Su sintaxis es:
jobs

La salida de este comando es la siguiente:


[1] [2] + Running - Running bmdp 2d epa.2d1 salepa.2d1 bmdp 2d epa.2d2 salepa.2d2

1 columna Corresponde al nmero de orden en que se van a ejecutar los comandos. 2 columna Puede estar en blanco, o contener un signo ms (+), o un signo menos (-):
El signo + indica el ltimo trabajo que se ha parardo. El signo - indica el penltimo trabajo que se ha parado.

3 columna Indica si el trabajo est corrindose en background (Running) o se ha parado (Stopped). 4 columna Contiene el nombre del comando que se est corriendo en background o que est parado.

1.3. PASAR UN TRABAJO DE BACKGROUND A FOREGROUND: COMANDO fg Algunas veces se necesita pasar un trabajo que se est corriendo en background a foreground para poder utilizar el programa. Para ello se utiliza el comando fg cuyo formato es:
fg [% nmero trabajo] Es el nmero del trabajo que se quiere pasar a foreground.

Este nmero es el que apareceen la 1 columna de la salida del comando jobs.


nmero trabajo

Si no se especifica ningn nmero, se pasar a foreground el trabajo que aparezca con un signo - , en la salida del comando jobs.

2. ALIASES: RENOMBRAR COMANDOS


El c shell permite definir aliases. Un alias es un nemotcnico que representa a un comando o a un grupo de comandos. Para definir un alias se utiliza el comando alias, cuya sintaxis es:
alias nemotcnico comando(s) Comando o comandos, que va a contener el alias que se est definiendo. Si se especifican varios comandos, stos debern de ir separados por un punto y coma (;) o por pipes (|). comando(s)

Si el comando especificado contiene algn espacio en blanco, se debe de englobar entre comillas simples (').

Cuando se define un alias utilizando el comando anterior, el nemotcnico tiene efecto hasta que se hace log out (^D), es decir, cada alias que se define es vlido para la sesin en la que estamos. Por lo tanto, si se quiere que los alias que se definan se mantengan en otras sesiones, stos se deben de incluir en el fichero .cshrc. Por ejemplo: alias DIR ls -a Para saber qu aliases se tienen definidos, se pone simplemente:
alias

entonces aparecer en la pantalla una lista con todos los aliases que estn definidos.

En el ejemplo siguiente se define un alias que ordena y pagina la salida del comando who. alias who 'who | sort | more' Para cancelar un alias se utiliza el comando unalias, cuya sintaxis es:
unalias nemotcnico

3. UTILIDAD HISTORY
El C shell posee una caracterstica llamada " utilidad history", que recuerda los ltimos comandos ejecutados; normalmente recuerda los 20 ltimos. Esta utilidad permite adems, repetir cualquier comando o modificarlo antes de ejecutarlo de nuevo. 3.1. COMANDO history Para visualizar la lista de comandos previamente ejecutados se invoca la utilidad history poniendo simplemente:
history

y el sistema UNIX responde dando una lista de los comandos que se han ejecutado desde que se hizo log in, precedidos por un nmero que se llama identificador de comando. Este identificador es el que permite repetir la ejecucin del comando deseado. Para hacer esto se pone:
! n identificador

El signo ! indica al shell que debe de buscar el comando en la lista de history; y el n identificador indica que debe de ejecutar el comando identificado por ese nmero. Se puede especificar el n de los ltimos comandos que queramos visualizar, as como que la lista aparezca en orden inverso, poniendo:
history [-r][n] -r Origina que la lista de comandos que se han ejecutado aparezca en orden inverso. n Nmero de comandos que se desean visualizar.

En la figura siguiente se presenta un ejemplo de la utilidad history:


__________________________ 6 /mnt/carmen % history 1 pwd 2 ls -s 3 cd reportaje 4 vi semana12 5 lpr semana12 6 history

7 /mnt/carmen % !5 lpr semana12 8 /mnt/carmen % __________________________

Figura 1. Este mtodo permite repetir un comando, pero es necesario visualizar la lista que origina history para conocer el n identificador del comando. Existen otras 2 formas de localizar el comando:

especificando la posicin relativa especificando el nombre del comando.

3.2. REPETICION DE UN COMANDO ESPECIFICANDO SU POSICION RELATIVA Supongamos que queremos repetir un comnado que ya habamos ejecutado con anterioridad, n veces antes que el ltimo comando, entonces pondramos:
!-n

En el ejemplo de la figura 1. si quisiramos volver a repetir el comando lpr semana12 , habra que poner:
!-3

y se ejecutar el tercer comando que precede al ltimo. El C shell posee un comando especial:
!!

que repite el ltimo comando ejecutado; es decir, sera lo mismo que !-1. 3.3. REPETICION DE UN COMANDO ESPECIFICANDO SU NOMBRE Para repetir un comando se puede utilizar, todo o parte, del nombre de un comando, de este modo no es necesario acordarse del n identificador o del la posicin relativa del comando. Veamos, de acuerdo con el ejemplo de la figura 1., las distintas posibilidades que hay para repetir la ejecucin de un comando especificando su nombre o parte del nombre:

Especificando el nombre completo del comando :


!nombre comando

En el ejemplo, si ponemos: !vi

se ejecutar el comando vi semana12 Especificando las primeras letras del comando (slo es necesario la primera) :
!caracter1 caracter2 ...

En el ejemplo, si ponemos: !l se ejecutar el ltimo comando que empiece por l; es decir, lpr semana12 Especificando alguna letra contenida en el nombre del comando :
!?caracter?

En el ejemplo, si ponemos: !?s? se ejecutar el comando ls -s

3.4. MODIFICACION DE UN COMANDO EJECUTADO PREVIAMENTE El C shell permite modificar o corregir un error que se haya cometido en un comando ejecutado anteriormente. Para hacer esto se pondra:
^ string antiguo ^ string nuevo string antiguo contiene el error string nuevo contiene los caracteres por los que se va a sustituir el string antiguo.

COMUNICACION INTERACTIVA
Para enviar mensajes a otros usuarios del sistema se utilizan los comandos talk y write. Si se necesita obtener informacin sobre el usuario con el que nos vamos a comunicar utilizaremos el comando finger.

1. INFORMACION SOBRE USUARIOS


Hemos visto que con el comando who se obtiene un listado de todos los usuarios que estn conectados al sistema, pero hay veces que queremos obtener informacin de un usuario que no se encuentra en el listado anterior, para ello utilizaremos el comando finger.

Si se utiliza el comando finger sin ningn argumento, se obtiene un listado semejante al del comando who incluyendo adems la oficina y el telfono. Si el comando se utiliza con uno o ms argumentos , se obtendr una informacin ms detallada acerca de los nombres especificados. La sintaxis del comando finger es:
finger nombre(s) nombre(s) Nombre o nombres de los usuarios de los que se desea obtener informacin.

Este comando es muy til cuando se quiere mandar un mail y no recordamos el cdigo del usuario al que vamos a enviar el mensaje.

2. COMUNICACION CON OTROS USUARIOS


El sistema UNIX posee una utilidad que permite establecer una comunicacin interactiva (por pantalla) con otro usuario del sistema; para ello se utiliza el comando talk. La sintaxis de este comando es:
talk nombre usuario nombre usuario Nombre del usuario (login) con el que se desea establecer comunicacin.

Cuando se hace una llamada (talk) a un usuario, ste recibe por la pantalla un mensaje avisando que desean establecer conversacin. El mensaje incluye el nombre del usuario que ha realizado la llamada. Para establecer comunicacin se teclear talk usuario ; entonces la pantalla se divide en dos, donde escribirn los dos usuarios de la conversacin. Por ejemplo, si alguien me hace un talk, en la pantalla aparecer:
__________________________________________________________________ 14 /mnt/carmen % Message from Talk_Daemon@emducms1 at 9:31 ... talk: connection requested by jc@emducms1.sis.ucm.es. talk: respond with: talk jc@emducms1.sis.ucm.es __________________________________________________________________

Entonces para establecer la comunicacin pondremos:


talk jc@emducms1.sis.ucm.es

Observemos que en este caso hubiese sido suficiente con poner, talk jc pus la persona que nos ha llamado lo ha hecho a travs del ordenador Convex.

Una vez hecho esto, la comunicacin queda establecida,apareciendo la siguiente pantalla


_________________________________________________________________________ ________ [Connection established]

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

_________________________________________________________________________ ________

Para finalizar la comunicacin se pulsarn las teclas CTRL+c Si no se quiere que permitir a otros usuarios comunicarse mediante un talk a su terminal se utiliza el comando:
mesg n

3. ENVIAR UN MENSAJE A OTRO USUARIO


Cuando no se quiere establecer conversacin con otro usuario, si no que slo se desea mandar un mensaje, se utiliza el comando write, cuya sintaxis es:
write nombre usuario nombre usuario Nombre del usuario (login) al que se va a enviar un mensaje.

EJERCICIOS EJERCICIOS: CAPITULOS 1 Y 2


1. IDENTIFIQUE LOS SIGUIENTES COMANDOS:
o o o o o

date cal 1989 whoami ls /etc ls -al

2. CUAL ES LA FINALIDAD DEL COMANDO passwd ?. 3. QUE HORA ES EN ESTE MOMENTO?. 4. EN QUE DIA DE LA SEMANA NACIO?. 5. SI SU PASSWORD TIENE 12 CARACTERES , NECESITA TECLEARLOS TODOS PARA ACCEDER AL SISTEMA?. 6. EXISTE UN MINIMO PARA EL NUMERO DE CARACTERES DE LA PASSWORD?. 7. COMO PUEDE INTRODUCIR DOS COMANDOS EN LA MISMA LINEA?. PONGA UN EJEMPLO.

EJERCICIOS: CAPITULOS 3, 4 Y 5
1. ESCRIBA UN COMANDO QUE LE DEVUELVA SIEMPRE A SU HOME DIRECTORY CUANDO SE ENCUENTRE EN OTRO DIRECTORIO. 2. SITUESE EN SU HOME DIRECTORY Y COPIE EL DRECTORIO curso1 DEL DIRECTORIO /tmp/curso.unix ESCRIBA EL COMANDO UTILIZADO. 3. EL DIRECTORIO curso1 TIENE LA SIGUIENTE ESTRUCTURA:

LAS SIGUIENTES CUESTIONES HACEN REFERENCIA A LA PRECEDENTE ESTRUCTURA DE FICHEROS. ESCRIBA UN COMANDO PARA REALIZAR CADA UNA DE LAS SIGUIENTES TAREAS:
o o o o o o

MUEVASE AL DIRECTORIO curso1. COPIE EL FICHERO Acabados EN EL DIRECTORIO Programas. COPIE EL FICHERO Amigos EN EL DIRECTORIO Juan. MUEVA Facturas AL DIRECTORIO Trabajos. MUEVA Clientes AL DIRECTORIO Lola. SUPONIENDO QUE ESTA EN EL DIRECTORIO RAIZ, ESCRIBA EL COMANDO NECESARIO PARA ENCONTRARSE EN EL DIRECTORIO Cartas. SITUESE EN EL DIRECTORIO curso1 Y COPIE EL DIRECTORIO Trabajos EN EL DIRECTORIO Jose.

SITUESE EN EL DIRECTORIO Jose/Documentos/Trabajos . QUE PERMISOS TIENE EL FICHERO Acabados ?. QUE SIGNIFICAN?. CAMBIE LOS PERMISOS DE ESE FICHERO PARA QUE TODO EL MUNDO PUEDA ESCRIBIR EN EL.

4. DESDE SU HOME DIRECTORY, CREE UN DIRECTORIO LLAMADO Practicas. 5. SITUESE EN EL DIRECTORIO Practicas Y COPIE TODOS LOS FICHEROS QUE SE ENCUENTRAN EN EL DIRECTORIO Cartas EN EL RECIEN CREADO DIRECTORIO Practicas. 6. ESCRIBA UN COMANDO QUE BORRE TODOS LOS FICHEROS DEL DIRECTORIO Practicas Y QUE ADEMAS PIDA PERMISO ANTES DE BORRAR CADA UNO DE ELLOS. 7. ESCRIBA EL COMANDO QUE LE TRASLADA UN NIVEL POR ENCIMA DEL DIRECTORIO ACTUAL. 8. QUE PERMISOS TIENE fichero DESPUES DE EJECUTAR EL COMANDO: chmod 644 fichero 9. ESCRIBA UN COMANDO QUE CAMBIE LOS PRIVILEGIOS DE ACCESO DE TODOS LOS FICHEROS DE SU HOME DIRECTORY DE MANERA QUE NADIE MAS PUEDA ACCEDER A ELLOS.

EJERCICIOS: CAPITULOS 6 Y 7
1. COPIE EN SU HOME DIRECTORY, EL FICHERO ejemplo1 DEL USUARIO /mnt/carmen 2. ESCRIBA UN COMANDO QUE ORDENE INVERSAMENTE EL FICHERO ejemplo1 3. CUANTAS LINEAS TIENE EL FICHERO ejemplo1?. 4. CUANTAS PALABRAS TIENE EL FICHERO ejemplo1?. 5. GUARDE LA SALIDA DEL COMANDO cal 1989 EN UN FICHERO QUE SE LLAME calendario 6. AADA LA SALIDA DEL COMANDO cal 1986 AL FICHERO calendario 7. ESCRIBA UN COMANDO QUE ENVIE UNA LISTA DE LOS USUARIOS QUE ESTAN CONECTADOS AL SISTEMA, AL FICHERO usuarios

8. ESCRIBA UN COMANDO QUE CREE UN FICHERO DE NOMBRE ejemplo2 , CON LAS LINEAS DEL FICHERO ejemplo1 QUE CONTENGA LA PALABRA San

EJERCICIOS: CAPITULOS 8, 9 Y 10
1. USANDO EL COMANDO info, APRENDA A MANEJAR EL COMANDO bc, UNA CALCULADORA ON LINE ESCRIBA LOS COMANDOS QUE LE PERMITAN CALCULAR EL RESULTADO DE: ((5*2)+3)/2 2. USANDO EL COMANDO info, APRENDA A COMPILAR EN FORTRAN. 3. COMO PUEDE OBTENER INFORMACION EN PANTALLA DEL COMANDO more ?. 4. ESCRIBA UN COMANDO PARA ESTABLECER EL ALIAS cd PARA CAMBIAR DE DIRECTORIO Y ADEMAS LISTAR EL CONTENIDO DEL MISMO. 5. ESCRIBA UN COMANDO PARA ESTABLECER EL ALIAS h QUE LIMITE EL NUMERO DE LINEAS DE SU COMANDO history A 20. 6. ESCRIBA UN COMANDO QUE OFREZCA POR PANTALLA UN LISTADO DE TODOS LOS ALIAS ACTUALMENTE ACTIVOS EN SU TERMINAL. 7. ESTABLEZCA COMUNICACION INTERACTIVA CON EL COMPAERO QUE TIENE A SU LADO. COMO PUEDE HACERLO?. 8. COMO PUEDE TERMINAR LA COMUNICACION ANTERIOR? 9. SI NECESITA SABER EL TELEFONO DE UN USUARIO DEL SISTEMA QUE COMANDO LE PROPORCIONARIA ESA INFORMACION? 10. QUE HACE EL COMANDO !! 11. ENVIE UN MENSAJE AL USUARIO QUE TENGA SENTADO AL LADO. 12. ESCRIBA UN MENSAJE PARA QUE NO LE PUEDAN ENVIAR MENSAJES. 13. INTENTE VOLVER A MANDAR UN MENSAJE AL USUARIO QUE TENGA SENTADO AL LADO, UNA VEZ QUE ESTE HALLA REALIZADO EL EJERCICIO ANTERIOR. PUEDE HACERLO?.

Dentro de UNIX existen varias maneras de comunicarte con otros usuarios. Dentro de la comunicacin con otros usuarios podemos encontrar dos tipos: 1. comunicacin interactiva 2. comunicacin no interactiva La comunicacin no interactiva es aquella que se realiza utilizando archivos para guardar los mensajes que queremos enviar a otros usuarios. Hay programas como el correo electrnico que nos facilitan esta actividad. La comunicacin interactiva es aquella en la que la comunicacin con otros usuarios solo puede ser con personas que se encuentran dentro del sistema, en el instante en el que nos queremos comunicar. Comandos que permiten este tipo de comunicacin son:

write wall rwall talk

WRITE El comando write se utiliza para mandar un mensaje corto en pantalla a otro usuario. El formato del comando es el siguiente: write username [ ttyname ] El comando write copia las lneas que escribimos en la pantalla del usuario con el cual establecemos comunicacin. Cuando ejecutamos el comando write, aparece el siguiente mensaje en la pantalla de la persona a la cual se lo vamos a enviar: Message from hostname!yourname on yourttyname

Despus de haber tecleado el comando write, lo que se teclea a continuacin, va a ser el mensaje que se le va a enviar a la otra persona. Todo lo que se teclea, lnea por lnea va a aparecer en la pantalla del otro usuario tal como se escribi. Al terminar de escribir el mensaje se debe de teclear CTRL-D para enviar dicho mensaje o para hacer una interrupcin. Una vez hecho esto, le va a aparecer un mensaje de EOF en la pantalla del otro usuario al final del mensaje que hemos transmitido. Para mandarle un mensaje a una persona que est trabajando en varias sesiones, se debe utilizar el argumento ttyname para indicar la terminal apropiada en que debe aparecer el mensaje. Dos personas pueden establecer una conversacin escribindose uno al otro. Cuando la otra persona recibe el mensaje de aviso de que alguien le va a enviar un mensaje, puede contestarle si es que as lo desea. Ahora, desde que los dos se estn mandando mensajes de manera simultnea, deben de establecer una manera para saber cundo termin de escribir un mensaje cada quien. Ya sea algn caracter como por ejemplo -o- para indicar que ya terminaron esa frase y con -oopara indicar que ya es el fin de la conversacin.
EJEMPLO DE UN MENSAJE QUE SE LE VA A ENVIAR A UN USUARIO

Una vez que se ha terminado de teclear el mensaje, se teclea Control-D para enviarlo.
EJEMPLO

Dilogo entre dos personas que estn en diferentes terminales, los usuarios son nicandro y bety, ambos usuarios estn trabajando en unicornio.

Bety

Nicandro
TALK El comando talk permite establecer una conversacin entre dos usuarios al mismo tiempo, en pantalla. El formato del comando talk es el siguiente:

talk username [ ttyname ] Este programa que te permite tener una comunicacin de manera visual, el cual copia las lneas que se escriben en la pantalla del usuario con el que se ha establecido la conversacin. Si se desea platicar con alguien que est en el mismo sistema, entonces como username se pone el login de esa persona. Pero si se desea platicar con alguien que se encuentra en otra mquina, entonces el username de esa persona debe llevar informacin adicional, indicando el host en el que se encuentra: user@host Para mandar un mensaje a una persona que est trabajando en varias sesiones, debemos utilizar el argumento ttyname para indicar la terminal apropiada en que debe aparecer el mensaje. Cuando alguien hace la primera llamada, se enva el siguiente mensaje:

y el que recibe el mensaje, para poder iniciar la conversacin debe contestar de la siguiente manera:

Una vez que se establece la comunicacin, ambos usuarios pueden teclear mensajes al mismo tiempo, es decir, de manera simultnea. En el momento del establecimiento de la conversacin la pantalla de ambos usuarios se divide en dos partes. Con CTRL-L puedes reestablecer la imagen de la pantalla, esto se utiliza cuando los caracteres no se borran, o se ven incompletas o cortadas los mensajes que se envan los usuarios. Cuando se llena la pantalla de caracteres con la conversacin o cuando los caracteres no aparecen en la pantalla de manera normal. Para terminar la comunicacin se teclea CTRL-C.

Al encender el usuario su equipo de cmputo (ya sea PC, Macintosh e incluso UNIX), y utilizar cualquiera de las aplicaciones disponibles, est utilizando los

recursos locales de su sistema, es decir, est utilizando el procesador y memoria, etc. de su sistema. Cuando se efecta la una comunicacin va mdem desde un equipo local a un equipo UNIX, el cual es compartido por numerosos usuarios, entonces los recursos que se utilizan son los del sistema remoto, a excepcin del despliegue de resultados, que sigue realizndose de manera local. A esto se le da el nombre de sesin remota. Es decir, sesin remota implica conectarse con otro sistema y utilizar sus recursos como si se estuviera sentado frente a una terminal del sistema remoto. Para realizar una sesin remota es necesario que contemos con: 1. login y password, con los cuales nos reconozca el sistema remoto. 2. nombre o direccin IP (direccin numrica) del sistema al que nos queremos conectar. Si queremos establecer una sesin remota, se pueden utilizar los comandos: rlogin telnet Para ello es necesario tener una cuenta en el servidor remoto con su respectivo password (clave de acceso). TELNET Es el comando ms utilizado dentro de Internet para establecer sesiones remotas. Telnet simula una terminal del sistema que permite a los usuarios entrar a sistemas remotos y trabajar en el ambiente de ese sistema. Una vez en el otro sistema, el usuario puede entrar datos, correr programas, o cualquier otra operacin como si lo estuviera haciendo de forma local; y cuando la sesin remota concluye la aplicacin regresa al usuario al sistema inicial. Podemos especificar el nombre del host con el cual vamos a establecer la sesin remota de dos maneras: 1. utilizando la direccin IP (direccin numrica del host remoto) 2. utilizando el nombre del host remoto PASOS PARA USAR EL TELNET 1. Ingresar al host local. 2. Llamar al comando telnet.

3. Identificar el nombre del host remoto, o la direccin de la mquina a la cual deseamos ingresar. 4. Una vez conectado al host remoto, utilizar el login y el password que se tiene asignado en la mquina remota. 5. Una vez concludo el trabajo (sesin) en el host remoto, se teclea el comando logout o exit, con ello se desconecta la sesin remota regresando al host local. El formato de este comando es: telnet [ host ] Si el comando telnet es llamado sin argumentos, entonces entra al modo de comando, que es indicado con el prompt (telnet>). En este modo, acepta y ejecuta comandos. Si es invocado con argumentos, entonces utiliza la informacin que se le pas en los parmetros para establecer la sesin remota. Una vez que la conexin ha sido abierta, el comando telnet est en modo de entrada. En este modo, el texto tecleado es enviado al host remoto. Todo lo que es enviado a la mquina remota se hace al instante (character at a time), o lnea por lnea (line by line), dependiendo de lo que soporte el sistema remoto. Mientras estamos conectados a un host remoto, podemos accesar el modo de comando del telnet, tecleando el caracter de escape '^]'. Y una vez en el modo de comando, podemos terminar la sesin normalmente. Los comandos siguientes los podemos utilizar estando en el modo de comando: telnet> open host Abre una sesin a la mquina indicada por host. telnet> close Cierra una sesin TELNET y regresa al modo de comando. telnet> quit Cierra cualquier sesin TELNET abierta y sale del telnet. Un EOF termina con la sesin y sale de telnet. [ctrl-z] Suspende una sesin telnet. Este comando trabaja nicamente cuando el usuario est utilizando un shell que soporta control de trabajos, como por ejemplo: el cshell (csh).

telnet> status Muestra el estado de la sesin actual de telnet. telnet> send argumentos Enva una o ms secuencias de caracteres especiales al host remoto. EJEMPLO DE COMO UTILIZAR EL TELNET Nos vamos a conectar a un host remoto llamado mexplaza, desde el host local goya:

Los metacaracteres, en combinacin con la historia de comandos ejecutados, nos van a ayudar a abreviar considerablemente los comandos a ejecutar: !! El doble signo de admiracin, va a repetir el comando ejecutado inmediato anterior. !<#> Un signo de admiracin y un nmero de comando tomado de history van a repetir dicho comando. !<caracter(es)> Un signo de admiracin y uno o varios caracteres ejecutarn el ltimo comando registrado por history que inicie con dichos caracteres. !$ Esta combinacin de signo de admiracin y signo de pesos, indica repetir nicamente el ltimo parmetro dado en el comando anterior, por ejemplo: local% mkdir UNO DOS TRES local% cd !$ En las lneas anteriores, primero se crearon tres directorios y en un segundo comando el usuario se cambi al directorio llamado TRES utilizando !$. !* El signo de admiracin con un asterisco, indica que se debe de repetir todos los parmetros que tiene el comando ejecutado anteriormente, por ejemplo:

local% ls core *% core dos% tres% uno% local% rm !* En este caso, primero se listan los archivos llamados core y todos aquellos que finalicen con el caracter porciento (%), y en un segundo comando se indica borrarlos utilizando la combinacin !* que tomar todos los parmetros indicados en el comando anterior. ^^ Por ltimo, tenemos los capelos, con ellos se puede efectuar la sustitucin de ciertos caracteres entrados en el comando anterior y volver a ejecutar; sumamente til cuando se cometen errores al escribir comandos o parmetros. Por ejemplo: local% usr/openwin/bin/xlock-modrqix En esta expresion, se puso la palabra modr por error, teniendo que haber sido mode, en lugar de volver a escribir todo el comando, simplemente sustitumos utilizando los capelos: local%^dr^de Es importante sealar que va a ser sustituida nicamente la primera ocurrencia del string.

Para ejemplificar los comandos descritos, a continuacin se utilizar la siguiente nomenclatura: [] Representan una o varias opciones del comando las cuales son opcionales y en la mayora de los casos combinables. <> Representan informacin o nombres puestos como ejemplos, al momento de trabajar debern ser sustitudos por informacin real. PARA LISTAR EL CONTENIDO DE UN DIRECTORIO ls [ -adFgl ] [ nombre archivo/directorio ] Tenemos como opciones principales:

-l Para desplegar una lista completa que incluya extensin del archivo, fecha y hora de modificacin, nombre del usuario dueo, grupo, etc. -a Para listar los archivos ocultos. -F Al final del nombre del archivo se despliega un caracter que indica el tipo de archivo de que se trata: archivo ascii ( ), archivo ejecutable (*), lazos (@), directorios, etc. PARA IDENTIFICAR EL DIRECTORIO EN EL CUAL NOS ENCONTRAMOS pwd PARA CREAR DIRECTORIOS mkdir mkdir Uno Dos Tres De esta forma tenemos que para crear en nuestro home directory los subdirectorios Uno, Dos y Tres. PARA CAMBIAR DE DIRECTORIO cd [ directorio destino] Si se utiliza cd sin parmetro adicional automticamente nos posicionar en nuestro home directory. Tambin pueden utilizarse como referencia: . Indica el directorio actual .. Indica el directorio padre (uno anterior o superior en la jerarqua) ~ Equivale al home directory del usuario PARA CREAR ARCHIVOS Para crear un archivo sin contenido se utiliza el comando touch: touch <nombre del archivo vaco> Para insertar texto a estos archivos vacos o bien, para crear archivos con contenido, es necesario utilizar algn editor de texto, los cuales se vern ms adelante. PARA MOVER/RENOMBRAR ARCHIVOS Y DIRECTORIOS mv [ -i ] <archivo/dir fuente> <archivo/dir destino>

mv septiembre octubre Este comando nos sirve para mover de lugar archivos o directorios, lo cual sera similar a renombrarlos, por ejemplo, si se quiere que el archivo llamado septiembre ahora se llame octubre. mv /tmp/temporal ~/permanente Dentro de los parmetros tambin se pueden utilizar paths completos , con lo cual estaramos moviendo de lugar al archivo, por ejemplo si se tiene un archivo /tmp/temporal y se quiere grabar en el home directory del usuario bajo el nombre de permanente. El formato y consideraciones son iguales cuando se manejan archivos o directorios con este comando. PARA COPIAR ARCHIVOS Y DIRECTORIOS cp [ -i ] [ -r ] <archivo/dir fuente> <archivo/dir destino> Con este comando se pueden hacer copias de archivos o directorios en el que se encuentra el usuario o en cualquier otro, simplemente indicando el path correspondiente, como se mostr en el comando anterior. cp -r /usr/home/usuario /export/home/sistema La opcin -r la cual sirve para hacer una copia recursiva, esto es copiar un directorio con todo su contenido de archivos y otros subdirectorios a otro lugar. Este comando sera el apropiado para el caso en que el administrador desea cambiar el home directory de un usuario que se encuentra en este momento en /usr/home/usuario a /export/home/sistema/usuario. En el nombre destino no se le vuelve a poner el nombre del directorio usuario, ya que ste ser copiado de la direccin fuente. PARA BORRAR ARCHIVOS Y DIRECTORIOS rm [-f] [-i] <nombre de archivo(s)> rm -r [-f] [-i] <nombre del directorio> rmdir [-p] [-s] <nombre del directorio> El primer comando se utiliza para borrar uno o varios archivos, por ejemplo, para borrar los archivos uno, dos y cero que se encuentran en el home directory del usuario, el comando sera: rm uno dos cero. El segundo comando nos ser de utilidad cuando se va a borrar un directorio el cual no est vaco, sino que tiene archivos o subdirectorios; este comando har un borrado "recursivo" del contenido del directorio y por ltimo borrar el propio directorio. Por ejemplo, rm -r /tmp/basura, se utiliza para borrar el directorio /tmp/basura con todo su contenido.

Mientras que la tercera opcin, el comando rmdir, nos sirve para borrar un directorio que se encuentra vaco. PARA LISTAR EL CONTENIDO DE UN ARCHIVO cat nombre de archivo(s) cat | more Para paginar el despliegue del archivo, cat puede combinarse con el comando more. more <archivo> Incluso, se puede utilizar more como comando principal, no como complementarios. Como en el ejemplo anterior. head <archivo> tail <archivo> Cuando se necesita ver nicamente cierto nmero de lneas al inicio o final de un archivo se utilizan los comandos head y tail, los cuales despliegan por default las 10 primeras o ltimas lneas del archivo respectivamente.Cuando se quiere cambiar el nmero de lneas por default, simplemente se indica entre el comando y el nombre, por ejemplo: head -20 <archivo>. grep <string buscado> <archivo(s) en los cuales se buscar> Cuando quiere desplegarse especficamente las lneas donde aparezca cierto string o caracter. grep path .cshrc Para encontrar la declaracin de la variable path en el archivo de configuracin llamado .cshrc. grep path ar* Para combinarse con caracteres comodines para abarcar varios archivos, (por ejemplo todos los que inicien con el string "ar"). COMANDOS PROPIOS DEL C-SHELL history History es variable y comando a la vez, por medio de ella se pueden ir guardando los comandos que se van ejecutando, de manera de poder hacer referencia a ellos en otro momento de la sesin. El nmero de comandos que van a ser registrados depende del valor que el usuario indique al momento de inicializar dicha variable. Por ejemplo, si se requiere tener un registro de los ltimos 40 comandos ejecutados, se indica en la lnea de comandos:

local% set history=40 Este cambio no es permanente, al salir del shell, la variable desaparece. Si se necesita esta declaracin de forma permanente, entonces hay que incluir la lnea anterior en el archivo de control .cshrc. Para ver la lista de comandos ejecutados, se utiliza history, sin ninguna opcin ni parmetro:

La facilidad de tener registrados los comandos ejecutados previamente se combina para brindar ms opciones con los metacaracteres.

UNIX, como ya se ha mencionado, es un sistema operativo multiusuario, es decir, puede atender a ms de un usuario en un momento dado; esto implica que el sistema operativo deber identificar a cada usuario para que este pueda utilizar sus recursos y sobre todo, tendr que asegurar el que no haya interferencias entre las tareas que realizan los diferentes usuarios y el sistema mismo. Por este motivo, es que cada usuario de un host UNIX debe de contar con un login-name o una identificacin por medio de la cual el sistema lo reconozca y le otorgue una identidad. En base a esta identidad se determinan los permisos y derechos que tendr el usuario sobre cada parte del sistema operativo. El super-usuario o cuenta root es la cuenta privilegiada del sistema operativo UNIX, ya que tiene acceso a todo el sistema. Esta es la cuenta que utilizan los administradores para llevar a cabo funciones tales como instalacin de servicios, manejo de usuarios, actualizacin de software, obtencin de respaldos, etc. Cuando al usuario se le asigna una cuenta, esta consta de varias partes: 1. login-name o identificador y un password secreto para corroborar dicha identificacin. 2. UID y GID, estos nmeros van a indicar el nmero de usuario asignado, y el nmero de grupo al cual pertenece el usuario. 3. Home Directory, el cual es un directorio en el sistema en donde el usuario va a tener su informacin y trabajos, por tanto este usuario tendr derecho a escribir en el, y desde leer y ejecutar programas en su directorio.

4. Shell, es el intrprete de comandos que va a utilizar el usuario para darle instrucciones al kernel; el shell existe ya que el usuario no tiene contacto directo con el kernel y por tanto se ve en la necesidad de utilizar un traductor. El hecho de tener un password para accesar a nuestra cuenta es un factor que nos va a proveer hasta cierto punto de privacidad en nuestro trabajo, en nuestros archivos, etc... por eso es muy importante siempre contar con un password secreto, el cual sea nicamente conocido por el dueo de la cuenta. Este password es recomendable que incorpore no slo letras, sino una combinacin de maysculas, minsculas, nmeros, caracteres especiales, etc., de manera que sea difcil de adivinar. Tambin resulta conveniente el cambiar el password peridicamente, esto se hace con el comando passwd, el cual primero preguntar por el password vigente y a continuacin el nuevo. Ya estando dentro del host UNIX, se nos presenta el prompt, el cual indica que el sistema esta listo y esperando las instrucciones del usuario.

Un sistema de archivos (File System) puede definirse como una estructura jerrquica de directorios y archivos; esto no es exclusivo de UNIX, incluso en DOS se pueden crear rboles para organizar la informacin. Lo que s es muy propio de UNIX es que el mismo sistema operativo se organiza en forma jerrquica y dentro de esta se ubican los siguientes directorios principales:

/ (root)
Es el directorio principal o raz; es el inicio de toda la estructura jerrquica del sistema.

/usr
En este File System se encuentran la mayora de los ejecutables, libreras y utileras necesarios para el funcionamiento del sistema, lo mismo que los comandos que utilizan todos los usuarios.

/home

Tpicamente, debajo de este directorio se encuentran los directorios asignados a cada usuario (home directories).

/etc
El directorio /etc es de suma importancia, ya que en l se encuentran los archivos de configuracin propios del sistema.

/var
Es un directorio cuyo contenido son principalmente archivos que tienden a crecer, como por ejemplo los archivos log de distintos procesos, las colas de impresin, los correos electrnicos, informacin sobre los paquetes instalados en el sistema, etc.

/tmp
Contiene archivos temporales, creados por los distintos procesos, estos archivos son borrados cuando el sistema vuelve a reinicializarse, por lo cual no debe dejarse all informacin relevante.

/dev
Este directorio contiene todos aquellos archivos que son asociados con dispositivos fsicos conectados al sistema. Recordemos que UNIX trata a cualquier dispositivo como si fuera un archivo, de manera que para leer de un CD-ROM, UNIX lo que hace es leer un archivo llamado /dev/sr0.

NOCIONES BASICAS DEL SISTEMA OPERTIVO UNIX


A principios de los aos setenta, un equipo de cientficos de los Laboratorios Telefnicos Bell, desarroll un nuevo sistema operativo denominndolo UNIX Timesharing System (Sistema UNIX de tiempo compartido). Los Laboratorios Bell permitieron el reparto de copias de este sistema entre los universitarios para su empleo en la enseanza y la investigacin. De esta manera, UNIX fue uno de los primeros sistemas opertivos que los estudiantes pudieron analizar. Un grupo de profesores y estudiantes licenciados en la Universidad de California en Berkeley se interesaron profundamente en el sistema UNIX programando y modificando el sistema en si. Agregaron ms caractersticas y lo probaron con programas que utilizaban Redes de Area Local (LAN). Este software se propag rpidamente por las universidades americanas llegando a hacerse muy popular. ARPA, enterada de esta popularidad entre la comunidad universitaria, decidi utilizar el sistema UNIX para divulgar el software de Internet. De esta manera, lleg UNIX a Internet.

ESTUDIO DEL SISTEMA OPERATIVO UNIX


UNIX es un sistema operativo de tiempo compartido, es decir, la computadora puede ser utilizada por varios usuarios a la vez sin que cada uno de ellos se de cuenta de la presencia de los dems. Cada usurio de este sistema, bsicamente, dispone de una pantalla y de un teclado (terminal), mientras que la informacin se procesa y almacena en la Unidad Central, que es de uso comn a

todos. Varios terminales conectados a una Unidad Central constituyen una red. De esta manera nos podremos intercomunicar con el resto de los usuarios. La persona responsable del control de la red es el Administrador o Super-Usuario. Para poder tener acceso a la red, el Administrador, debe proporcionar a cada usuario un identificador ( login) de entrada y una palabra de paso (password) que sern el indicativo de su nmero de cuenta. En UNIX, las letras minsculas y las maysculas no son equivalentes. Esto deberemos tenerlo presente siempre, sobre todo, a la hora de iniciar una sesin con este sistema operativo, ya que se nos pedir que introduzcamos nuestro identificador y nuestra palabra de paso. El primero aparecer en la pantalla segn lo vayamos introduciendo por el teclado, pero el segundo, por motivos de seguridad no aparecer. Debemos tener cuidado porque, si nos equivocamos al introducir los datos, no se nos permitir acceder al sistema (aparecer el mensaje "login incorrect" y deberemos introducir los datos de nuevo). Si los dato son correctos, aparecer en pantalla un smbolo ($, % ... vch00 en nuestro caso) llamado "prompt" que nos indica que hemos conseguido pasar la identificacin y nos encontramos en nuestra cuenta de UNIX.

PERMISOS DE LOS ARCHIVOS UNIX


Aunque posteriormente veremos brevemente una lista de comandos UNIX, si efectuamos un listado de archivos utilizando la instruccin "ls -l", podremos observar a la izquierda de la pantalla un grupo de diez caracteres; son los permisos de los archivos. El primer carcter puede ser "d" o "-", indicando si el nombre que tiene asociado es un directorio o un fichero. Los nueve caracteres restantes representan los permisos de los ficheros pudiendo ser "w" (de escritura), "r" (de lectura) y "x" (de ejecucin). En caso de no estar alguno de ellos permitido, se representar con el smbolo "-". Estos nueve ltimos caracteres, se subdividen, a su vez, en tres grupos de tres caracteres. El primer grupo se refiere a los permisos que posee el propietario de la cuenta. El segundo, a los permisos que posee el grupo al que pertenece el propietario dentro de la red. Por ltimo, el tercer grupo, se refiere a los permisos que poseen los dems usuarios de la red respecto a ese fichero. A la derecha de los permisos, podemos ver otros datos en el listado de ficheros como son, y por este orden, el nmero de enlaces del archivo, el propietario, y el grupo al que pertenece el fichero. El resto de la informacin pertence a las caractersticas del archivo como el tamao, la fecha y hora de creacin y, por ltimo, el nombre.

COMANDOS UNIX MAS UTILIZADOS


Veamos, por ltimo, una lista de los comandos del sistema operativo UNIX que se utilizan con mayor frecuencia: cat nombre del fichero Visualiza la informacin que contiene un fichero. cd directorio Accede al directorio nombrado a continuacin del comando. Equivalente al mismo comando utilizado en MS-DOS. chmod permisos fichero Cambia los permisos del fichero nombrado a continuacin. Los permisos se cambian en los tres grupos de tres caracteres descritos anteriormente. cp fichero directorio en el que se copia Copia el fichero nombrado a continuacin en el directorio indicado posteriomente. En este ltimo caso, daremos la ruta completa (path) del fichero. find opcin fichero Realiza la bsqueda de un fichero en funcin de unas opciones dadas como pueden ser tamao (size), usuario (user), grupo (group) etc. kill proceso Elimina el proceso sealado. Es bastante til, puesto que en caso de una desconexin indebida del sistema, nuestros procesos se mantienen activos en la Unidad Central (como si no nos hubisemos desconectado) y al iniciar una nueva sesin UNIX tendremos que eliminarlos. lpr fichero Manda el contenido del fichero a la impresora. logout Orden de salida de UNIX. Este comando es equivalente a pulsar las teclas CONTROL+d.

ls -atributos Lista ficheros y directorios. En funcin de los atributos, listar una lista contnua de nombres (sin atributos) o una lista completa con todos los datos de los archivos (ls -l). man comando Nos edita una manual de ayuda del comando solicitado, con todas las posibles posibilidades que ofrece el mismo. Es equivalente al comando help del MS-DOS. mkdir nombre Crea un directorio llamado con el nombre citado a continuacin del comando. more fichero Edita el contenido del fichero sealado a continuacin. La informacin ser suministrada en pantallas completas, de modo que, si la edicin del fichero ocupa ms de una pantalla, el sistema se quedar esperando que pulsemos la barra espaciadora del teclado para editar la siguiente, o bien, que pulsemos CONTROL+c, con lo cual abortaremos el comando y volveremos al lugar de partida antes de efectuar el mismo. mv fichero fichero Se utiliza para cambiar el nombre del primer fichero al segundo. Tambin se puede emplear para llevar un fichero a un directorio o para cambiar el nombre de un directorio por otro. passwd Permite cambiar la palabra clave (password) de nuestra cuenta. Cuando ejecutemos este comando, el sistema nos pedir que introduzcamos nuestra clave actual. Una vez introducida y verificada, la Unidad Central nos pide la nueva clave. Al introducirla, no la veremos en la pantalla (por motivos de seguridad). Posteriormente se nos volver a pedir esta misma clave y una vez verificada ya podremos utilizarla como nueva palabra de acceso al sistema. ps Informa de los procesos que tenemos abiertos en el momento de ejecutar el comando. Se utiliza cuando nos hemos salido del sistema errneamente o por fallo del mismo, para eliminar los procesos que se hubiesen quedado cortados. pwd Informa del directorio en el que nos encontramos trabajando. rm fichero Borra el fichero nombrado a continuacin del comando. rmdir directorio Borra el directorio nombrado a continuacin del comando. who Nos muestra una lista de los usuarios que estn, en ese momento, usando el UNIX en distintos terminales. Nos informa del login, nmero de terminal que ocupan, mes, da y hora a la que conect cada uno. Nuestro login tambin aparecer en esta lista. write login de destino Sirve para establecer una comunicacin con otro usuario que est en ese momento conectado en la red. Una vez telcleado el comando y el identificador de destino, el cursor se situa una por debajo sin el "prompt". A continuacin escribimos el mensaje que queremos comunicar y pulsaremos INTRO. En ese instante, el mensaje aparecer en la pantalla del usuario destinatario del mismo, debiendo esperar la respuesta si procede. Para que no enviemos mensajes a la vez, se ha tomado como norma enviar una o en la ltima lnea para indicar al destinatario que se espera respuesta. Mandaremos una doble o en la ltima lnea del ltimo mensaje que queramos comunicar. Para finalizar el modo de dilogo debemos pulsar las teclas CONTROL+d. Con estas nociones bsicas, podremos defendernos medianamente a la hora de interpretar los distintos mensajes que nos podemos encontrar en UNIX. Este sistema operativo, posee muchas ms posibilidades (entre ellas la programacin), pero no es objetivo de esta gua ese tipo de facetas.

Anda mungkin juga menyukai