Sie sind auf Seite 1von 31

U NIVERSIDAD DE VALLADOLID

Manual abreviado de UNIX Guin de prcticas

Escuela Universitaria Politcnica Programacin - I. T. Telecomunicacin

Curso 2003/2004

ndice general
1. Introduccin a Unix 1.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1.1. Qu es Unix? . . . . . . . . . . . . . . . . . . . . . . . . 1.1.2. El entorno de trabajo: el shell . . . . . . . . . . . . . . . . 1.1.3. Usuarios y grupos . . . . . . . . . . . . . . . . . . . . . . 1.2. Iniciacin a Unix . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.1. Entrada y salida del sistema . . . . . . . . . . . . . . . . . 1.3. Estructura del sistema de archivos de Unix . . . . . . . . . . . . . . 1.3.1. Tipos de archivos . . . . . . . . . . . . . . . . . . . . . . . 1.3.2. Enlaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.3. El camino o path . . . . . . . . . . . . . . . . . . . . . . . 1.3.4. Estructura del sistema de archivos de Unix . . . . . . . . . 1.3.5. El directorio personal . . . . . . . . . . . . . . . . . . . . . 1.3.6. Permisos . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4. Comandos bsicos de Unix . . . . . . . . . . . . . . . . . . . . . . 1.4.1. Algunos comandos sencillos de Unix . . . . . . . . . . . . 1.4.2. Listado del contenido de directorios: comando ls . . . . . 1.4.3. Creacin de subdirectorios: comando mkdir . . . . . . . . 1.4.4. Borrado de subdirectorios: comando rmdir . . . . . . . . 1.4.5. Cambio de directorio: comando cd . . . . . . . . . . . . . 1.4.6. Situacin actual: comando pwd . . . . . . . . . . . . . . . 1.4.7. Copia de cheros: comando cp . . . . . . . . . . . . . . . 1.4.8. Traslado y cambio de nombre de cheros: comando mv . . . 1.4.9. Enlaces a cheros: comando ln . . . . . . . . . . . . . . . 1.4.10. Borrado de cheros: comando rm . . . . . . . . . . . . . . 1.4.11. Cambio de modo de los cheros: comando chmod . . . . . 1.4.12. Visualizacin sin formato de un chero: comando cat . . . 1.4.13. Visualizacin de cheros pantalla a pantalla: comando more 1.5. Comandos fundamentales del editor vi . . . . . . . . . . . . . . . 1.6. Y despus qu? . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.6.1. Obtener ms informacin con el manual del sistema . . . .
I

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1 1 1 2 2 2 3 3 3 4 4 5 6 6 6 7 7 8 8 8 9 9 9 9 10 10 11 11 11 12 13

II

NDICE GENERAL

2. Guin de prcticas 2.1. Entrando al sistema . . . . . . . . . . . . . . 2.2. Desconexin . . . . . . . . . . . . . . . . . 2.3. Transferencia de cheros . . . . . . . . . . . 2.4. Ejercicios de manejo de cheros y directorios 2.5. Ejercicios de transferencia de cheros . . . . 2.6. Escribiendo el primer programa. . . . . . . . 2.7. Ejecutando el primer programa. . . . . . . . 2.8. Desarrollo . . . . . . . . . . . . . . . . . . . 2.8.1. Esquema general . . . . . . . . . . . 2.8.2. Ejecucin . . . . . . . . . . . . . . . 2.9. Errores . . . . . . . . . . . . . . . . . . . . . 2.9.1. Soluciones drsticas . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

15 15 17 17 18 21 21 23 23 23 24 25 27

Captulo 1

Introduccin a Unix
1.1. Introduccin
La mayor parte de los ordenadores que existen en la actualidad estn diseados de forma que puedan ejecutar diversas tareas o programas. Estos programas pueden ir desde un procesador de textos, a un programa para la animacin de grcos tridimensionales o distintos tipos de juegos. Para su correcto funcionamiento deben ser adems capaces de acceder a las recursos de que dispone el ordenador, como por ejemplo escribir o leer datos en un disco duro, mostrar un grco por pantalla, etc. Es evidente, que si cada programa actuase de una forma independiente, existiran graves problemas y conictos, puesto que, por ejemplo, tendran libertad para escribir sus datos sobre los de otro, etc. Para solucionar este tipo de problemas se desarrollaron los Sistemas Operativos, los cuales aportan unos mecanismos y reglas bsicas de funcionamiento, de forma que los programas puedan acceder a los recursos del ordenador de una forma adecuada. Aunque sta fue la funcionalidad inicial de los sistemas operativos, con el tiempo se han aadido otras muchas, como la ejecucin de programas, el control de la memoria del ordenador, la creacin y control de interfaces grcas de usuario, etc. En la actualidad existen una gran cantidad de sistemas operativos dependiendo del tipo de ordenador en el que se va a ejecutar. Por ejemplo para los PC uno de los sistemas operativos ms difundidos es Microsoft Windows, tanto en las versiones 95, 98, ME, NT 4.0, 2000 y la nueva XP. Otros posibles sistemas operativos para este tipo de ordenadores son Solaris, OS/2, BeOS, Microsoft DOS, o uno de los sistemas operativos ms poderosos y en rpida expansin para PC: Linux.

1.1.1. Qu es Unix?
Unix es un sistema operativo desarrollado en 1970, y una de sus mayores ventajas es que es fcilmente portable a diferentes tipos de ordenadores, por lo que existen versiones de Unix para casi todos los tipos de ordenadores, desde PC y Mac hasta estaciones de trabajo y superordenadores. Al contrario que otros sistemas operativos, como por ejemplo MacOS el sistema operativo de los Apple Macintosh, Unix no est pensado para ser fcil de emplear, sino para ser sumamente exible. Por lo tanto Unix no es en general tan sencillo de emplear como otros sistemas operativos, aunque, se estn realizando grandes esfuerzos 1

CAPTULO 1. INTRODUCCIN A UNIX

