CURSO 95/96 Universidad de Navarra

Introducción al

sistema operativo UNIX

Centro de Tecnología Informática

Ignacio Coupeau, Isabel Estalella y Jesús Used

07/3/95

INTRODUCCIóN

El Unix es un sistema operativo multitarea y multiusuario. Al usuario que tiene a su cargo el sistema y la red de comunicaciones se le denomina administrador del sistema ; tiene un rango especial denominado superuser.

Para que un usuario tenga acceso al sistema, el administrador debe definir su nombre, contraseña y espacio de trabajo. Si un usuario no está registrado o su contraseña es incorresta no tendrá acceso al ordenador.

PRIMERA SESIóN DE TRABAJO

El proceso por el que se comienza una sesión de trabajo se denomina login. Debe introducirse un nombre de usuario junto a un password o contraseña. En la pantalla aparecerá el siguiente mensaje:

login:

entonces se introduce el nombre del usuario y pulsamos la tecla return. Después pedirá la contraseña o password, en el caso de tenerla. Es un código sólo conocido por el usuario que le permite acceder a sus ficheros. Cuando se escribe este código no aparece en la pantalla.

Una vez introducido correctamente estos datos HP normalmente activa una ventana que indica que el sistema está preparado para aceptar comandos. Esto se indica normalmente con el símbolo $ ó #, denominado prompt..

A partir de ahora comienza la sesión de Unix. El modo más común de finalizar l asesión de trabajo (logout) es con el comando exit:

$ exit

CREACIóN Y LISTADO DE FICHEROS

Un fichero es un espacio en disco donde se guarda información y constituye una unidad a la que se reconoce o llama por el nombre que su autor le adjudique. El contenido de un fichero puede ser muy distinto, pueden ser un conjunto de datos (números, nombres...), un conjunto de órdenes que ejecute un programa ya creado o también puede constituir un sí mismo un programa. Como vemos el concepto de fichero es tan general para un UNIX como lo es un documento para un empresario. Para ponerle un nombre a un fichero hay que tener en cuenta que no debe tener más de catorce caracteres que pueden ser cualquier combinación de letras, dígitos y algunos caracteres especiales. Empezaremos el capítulo creando un documento llamado myfile. Para ello ussaremos el comando cat del siguiente modo:

$ cat > myfile

Automáticamente en la pantalla aparece una página en blanco. Hay que introducir el texto con el teclado teniendo en cuenta que al final de cada linea hay que pulsar la tecla de retorno. Al acabar de introducir el texto hay que pulsar la tecla de control y la D al mismo tiempo, de modo que de por terminada la modificación de ese fichero.

Para el listado de ficheros de un usuario es ejecuta la orden ls (listar):

$ ls

que en este caso simplemente listaría el fichero mylife.

Para cambiar el nombre de un fichero se usa el comando mv (move) del siguiente modo:

$ mv myfile foofile

De este modo el fichero myfile pasa a llamarse foofile. hay que tener cuidado al renombrar un fichero, pues si se le renombra con el nombre de otro ya existente borrará el contenido anterior de éste y lo reemplazará con el del fichero renombrado.

Cuando un fichero queremos que esté oculto al nombrarlo haremos que su nombre comience por '.', de este modo no aparecerá al listar el directorio. Para forzar al programa a listar todos los ficheros, incluso los ocultos, al dar la orden ls se la ejecuta con la opción -a:

$ ls -a

Para ver un fichero en la pantalla usaremos el comando more:

$ more myfile

a continuación aparece en la pantalla el contenido del fichero. Si el fichero contiene más información de la que abarca la pantalla aparece en la parte inferior de ésta una leyenda como la que sigue:

--More--(4%), que quiere decir que del cien por cien del documento , en la pantalla se visualiza sólo el 4%, el otro 96% puede verse a continuación pulsando la tecla de retorno, para bajar linea a linea, o la tecla de espacio para bajar pantalla a pantalla. Si queremos dar por terminada la lectura del fichero presionamos la tecla q.

Para imprimir un fichero usaremos el comando lp seguida del nombre del fichero, lp myfile. Despues de algunos segundos en la linea del cursor aparece un mensaje como el que sigue:

Requested id is lp-number

en el que el number indica el número de la impresión con el que reconocerla en la impresora.