para facilitar su uso. Pese a todo la enorme exibilidad de Unix y su gran estabilidad (y el bajo coste, en sus versiones de libre distribucin) han hecho de este sistema operativo una opcin muy a tener en cuenta por aquellos usuarios que se dediquen a trabajar a travs de redes, naveguen por Internet, o se dediquen a la programacin. Linux es un sistema operativo para PC, gratuito y de libre distribucin inspirado en el sistema Unix, escrito por Linus Torvalds con la ayuda de miles de programadores de todo el mundo comunicados a travs de Internet. El futuro de Linux es brillante y cada vez ms y ms gente y ms y ms empresas entre otras IBM, Intel y Corel estn apoyando este proyecto, con lo que el sistema ser cada vez ms sencillo de emplear y los programas sern cada vez mejores.

1.1.2. El entorno de trabajo: el shell


Al contrario que otros sistemas operativos, por defecto el trabajo con Unix no se realiza de una forma grca, sino introduciendo comandos de forma manual. Unix dispone de varios programas que se encargan de interpretar los comandos que introduce el usuario y realiza las acciones oportunas en respuesta. Estos programas se denominan shell y son el modo tpico de comunicacin en todos los sistemas Unix, incluido Linux. Para muchas personas el hecho de tener que introducir los comandos de forma manual les puede parecer intimidante y dicultoso, aunque como se ver ms adelante los comandos de Unix son relativamente simples y muy poderosos.

1.1.3. Usuarios y grupos


Unix es un sistema operativo multitarea y multiusuario. Esto quiere decir que es capaz de ejecutar varios programas (o tareas) de forma simultnea y albergar a varios usuarios de forma simultnea. Por lo tanto, todos los usuarios de Unix deben tener una cuenta de usuario en el sistema que establezca los privilegios del mismo. A su vez Unix organiza a los usuarios en grupos de forma que se puedan establecer privilegios a un determinado grupo de trabajo, para el acceso a determinados archivos o servicios del sistema.

1.2. Iniciacin a Unix


Existen tres formas de acceder a un sistema Unix: A travs de una consola de texto, el usuario se conecta directamente al ordenador que tiene instalado Unix y accede mediante un sistema no grco, o de texto. Desde un gestor de sesiones grco X Window el usuario se conecta directamente al ordenador que tiene instalado Unix y accede al sistema mediante un programa grco. Desde un ordenador remoto mediante telnet o secure shell.

1.3. ESTRUCTURA DEL SISTEMA DE ARCHIVOS DE UNIX

1.2.1. Entrada y salida del sistema


En cualquiera de los casos citados con anterioridad en la pantalla aparecer (ms o menos) lo siguiente:
Login: (Se teclea el nombre del usuario) Password:(Se teclea la contrasea, que no se ve en la pantalla)

Por motivos de seguridad la contrasea debe cumplir ciertas condiciones tales como: Contener al menos seis caracteres. Contener al menos un carcter numrico o especial y dos alfabticos. Ser diferente del nombre de login. La primera vez que se accede al sistema la contrasea empleada ser la proporcionada por el administrador del sistema. Existen diversas formas para terminar la sesin de trabajo en Unix, dependiendo de si estamos en modo grco o de texto. En modo texto: Presionar las teclas <ctrl> d Escribir el comando exit

1.3. Estructura del sistema de archivos de Unix


1.3.1. Tipos de archivos
La base del sistema de archivos de Unix, es obviamente el archivo, que no es otra cosa que la estructura empleada por el sistema operativo para almacenar informacin en un dispositivo fsico como un disco duro, un disquete, un CD-ROM o un DVD. Como es natural un archivo puede contener cualquier tipo de informacin, desde una imagen en formato PNG o JPEG a un texto o una pgina WEB en formato HTML,. . . El sistema de archivos es la estructura que permite que Unix maneje los archivos que contiene. Todos los archivos de Unix tienen un nombre, el cual debe cumplir unas ciertas reglas: Un nombre de archivo puede tener entre 1 y 255 caracteres. Se puede utilizar cualquier carcter excepto la barra inclinada / y no es recomendable emplear los caracteres con signicado especial en Unix, que son los siguientes: = \ ^ ~ " * ; - ? [ ] ( ) ! & ~ < > | Para emplear cheros con estos caracteres o espacios hay que introducir el nombre del chero entre comillas, aunque esto no est soportado por todos los sistemas Unix. Se pueden utilizar nmeros exclusivamente si as se desea. Las letras maysculas y minsculas se consideran diferentes, y por lo tanto no es lo mismo carta.txt que Carta.txt carta.Txt. Como en Windows, se puede emplear un cierto criterio de tipo para marcar las distintas clases de cheros empleando una serie de caracteres al nal del nombre que indiquen el tipo de chero del que se trata. As, los cheros de texto, HTML, las imgenes PNG JPEG tienen extensiones .txt, .htm (o .html), .png y .jpg (o .jpeg) respectivamente.

CAPTULO 1. INTRODUCCIN A UNIX

Pese a esto Unix slo distingue tres tipos de archivos: Archivos o cheros ordinarios, son los mencionados anteriormente. Directorios (o carpetas), es un archivo especial que agrupa otros cheros de una forma estructurada. Archivos especiales, son la base sobre la que se asienta Unix, puesto que representan los dispositivos conectados a un ordenador, como puede ser una impresora. De esta forma introducir informacin en ese archivo equivale a enviar informacin a la impresora. Para el usuario estos dispositivos tienen el mismo aspecto y uso que los archivos ordinarios.

1.3.2. Enlaces
Los enlaces son un tipo de archivo ordinario cuyo objetivo es crear un nuevo nombre para un archivo determinado. Una vez creado el enlace simblico ste permite acceder al chero que enlaza de igual modo que si se hubiera copiado el contenido del mismo a otro chero, con la ventaja de que este realmente no se ha copiado. Los enlaces simblicos son especialmente tiles cuando se quiere que un grupo de personas trabajen sobre un mismo chero, puesto que permiten compartir el chero pero centralizan las modicaciones. Como ejemplo se puede suponer la existencia de un chero llamado balance.2001.txt, al cual, se le se crea un enlace simblico con el nombre balance.txt. Cualquier acceso a balance.txt es traducido por el sistema de forma que se accede al contenido de balance.2001.txt.

1.3.3. El camino o path


En cualquier sistema operativo moderno la estructura de archivos es jerrquica y depende de los directorios. En general la estructura del sistema de archivos se asemeja a una estructura de rbol, estando compuesto cada nudo por un directorio o carpeta, que contiene otros directorios o archivos. En Windows cada unidad de disco se identica como una carpeta bsica que sirve de raz a otras, y cuyo nombre es especial a:, c:, d:, etc. En los sistemas Unix, existe una nica raz denominada / de la que cuelgan todos los cheros y directorios, y que es independiente de qu dispositivos estn conectados al ordenador. El camino de un chero o directorio es la secuencia de directorios que se ha de recorrer para acceder a un determinado chero separados por /. Supongamos la estructura de archivos de la gura 1.1 Existen dos formas del camino: El camino absoluto que muestra toda la ruta a un chero. Por ejemplo, el camino absoluto del chero Carta.txt es /home/luis/Carta.txt. El camino relativo a un determinado directorio, por ejemplo si nos encontramos en el directorio /home, el camino relativo al chero Carta.txt es luis/Carta.txt. Para complicar aun ms las cosas, todos los directorios contienen dos directorios especiales, a saber:

1.3. ESTRUCTURA DEL SISTEMA DE ARCHIVOS DE UNIX

dev

usr

home

etc

pedro

luis

Carta.txt

Carta2.txt

Figura 1.1: rbol de directorios de ejemplo

El directorio actual, representado por el punto . El directorio padre representado por dos puntos .. Estando en el directorio /home/pedro se puede acceder a Carta.txt con /home/luis/Carta.txt (camino absoluto) o bien ../luis/Carta.txt (camino relativo). Estando en el directorio /home/luis se accede mediante ./Carta.txt o simplemente Carta.txt.

1.3.4. Estructura del sistema de archivos de Unix


Todo el sistema de archivos de Unix tiene un origen nico: la raz o root representada por /. Bajo este directorio se encuentran todos los cheros a los que puede acceder el sistema operativo. Estos cheros se organizan en distintos directorios cuya misin y nombre son estndar para todos los sistemas Unix. Entre otros se pueden destacar:

Raz del sistema de archivos.

/dev Contiene cheros del sistema representando los dispositivos que estn fsicamente instalados en el ordenador. /etc Este directorio esta reservado para los cheros de conguracin del sistema. En este directorio no debe aparecer ningn chero binario (programas). /lib Contiene las libreras necesarias para que se ejecuten los programas que residen en /bin (no las libreras de los programas de los usuarios). /proc Contiene cheros especiales que o bien reciben o envan informacin al kernel del sistema (se recomienda no modicar el contenido de este directorio y sus cheros).

CAPTULO 1. INTRODUCCIN A UNIX

/usr Este es uno de los directorios ms importantes del sistema puesto que contiene los programas de uso comn para todos los usuarios. /var Este directorio contiene informacin temporal de los programas (lo cual no implica que se pueda borrar su contenido, de hecho, no se debe hacer!).

1.3.5. El directorio personal


El directorio personal es un directorio con un determinado nombre asignado a un usuario. Los directorios personales habitualmente son subdirectorios de /home. Generalmente el nombre coincide con el del nombre de usuario, aunque puede no ser as, y varios usuarios pueden estar trabajando en el mismo directorio. Cada usuario de Unix puede crear una estructura en rbol de subdirectorios y archivos tan compleja como desee bajo su directorio personal pero normalmente nunca fuera de l.

1.3.6. Permisos
Unix, mantiene un sistema de permisos de acceso a los cheros muy estricto, a n de controlar qu es lo que se puede hacer con ellos, y quin lo puede hacer. Estos permisos se identican con letras y son: r permiso de lectura el chero. w permiso de escritura en el chero. x permiso de ejecucin del chero. s permiso para cambiar el propietario del chero. Al contrario que en Windows o MS-DOS los programas ejecutables de Unix no estn marcados por una determinada extensin (.exe) sino por un atributo, el permiso de ejecucin x. Si se elimina este atributo a un programa, Unix no ser capaz de ejecutarlo. A su vez cada uno de estos permisos se aplica: al dueo del chero (u), al grupo de usuarios al que pertenece el dueo (g), al resto de usuarios (o). As un chero determinado puede tener permiso para ser ledo, escrito y ejecutado por su dueo, ledo y ejecutado por el grupo al que pertenece y no tener ningn tipo de acceso para los dems usuarios. Como se puede entender este tipo de mecanismo es especialmente til cuando se trabaja en grupo en un determinado proyecto.

1.4. Comandos bsicos de Unix


Existen una serie de nociones bsicas que hay que tener en cuenta a la hora de introducir los comandos. En primer lugar citaremos las siguientes: Los comandos hay que teclearlos exactamente. Las letras maysculas y minsculas se consideran como diferentes.

/sbin

Contiene programas que son nicamente accesibles al superusuario o root.

1.4. COMANDOS BSICOS DE UNIX

En su forma ms habitual (los shells de Bourne o de Korn), el sistema operativo utiliza un signo de $ como prompt para indicar que est preparado para aceptar comandos, aunque este carcter puede ser fcilmente sustituido por otro u otros elegidos por el usuario. En el caso de que el usuario acceda como administrador este signo se sustituye por #.

1.4.1. Algunos comandos sencillos de Unix


A continuacin se describen algunos comandos sencillos de que pueden ser tiles para familiarizarse con los comandos del sistema.

date

Muestra por pantalla el da y la hora. Muestra el calendario del ao 1949.


cal 1949

cal 5 1949

Muestra el calendario de mayo de 1949.

who Indica qu usuarios tiene el ordenador en ese momento, en qu terminal estn y desde qu hora.

whoami

Indica cul es la terminal y la sesin en la que se est trabajando.

man [comando] Todos los manuales de Unix estn dentro del propio sistema operativo, y este comando permite acceder a la informacin correspondiente al comando comando. Por ejemplo con man who aparecer por pantalla y de forma formateada por pginas, la explicacin del comando who. Se puede navegar a travs de estas pginas con los cursores del teclado, la barra espaciadora avanza una pgina, el retorno de carro avanza una lnea y presionando la tecla q se sale. clear Este comando limpia la consola ("borra la pantalla").

1.4.2. Listado del contenido de directorios: comando ls


Una de las acciones ms habituales a la hora de trabajar es mostrar el contenido de un directorio, para ello el shell incluye un programa para este n: ls. Si tecleamos: ls Se muestran los nombres de los cheros y subdirectorios contenidos en el directorio en el que se est. Slo se obtienen los nombres de los cheros, sin ninguna otra informacin. ls -a Se muestran todos los cheros incluyendo algunos que ordinariamente estn ocultos para el usuario (aquellos que comienzan por un punto). Se recuerda que el chero punto . indica el directorio actual y el doble punto .. el directorio padre, que contiene, al actual. ls -l Esta es la opcin de lista larga: muestra toda la informacin de cada chero incluyendo: protecciones, tamao y fecha de creacin o del ltimo cambio introducido,... ls -c Se muestra ordenando por da y hora de creacin.