Para redefinir el nombre de un fichero usaremos el comando mv, como antes explicamos. Para copiar el contenido de un fichero en otro, usaremos el comando cp:

$ cp myfile myfile2

copia el contenido del fichero myfile en el myfile2, de modo que si el fichero myfile2 ya existía su contenido se pierde y pasa a ser el de myfile.

Para borrar un fichero usaremos el comando rm:

$ rm myfile2

Al listar el directorio sólo queda un fichero, myfile.

El acceso a los ficheros puede restringirse usando unos comandos que más adelante vermos. Para ver quienes son los usuarios y que tipo de acceso tienen a un fichero, basta con usar el comando ls -l:

$ ls -l myfile

Puede aparecer un mensaje parecido a éste:

rw-r--r-- 1 name users 154 Nov 4 10:35 myfile

El primer bloque de símbolos hay que hacer tres grupos de tres caracteres o privilegios cada uno (rwx, rw-, ó r--), de modo que los adjudicaremos por el orden que sigue: propietario, grupo y otros, siendo la r lectura, la w escritura y la x, ejecución. En el ejemplo, al fichero myfile tiene acceso el propietario para lectura, escritura y ejecución, el grupo para lectura y escritura y otros para lectura solamente.

ORGANIZACIóN DE FICHEROS, DIRECTORIOS

Los ficheros pueden agruparse en directorios que no son mas que contenedoers de documentos. La organización de directorios es jerárquica o piramidal, de modo que un directorio puede tener direcorios superiores y sibdirectorios inferiores, que en última instancia son documentos. Path es el camino que hay que seguir desde el root o raiz hasta el fichero actual. La variable $HOME nos indica el camino o path del directorio que tenemos asignado por defecto: donde se trabaja por defecto al entrar en Unix:

El camino "absoluto" de un directorio se puede ver usando el comando pwd: señala la localización del fichero de trabajo en relación con el root o nivel inicial del sistema. De este modo el camino absoluto de 'leslie' sería '/users/leslie'; para un usuario que quisiera llegar desde el 'root' hasta 'leslie'.

El camino relativo es la posición relativa que ocupan los ficheros en relación al fichero en uso. Las abreviaturas más comunes son:

. el directorio en uso

.. el directorio inmediatamente superior

../.. el directorio dos posiciones por encima

nombre el directorio bajo el directorio en uso

de modo que si el fichero en uso es arnie, el path relativo hasta sally sería:

../sally

Para crear un directorio usaremos el comando mkdir, y para listar distinguiendo directorios de ficheros usaremos el comando ls -f de modo que listaremos con el nombre los ficheros y con la barra cursiva los directorios.

Para cambiar de directorio se usa el comando cd. Si el comando cd va seguido de una ruta nos llevará al directorio señalado.

Para borrar un directorio se usa el comando rmdir antes el usuario debe asegurarse de que todos los documentos que contenía han desaparecido de su interior, bien porque se han copiado, trasladado o tirado. Se puede borrar un directorio y todo su contenido con la opción -r.