CAPTULO 1. INTRODUCCIN A UNIX

Las opciones anteriores pueden combinarse. Por ejemplo: ls -la muestra el contenido del directorio en formato largo incluyendo los cheros ocultos. El comando ls admite los caracteres de sustitucin o metacarcteres * y ?. El carcter * representa cualquier conjunto o secuencia de caracteres. El carcter ? representa cualquier carcter, pero slo uno. Por ejemplo: ls *.gif muestra todos los nombres de cheros que acaben en .gif, por ejemplo dib1.gif, a.gif, etc. . . ls file? muestra todos los cheros cuyos nombres empiecen por file y tengan un nombre de cinco caracteres, por ejemplo: file1, file2, fileA, etc. . .

1.4.3. Creacin de subdirectorios: comando mkdir


El comando mkdir make directory permite a cada usuario crear un nuevo subdirectorio, su forma es: mkdir [subdir] En donde subdir es el nombre del directorio que se va a crear.

1.4.4. Borrado de subdirectorios: comando rmdir


Este comando borra uno o ms directorios del sistema remove directory, siempre que estos subdirectorios estn vacos. Su forma es: rmdir [subdir] En donde subdir es el nombre del directorio que se desea a eliminar.

1.4.5. Cambio de directorio: comando cd


Este comando permite cambiar de directorio change directory a partir del directorio actual de trabajo. Su forma es: cd [dir] Como resultado nos traslada al subdirectorio dir (que deber de existir como subdirectorio en el directorio actual). O dicho con otras palabras, pasamos del directorio actual de trabajo al directorio indicado, siendo este ahora nuestro nuevo directorio de trabajo. Si tecleamos cd .. retrocedemos un nivel en la jerarqua de directorios. Nota: al contrario que en MS-DOS en Unix no existe la forma cd.. sin espacio entre el comando cd y los dos puntos. Si se teclea cd sin ms nos situaremos nuevamente en el directorio personal del usuario.

ls -l [filename]

ls [subdir]

ls -r

ls -t

Se muestra ordenando por da y hora de modicacin. Se muestra el directorio y lo ordena en orden inverso. Se muestra el contenido del subdirectorio subdir. Se muestra toda la informacin sobre el chero filename.

1.4. COMANDOS BSICOS DE UNIX

1.4.6. Situacin actual: comando pwd


El comando pwd print working directory visualiza o imprime la ruta del directorio en el que nos encontramos en este momento. Este comando es uno de los pocos que no tiene opciones y se utiliza escribiendo simplemente pwd.

1.4.7. Copia de cheros: comando cp


Este comando tiene la siguiente forma: cp file1 file2 y hace una copia de file1 y le llama file2. Si file2 no exista, lo crea con los mismos atributos de file1. Si file2 exista antes, su contenido queda destruido y es sustituido por el de file1. El chero file2 estar en el mismo directorio que file1. Tanto file1 como file2 indican el nombre de un archivo, que puede incluir el la ruta al mismo si alguno de ellos no se encuentra en el directorio actual.

1.4.8. Traslado y cambio de nombre de cheros: comando mv


Este comando tiene una forma similar al anterior: mv file1 file2 y realiza la misma funcin que el anterior cp pero adems destruye el chero original. En denitiva traslada el contenido de file1 a file2. A efectos del usuario lo que ha hecho es cambiar el nombre a file1, llamndole file2. El comando mv namedir1 namedir2 cambia el nombre del subdirectorio namedir1 por namedir2. Hay que recalcar que el comando mv sirve as mismo para cambiar el nombre de los cheros.

1.4.9. Enlaces a cheros: comando ln


En Unix un mismo chero puede estar repetido con ms de un nombre, ya que con el comando cp se pueden realizar cuantas copias se desee del chero. Pero, a veces, es ms prctico tener un mismo chero con varios nombres distintos, y lo que es ms importante, poder acceder a l desde ms de un directorio. En Unix esto recibe el nombre de enlaces mltiples a un chero. El ahorro de espacio de disco es importante al poder compartir un chero ms de un usuario. Estos enlaces son muy prcticos a la hora de utilizar cheros que pertenecen a directorios distintos. Gracias a los enlaces se puede acceder a muchos cheros desde un mismo directorio, sin necesidad de copiar en ese directorio todos esos cheros. La forma de este comando es: ln file1 file2 y a partir de este momento el chero file1 tiene dos nombres: file1 y file2. A diferencia de los comandos cp y mv, este comando toma ms precauciones, ya que advierte previamente si el nombre file2 est ocupado, y en este caso no se ejecuta. Los cheros enlazados a otro se borran como los cheros normales. Si se borra el chero original permanece su contenido en los cheros enlazados.

10

CAPTULO 1. INTRODUCCIN A UNIX

1.4.10. Borrado de cheros: comando rm


Este comando tiene la forma: rm file1 file2 ... y elimina uno o ms cheros de un directorio en el cual tengamos permiso de escritura. Con este comando resulta facilsimo borrar cheros intiles, y desgraciadamente, tambin los tiles. Por eso es conveniente y casi imprescindible emplear la opcin -i, de la siguiente manera: rm -i file1 file2 ... Con esta opcin, Unix pedir conrmacin para borrar cada chero de la lista, de si realmente se desea su destruccin o no. Se recomienda usar siempre este comando con esta opcin para evitar el borrado de cheros tiles. Por ejemplo, si se teclea: rm -i antiguo aparecer en pantalla un aviso del estilo a: remove antiguo? y habr que contestar y (yes) o n (not). En este comando se pueden utilizar los caracteres de sustitucin (* y ?), como por ejemplo, rm fich* que borrara todos los cheros del directorio actual que comiencen por la cadena fich. El comando rm * borrar todos los cheros del directorio actual, mientras que rm -i * realiza una labor anloga, pero con conrmacin previa.

1.4.11. Cambio de modo de los cheros: comando chmod


Los permisos de cada chero se pueden ver con el comando ls -l. Para cambiar los permisos de un chero (o directorio) se emplea el comando chmod, que tiene la forma: chmod [quien] [oper] [permiso] [files] en donde quien indica a quien afecta el permiso que se desea cambiar. Es una combinacin cualquiera de las letras u para el usuario, g para el grupo del usuario, o para los otros usuarios, y a para todos los anteriores. Si no se da el quien, el sistema supone a. oper indica la operacin que se desea hacer con el permiso. Para dar un permiso se pondr un +, y para quitarlo se pondr un -. permiso indica el permiso que se quiere dar o quitar. Ser una combinacin cualquiera de las letras anteriores: r, w, x, s. files es una lista de los nombres de los cheros cuyos modos de acceso se quieren cambiar.

1.5. COMANDOS FUNDAMENTALES DEL EDITOR VI

11

Por ejemplo, para quitar el permiso de lectura a los usuarios de un chero el comando es chmod a -r fichero.txt Los permisos de lectura, escritura y ejecucin tienen un signicado diferente cuando se aplican a directorios y no a cheros normales. En el caso de los directorios el permiso r signica la posibilidad de ver el contenido del directorio con el comando ls; el permiso w da la posibilidad de crear y borrar cheros en ese directorio, y el permiso x autoriza a buscar y utilizar un chero concreto.

1.4.12. Visualizacin sin formato de un chero: comando cat


Este comando permite visualizar el contenido de uno o ms cheros de forma no formateada. Algunas formas de utilizar este comando son las siguientes: cat filename saca por pantalla el contenido del chero filename. cat file1 file2... saca por pantalla, secuencialmente y segn el orden especicado, el contenido de los cheros indicados.

1.4.13. Visualizacin de cheros pantalla a pantalla: comando more


Este comando permite visualizar un chero pantalla a pantalla. El nmero de lneas por pantalla es de 23 lneas de texto y una ltima lnea de mensajes, donde aparecer la palabra "more". Cuando se pulsa la barra espaciadora (el espacio en blanco), se visualizar la siguiente pantalla. Para salir de este comando (terminar la visualizacin) se pulsa <ctrl> d q. Por ejemplo: more file

1.5. Comandos fundamentales del editor vi


El editor de textos vi dispone de muchos otros comandos que nos permiten modicar un chero de texto previamente creado. En esta seccin mostraremos slo un resumen de ellos. Todos los comandos deben ser activados desde el modo comando. Como vimos anteriormente para pasar al modo comando debemos pulsar la tecla esc Por supuesto si ya estamos en este modo no es necesario hacerlo, pero ello no produce ningn error, de modo que ante la duda es preferible teclear siempre esc seguido del comando o comandos que deseamos ejecutar. Movimiento del cursor. Desplazar el cursor. G Ir a la linea . $ Ir al nal de la linea. i a A o O Insercin de texto. Inserta texto delante del cursor Inserta texto tras el cursor Aade texto al nal de la linea actual Crea una nueva linea sobre la actual y queda en modo de insercin Crea una nueva linea bajo la actual y queda en modo de insercin

12

CAPTULO 1. INTRODUCCIN A UNIX

x dd dw :w :q :q! :wq <Ctrl>L <Ctrl>G

Borrado de texto. Borra el carcter bajo el cursor Borra la linea bajo el cursor Borra la palabra bajo el cursor

Salida del editor. Escribe en el disco el contenido actual del chero Abandona el editor (solicitando conrmacin de grabado) Abandona el editor (fuerza al editor a salir sin grabar) Abandona el editor tras grabar Otros comandos. Refresca la pantalla Informa sobre el nmero de linea actual y nombre del chero

Gran parte de los comandos de vi admiten la repeticin. As por ejemplo si deseamos borrar 10 espacios el comando se escribe como 10x. Esto puede crear problemas si, por ejemplo, tecleamos inadvertidamente un nmero, digamos 100, seguido del comando i y procedemos a insertar un texto en el chero. Al salir del modo de insercin todo el proceso se repetir 100 veces!

1.6. Y despus qu?


El objetivo de las prcticas no es el aprendizaje del sistema operativo U NIX TM , pero es evidente que el manejo con soltura del sistema nos permitir resolver las prcticas de un modo ms rpido y cmodo. El captulo 9 y el apndice C del libro Llanos Ferraris, Diego. Curso de C bajo UNIX. International Thomson Learning. Paraninfo, Madrid, 2001. contienen la informacin suciente para adquirir esta soltura. En el mercado pueden encontrarse manuales U NIX TM ms especcos y detallados, como Abrahams, P.W. Larson, B.A.. U NIX TM para impacientes.. Ed. Addison-Wesley Ib. 1994. Amir Azfal. Introduccin al U NIX TM : un enfoque prctico.. Ed. Prentice Hall, 1997. Kernighan, B.W. Pike, B.. El entorno de programacin U NIX TM . Ed. Prentice Hall, 1987. Morgan, R. McGilton, H.. Introduccin al U NIX TM Sistema V. Ed. McGraw-Hill, 1989.

1.6. Y DESPUS QU?

13

1.6.1. Obtener ms informacin con el manual del sistema


El comando man nos ofrece informacin relativa a los comandos o programas instalados en el sistema. As man ls nos brinda informacin sobre el funcionamiento y opciones de ls mientras man -k ls nos ofrece una pequea descripcin de todos los comandos relacionados con ls. En todo caso practicar y consultar con los profesores de prcticas cualquier duda que se plantee al respecto.

14

CAPTULO 1. INTRODUCCIN A UNIX

Captulo 2

Guin de prcticas
2.1. Entrando al sistema
En primer lugar deberemos encender el ordenador y el monitor (los interruptores aparecen claramente identicados en el frontal del equipo). Tras posiblemente una serie de mensajes de arranque se ver una pantalla solicitando una contrasea de red. Pulsar con el ratn el botn aceptar, sin escribir ninguna contrasea. Ahora aparecer una pantalla Windows TM en la que se ver un icono (ver gura 2.1) con la palabra putty.exe debajo. Pulsando dos veces la tecla izquierda del ratn sobre l, aparecer una pantalla de conexin a equipo remoto (ver gura 2.2).

Figura 2.1: Icono de la aplicacin putty