Para llamar a un fichero podemos utilizar abreviaturas. Pueden ser de dos tipos: '*' ó '?'. Si el asterisco se coloca al final de la palabra, llama a todos los ficheros que empiezan con esa palabra . Si el asterisco se coloca al principio y final de la palabra llama a todos los ficheros que la contengan. El símbolo '?' se coloca al final de la palabra y sustituye a cualquier carácter que ocupe ese lugar y sólo a un carácter. Estas abreviaturas se pueden utilizar con todos los comandos: rm new/* tira todos los documentos que contenga el directorio new, pero no los subdirectorios si contienen ficheros.

Para establecer el acceso a los directorios se sigue un procedimiento similar al de los ficheros, los tres posibles privilegios son r, w y x y los posibles usuarios son el propietario, el grupo y los demás. Para ver los privilegios de acceso de un directorio se usa el comando ll -d seguido del nombre del directorio. El mensaje que aparece es similar al anterior, en este caso aparece una d al comienzo de la linea que señala simplemente que estamos viendo los privilegios de un directorio.

El comando man es una ayuda al usuario del Unix que da información sobre cualquiera de los comandos que se señale. De modo general se usa haciendo seguir al comando man de la orden que se desee, por ejemplo

$ man ls

para estudiar más a fondo el comando ls.

EL SHELL COMO INTéRPRETE DE COMANDOS

Cuando un usuario comienza una sesión de Unix se dice que ya entra en un shell o dialecto que interpreta los comandos según su propia sintaxis. Despues de que el shell interpreta el comando, el UNIX lo llama y ejecuta. Una vez que un programa ha sido llamado y ejecutado se dice que el proceso ha concluido. A cada proceso se le adjudica un número concreto que se le denomina PID.

PROTECCIóN DEL SISTEMA

Para proteger un archivo o un directorio usaremos la opción chmod seguida del correpondiente código de protección. Los dígitos y códigos de protección de ficeros y directorios son:

dígito binario leer escribir ejecutar

7 111 x x x

6 110 x x -

5 101 x - x

4 100 x - -

3 011 - x x

2 010 - x -

1 001 - - x

0 000 - - -

Los códigos más usuales son:

código propietario grupo otros

400 r - - - - - - - -

444 r - - r - - r - -

666 r w - r w - r w -

755 r w x r - x r - x

777 r w x r w x r w x

700 r w x - - - - - -

EL SHELL Y LOS TIPOS DE SHELL

UNIX ofrece tres tipos de shell o modos de interpretación de comandos:

Bourne Shell(sh); Korn Shell(ksh); C Shell(csh).

El Bourne shell es el más antiguo y tuvo gran popularidad en su lanzamiento, es el shell por defecto del UNIX.

El C shell reensambla la programación en lenguaje C y por tanto es más completo que el anterior.

El Korn Shell es el más moderno de los tres y el más desconocido

EL EDITOR DE TEXTOS VI

El vi es un editor de texto interactivo, en el que se trabaja en pantalla. Trabaja con líneas y no con párrafos, como lo hacen los otros editores de ordenadores personales.

Hay que distinguir entre la introducción de comandos(órdenes) y la introducción de texto. Se pasa de un estado a otro pulsando la tecla escape. Por ejemplo, si estamos en el modo comando y pulsamos las letras 'dd' borrará la linea en la que se situa el cursor, y no escribirá dd. Si estamos en el modo texto y pulsamos dd, aparecerán estas dos letras en la pantalla. Para caomenzar a trabajar se llama al editor pasándole el nombre del fichero (sample_file):

$ vi sample file

aparecerá la siguiente pantalla:

~

~

~

~

~

"sample_file" [New file]

Para empezar a introducir información tenemos que entrar en imput mode. Se hace pulsando la tecla i. No hace falta pulsar la tecla de retorno para que el ordenador entienda la orden. En el ángulo inferior derecho aparece un mensaje 'imput mode'. Entonces el cursor se coloca en la primera linea del fichero vacio, cemenzamos a meter la información en cada linea. Hay que recordar que al final de cada linea hay que pulsar retorno de carro, ya que si no da un error. Para salir del modo imput y volver al modo comando, se pulsa la tecla esc. Para salir sel fichero hay que teclear exactamente:

:wq

w escribir (write), y q salir (quit).

Para salir sin guardar los cambios.

:q!

Las órdenes más usualesdel modo input son:

vi sample file Entramos en el fichero sample file

i inserta texto detrás del cursor

esc sale del modo imput y lleva al modo comando

:wq guardar y salir

vi sample file Entra en el fichero sample file que ya existe

l mueve el cursor a la derecha

j mueve el cursor a la abajo

k mueve el cursor a la arriba

h mueve el cursor a la izquierda

a Introduce texto a la derecha del cursor

x borra un carácter

:q! Salir sin grabar

Los comandos mas usados para borrar son:

x Borra un caracter. el que está bajo el cursor

nx borra los n caracteres señalados desde el cursor

dw borra desde e cursor hasta el final de la palabra

dW borra la palabra entera

ndw borra las n palabras siguientes incluida aquella en la que está el cursor

db borra la palabra anterior

ndb borra las n palabras anteriores

dd borra la linea en uso

ndd borra las próximas n lineas

d borra desde el cursor hasta el final de la linea en uso

d0 borra desde el cursor hasta el comienzo de la linea

d) borra la frase en uso, desde el cursor hasta el final

d1G borra desde el cursor hasta el comienzo de la fila

dG borra desde el cursor hasta el final de la fila


[Página principal] - [Listado de Manuales] - [Búsquedas] - [Sugerencias]