El equipo utilizado en estas prcticas se llama saturno y su direccin en Internet es saturno.dcs.eup.uva.es. Para conectar con l, hay que introducir en el cuadro de dilogo la direccin en el campo Host Name, eligiendo el protocolo SSH (ver gura 2.2). A continuacin aparecer una pantalla similar a la recogida en la gura 2.3. Es la pantalla de conexin con el sistema, en la que nos tendremos que identicar como usuarios. La identicacin de un usuario ante el sistema se realiza mediante dos palabras, nombre de usuario (login) y contrasea (password), que previamente nos habr proporcionado el administrador del sistema. Teclearemos entonces nuestro login y return , y a continuacin nuestro password y return . Por motivos de seguridad al teclear el password no lo vemos reejado en pantalla. Tanto si el login es incorrecto como si el error se produce en el password, el sistema contestar: 15

16

CAPTULO 2. GUIN DE PRCTICAS

Figura 2.2: Pantalla de conexin

Figura 2.3: Mensaje de acceso a la mquina


login as: user124 Sent username "user124" user124@saturno.dcs.eup.uva.ess password: Last login: Thu Oct 9 11:29:10 2003 from lab12.dcs.eup.uva.es [user124@saturno user124]$

Login incorrect

y volver a solicitarnos ambos datos. En caso contrario acabamos de entrar en saturno. A partir de este momento saturnoespera a que tecleemos un comando terminado por return para ejecutarlo.

2.2. DESCONEXIN

17

2.2. Desconexin
Al terminar la sesin de trabajo deberemos abandonar el sistema. El comando que permite hacerlo es exit Tras realizar correctamente la desconexin, deberemos apagar el ordenador, siguiendo el proceso de desconexin de Windows TM : pulsar el botn Inicio, opcin Apagar el sistema y esperar a que en la pantalla aparezca el mensaje avisando de que se puede apagar el ordenador.

2.3. Transferencia de cheros


La transferencia de cheros nos permite copiar archivos de una mquina remota a una mquina local y viceversa. Dado que las prcticas las vamos a realizar en una mquina remota (saturno), ser imprescindible realizar transferencias de cheros con dicha mquina. Para realizar la transferencia de cheros emplearemos el programa psftp, que implementa el protocolo SFTP. Al arrancar el programa, deberemos indicar a qu mquina queremos conectarnos, as como el login y el password, segn se observa en la gura 2.4. Figura 2.4: Transferencia de cheros
psftp: no hostname specified; use "open host.name" to connect psftp> open saturno.dcs.eup.uva.es login as: user124 Using username "user124". user124@saturnos password: Remote working directory is /users/alumnos/user124 psftp>

Los comandos ms importantes son los siguientes: open: abre la conexin con una mquina remota. cd: cambia el directorio de trabajo en la mquina remota. dir: lista los contenidos del directorio de trabajo de la mquina remota. get: descarga un chero de la mquina remota a la mquina local. put: copia un chero de la mquina local a la mquina remota. bye: naliza la conexin SFTP.

18

CAPTULO 2. GUIN DE PRCTICAS

2.4. Ejercicios de manejo de cheros y directorios


Este apartado presenta una serie de ejercicios prcticos que se deben realizar de forma secuencial. Los ejercicios se deben resolver en el ordenador. Cuando obtenga la solucin correcta, escrbela en el espacio habilitado a tal efecto. 1.- Cree un subdirectorio que se llame ejerciciosUNIX en su directorio personal. Comando

2.- Cree otro subdirectorio que se llame documentos en su directorio personal. Comando

3.- Copie los cheros que comienzan por carta y que se encuentran en el directorio /docencia/ITT en el subdirectorio documentos Comando

4.- Copie los cheros que terminan por .txt y que se encuentran en el directorio /docencia/ITT en el subdirectorio ejerciciosUNIX Comando

5.- Compruebe su situacin actual. Comando

6.- Entre en el subdirectorio ejerciciosUNIX Comando

7.- Vuelva a comprobar su situacin actual. Comando

8.- Visualice el contenido del directorio, de forma que slo aparezcan los nombre de los cheros. Comando

9.- Vuelva a visualizar el contenido del directorio, pero esta vez deben de aparecer los nombres de los cheros, sus permisos, fechas,. . . (formato largo). Comando

10.- Borre el chero ej1.txt de tal forma que se conrme el borrado del mismo.

_____________________________________________

_____________________________________________

_____________________________________________

_____________________________________________

_____________________________________________

_____________________________________________

_____________________________________________

_____________________________________________

_____________________________________________

2.4. EJERCICIOS DE MANEJO DE FICHEROS Y DIRECTORIOS

19

Comando

11.- Elimine todos los permisos de escritura del chero ej2.txt Comando

12.- Visualice el contenido del directorio en formato largo y compruebe que se han denegado dichos permisos. Comando

13.- Intente eliminar el chero ej2.txt, Unix no debe permitir que lo borre. Comando

14.- Otorgue el permiso de escritura de usuario al chero ej2.txt Comando

15.- Borre el chero ej2.txt conrmando el borrado del mismo. Comando

16.- Regrese a su directorio personal. Comando

17.- Intente eliminar el subdirectorio ejerciciosUNIX, Unix no le permitir borrarlo porque no est vaco. Comando

18.- Elimine el chero ej3.txt que se encuentra en el subdirectorio ejerciciosUNIX sin cambiar de directorio. Comando

19.- Elimine ahora el subdirectorio ejerciciosUNIX Comando

20.- Visualice el contenido del subdirectorio documentos sin entrar a l y en formato largo. Comando

_____________________________________________

_____________________________________________

_____________________________________________

_____________________________________________

_____________________________________________

_____________________________________________

_____________________________________________

_____________________________________________

_____________________________________________

_____________________________________________

_____________________________________________

20

CAPTULO 2. GUIN DE PRCTICAS

21.- Elimine el chero carta1 que se encuentra en el subdirectorio documentos sin entrar a dicho subdirectorio. Comando

22.- Cambie el nombre del chero carta2 que se encuentra en el subdirectorio documentos sin entrar a dicho subdirectorio. El nuevo nombre que debe dar al chero ser nueva_carta Comando

23.- Mueva el chero nueva_carta a su directorio de trabajo donde se debe de encontrar ahora sin entrar a dicho subdirectorio. Comando

24.- Elimine, previa conrmacin, el chero nueva_carta Comando

25.- Visualice sin ningn formato especial el contenido de chero carta3 que se encuentra en el subdirectorio documentos sin entrar a dicho subdirectorio. Comando

26.- Visualice pantalla a pantalla el contenido del chero carta3 que se encuentra en el subdirectorio documentos sin entrar a dicho subdirectorio. Comando

27.- Borre el archivo carta3 que se encuentra en el subdirectorio documentos sin entrar a dicho subdirectorio. Comando

28.- Elimine el subdirectorio documentos Comando

29.- Salga del sistema. Comando

_____________________________________________

_____________________________________________

_____________________________________________

_____________________________________________

_____________________________________________

_____________________________________________

_____________________________________________

_____________________________________________

_____________________________________________

2.5. EJERCICIOS DE TRANSFERENCIA DE FICHEROS

21

2.5. Ejercicios de transferencia de cheros


1.- Empleando el programa Bloc de Notas (notepad) de Windows cree un chero llamado ejemplo1.txt con el siguiente contenido: #include <stdio.h> main() { printf("Hola Mundo\n"); } 2.- Transera ese chero a su directorio personal de la mquina saturno. Comando

3.- Cree una copia del chero con el nombre ejemplo2.txt. Comando

4.- Empleando vi, modique el chero ejemplo2.txt, de modo que el contenido sea el siguiente: #include <stdio.h> main() { printf("Hola Mundo\n"); printf("Esto es un programa en C\n"); printf("Adios!!\n"); } 5.- Transera el chero ejemplo2.txt a la mquina local. Comando

6.- Compruebe mediante el bloc de notas que el contenido de dicho chero es el esperado.

2.6. Escribiendo el primer programa.


Para ejecutar un programa C primero debemos almacenarlo en el disco de saturnoy, para ello, debemos utilizar un procesador de textos, en nuestro caso vi. Para activar vi deberemos escribir vi chero

_____________________________________________

_____________________________________________

_____________________________________________

22

CAPTULO 2. GUIN DE PRCTICAS

Figura 2.5: Fichero vaco ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ "primero.c" [New File]

Figura 2.6: Primer programa en C #include <stdio.h> main() { printf ("Hola! \n"); }

en nuestro caso: vi primero.c obteniendo en pantalla algo como lo recogido en la gura 2.5. Esto quiere decir que el editor vi est activo y que podemos comenzar a escribir nuestro programa. Para ello tecleamos i, que no aparecer en pantalla, y comenzamos a copiar textualmente el contenido de la gura 2.6 utilizando return para saltar de una linea a otra. Para terminar la edicin basta teclear esc seguido de :wq El editor vi tiene dos modos de trabajo: el modo comando, en el que estamos al comenzar la edicin, y el modo de insercin 1 , al que hemos pasado mediante el comando i. Al pulsar esc regresamos del modo de insercin al modo comando con lo que podemos utilizar comandos como los recogidos en la seccin 1.5 . Hay que sealar que el vi no reconoce las teclas especiales de borrado, insercin,. . . de nuestro teclado, pero s las teclas de direccin (echas), . . . , siempre que estemos en el modo comando.
1

llamado edicin en algunos textos

2.7. EJECUTANDO EL PRIMER PROGRAMA.

23

2.7. Ejecutando el primer programa.


Podemos comprobar si la edicin del programa descrita en el apartado anterior ha sido correcta mediante el comando ls que da una lista de los cheros que tenemos en el directorio actual. En este caso deber aparecer un nico elemento en la lista, el recin creado primero.c. Para compilar el chero utilizaremos el comando gcc chero que activa el compilador de C, en nuestro caso gcc primero.c. Si no obtenemos ningn mensaje como respuesta hemos conseguido compilar correctamente nuestro primer programa. Si lo recibimos, habremos cometido algn error al teclear el comando2 o al crear el programa. En este caso deberemos volver a editar el programa como se describe en las secciones 1.5 y 2.6. El comando ls nos permitir comprobar que hemos creado un nuevo chero, a.out, que contiene el cdigo ejecutable de nuestro programa. Para ejecutar el programa teclearemos el nombre del chero que lo contiene, ./a.out en nuestro caso, y veremos en pantalla el resultado3 .

2.8. Desarrollo
La gura 2.74 muestra el esquema de trabajo que debe seguirse en el desarrollo de programas C en entorno Unix. Ejercicio 1 (Preparacin) Crea un directorio para trabajar con este guin (por ejemplo, Dia1). Establcelo como directorio de trabajo (cd ...). Copia en l todos los archivos con extensin .c del directorio /docencia/ITT .

2.8.1. Esquema general


Mediante la orden vi nombre-de-chero.c se edita el programa, consiguiendo el texto en C, en lo que denominamos programa fuente. La orden gcc nombre-de-chero.c realizar la compilacin. Ejercicio 2 1.- Edita (con vi), o utiliza more o cat para ver el contenido de hola.c.

2.- Complalo. (gcc hola.c) (Con la opcin -v, se podr ver la evolucin del proceso). 3.- Cul es el tamao de hola.c? Y el de a.out?
2

El ms estpido de ellos es olvidar aadir .c al nal del nombre del chero No es gran cosa, es cierto, pero slo es el primer programa. 4 Llanos Ferraris, Diego, Curso de C bajo Unix, International Thomson Learning. Paraninfo, Madrid, 2001
3

24

CAPTULO 2. GUIN DE PRCTICAS

Anlisis

Diseo

Traduccin a cdigo C

Error en el tratamiento de los datos

Error en tiempo de compilacin Transcripcin al ordenador vi

Pruebas de ejecucin a.out

Compilacin cc

Error en tiempo de ejecucin

Enlace

Compilacin

Preproceso

Figura 2.7: Desarrollo de programas. 4.- Ejectalo (./a.out) Cuando sea necesario conservar un ejecutable, puede renombrarse a.out (mv) o, directamente, indicar al compilador que le d un nombre concreto mediante la opcin -o nombre_del_ejecutable. As gcc -o cospi cospi.c -lm

2.8.2. Ejecucin
El programa nalmente se ejecuta, como se ha visto, simplemente escribiendo el nombre del ejecutable. Entonces se leern las entradas y el programa proporcionar las salidas. Por defecto, las entradas se suponen de teclado, y las salidas se proporcionan por pantalla, pero en ocasiones es conveniente enviar la salida a otro dispositivo. Esto es lo que se conoce como redireccin. Por ejemplo: ./a.out >salida.txt har que la salida que antes obtenamos en la pantalla se escriba en un nuevo chero editable salida.txt mientras que ./a.out >> salida.txt aadir la salida de a.out al nal de salida.txt Ejercicio 3 Comprueba el resultado de la redireccin. Es decir, edita el chero salida.txt. Qu ha pasado?

2.9. ERRORES

25

2.9. Errores
Durante todo el proceso pueden cometerse errores. Los errores de edicin, como errores al pulsar teclas, son responsabilidad del editor, y se advierten durante este proceso. Nos ocuparemos ahora de los errores de fases posteriores, es decir los que se producen en la fase de compilacin, o los que se detectan en la fase de pruebas, que pueden ser debidos a diferentes razones. Ejercicio 4 Lee el chero media1.c. Sin modicarlo, complalo. Observa el mensaje de error. En qu fase se ha producido el error? En qu lnea est? Corrgelo. Compila nuevamente. Observa el resultado. Cuntos errores se detectan? Corrige el primero de ellos. Compila otra vez. Corrige el ltimo error (el de la B. Como sabes, para C, las minsculas y maysculas son distintas, as que B est sin denir. Se debi escribir b. Compila. Cuntos errores?. Corrige. Qu fase detect estos ltimos errores? Finalmente el programa es sintcticamente correcto. Compila y ejectalo. Calcula bien la media?. Qu tipo de error se produce ahora? Quin puede detectarlo? Con frecuencia, el proceso de localizacin e interpretacin de errores es complicado. A veces ello se debe a que un error que se produce en determinado lugar del cdigo, o del proceso, no se detecta hasta un lugar o un momento posterior. Ejercicio 5 Compila pi.c. Observa dnde se ha detectado el error. Puedes explicarlo?. Tambin es frecuente que un error, quizs simple, produzca como consecuencia una serie de errores en cascada. Otra razn que puede dicultar el proceso de localizacin de errores es que el texto del programa sea difcil de leer. Ejercicio 6 Copia y compila media2.c Mira el programa fuente. (vi cat) No es fcil de ver. Ejecuta cb media2.c (cb quiere decir C beautifier y admite algunas opciones. Muestra el resultado por pantalla, de modo que a lo mejor resulta ms cmodo redireccionar su salida). Corrige el primer error y vuelve a compilar. Qu ha pasado con los dems?

26

CAPTULO 2. GUIN DE PRCTICAS

cb puede ser una ayuda, pero no debe sustituir a la buena escritura de programas. Los mensajes de error que proporciona el compilador pueden ser de dos tipos: errores propiamente dichos (errors) o avisos (warnings). En el segundo caso, se crear el chero ejecutable, pero avisando de que hay algo poco recomendable . Conviene prestar atencin tambin a los avisos. Ejercicio 7 Compila media3.c Haciendo caso omiso del aviso, ejecuta el resultado (a.out) Corrige el error. Ya haba aparecido antes algo parecido. Tambin puede ocurrir que un error no llegue a detectarse, porque lo compiladores no siempre son sucientemente listos. Por ejemplo, en el programa del siguiente ejercicio, algunos compiladores detectaran el error, pero ste no es capaz. Ejercicio 8 Compila y ejecuta media4.c. Por qu se produce el error? Corrgelo. Veamos an otro error que no detecta el compilador, porque es un error de diseo. Ejercicio 9 Compila, ejecuta y corrige media5.c. Todava usaremos el clculo de la media para para practicar un poco. Ejercicio 10 Compila, etc. media6.c y media7.c. Con programas algo mayores, es frecuente que el informe de errores exceda el tamao de la pantalla. En este caso, habr que redireccionar o ltrar, no la salida del compilador, sino la salida de error, que se enva al dispositivo 2, por ejemplo escribiendo la orden gcc media6.c 2>errores.txt que generar el nuevo chero errores.txt donde se almacenar toda la informacin suministrada, y se podr estudiar con detalle. Finalmente, existen errores de ejecucin. Ocurren cuando, durante la ejecucin, el proceso no puede continuar. Se genera entonces un chero core que ser necesario borrar. Ejercicio 11 El programa media8.c quiere calcular la media de tres enteros ledos por teclado. Comprueba y corrige. En esta prctica se ha pretendido ayudar a entender el proceso de compilacin y las muchas posibilidades de errores que pueden producirse a lo largo de todo el proceso. La forma de desarrollar programas conables requiere realizar cada fase de las del dibujo inicial cuidadosamente. En primer lugar un anlisis y diseo slidos, acompaados de una batera de pruebas para realizar con el producto nal. Durante el desarrollo puede ser til insertar en el cdigo sentencias que muestren variables intermedias para poder seguir el proceso en sus partes ms complejas, especialmente cuando hay bucles, y eliminar estas sentencias cuando el programa est depurado. Adems, en el caso de escribir un bucle innito, la insercin de estas sentencias permitir detener la ejecucin, pulsando la combinacin <ctrl>C. Para la bsqueda de errores en tiempo de compilacin existen algunas reglas muy tiles:

2.9. ERRORES

27

No modicar nunca el programa sin reexionar sobre las causas del error, ni ensayar soluciones arbitrarias. Leer el mensaje de error. Leer el mensaje de error. (Esta lnea no es un error) En resumen, conviene reexionar en que, durante el desarrollo de un programa, puede haber: errores en el anlisis. errores de diseo. errores de codicacin. errores en la trascripcin (edicin). errores de compilacin (preproceso, compilacin, enlace). errores de ejecucin. errores en el resultado. y que estos errores no siempre se detectan en la fase en la que se cometen. La mejor defensa contra los errores es la realizacin cuidadosa de cada fase y la depuracin de cada una de ellas segn se va realizando.

2.9.1. Soluciones drsticas


Un programa en ejecucin puede detenerse mediante la la combinacin de teclas <ctrl>C . La orden ps -u nombre-de-usuario muestra el estado de los procesos que est ejecutando un determinado usuario. En la columna PID se muestra el nmero del proceso. El propietario puede eliminar el proceso de forma absoluta usando la orden kill -9 nmero-de-proceso. Por supuesto este mecanismo debe usarse con cuidado y slo cuando sea imprescindible.

Das könnte Ihnen auch gefallen