Está en la página 1de 30

2

U NIVERSIDAD DE VALLADOLID

Manual abreviado de UNIX - LINUX
Guión de prácticas

Escuela Universitaria Politécnica
Fundamentos de Informática
I. T. Industrial

Curso 2005/2006

Índice general
1. Introducción a Unix
1.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1.1. ¿Qué es Unix? . . . . . . . . . . . . . . . . . . . . . . . .
1.1.2. El entorno de trabajo: el shell . . . . . . . . . . . . . . . .
1.1.3. Usuarios y grupos . . . . . . . . . . . . . . . . . . . . . .
1.2. Iniciación 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. El camino o path . . . . . . . . . . . . . . . . . . . . . . .
1.3.3. Estructura del sistema de archivos de Unix . . . . . . . . .
1.3.4. El directorio $HOME . . . . . . . . . . . . . . . . . . . . .
1.3.5. Permisos . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4. Comandos básicos de Unix . . . . . . . . . . . . . . . . . . . . . .
1.4.1. Algunos comandos sencillos de Unix . . . . . . . . . . . .
1.4.2. Listado del contenido de directorios: comando ls . . . . .
1.4.3. Creación de subdirectorios: comando mkdir . . . . . . . .
1.4.4. Borrado de subdirectorios: comando rmdir . . . . . . . .
1.4.5. Cambio de directorio: comando cd . . . . . . . . . . . . .
1.4.6. Situación actual: comando pwd . . . . . . . . . . . . . . .
1.4.7. Copia de ficheros: comando cp . . . . . . . . . . . . . . .
1.4.8. Mover o cambio de nombre de ficheros: comando mv . . . .
1.4.9. Borrado de ficheros: comando rm . . . . . . . . . . . . . .
1.4.10. Cambio de modo de los ficheros: comando chmod . . . . .
1.4.11. Visualización sin formato de un fichero: comando cat . . .
1.4.12. Visualización de ficheros pantalla a pantalla: comando more
1.5. Comandos fundamentales del editor vi . . . . . . . . . . . . . . .
1.6. ¿Y después qué? . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.6.1. Obtener más información con el manual del sistema . . . .
2. Guión de prácticas
2.1. Entrando al sistema . . .
2.2. Conexión . . . . . . . .
2.3. Desconexión . . . . . .
2.4. Transferencia de ficheros

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.
I

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

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

.
.
.
.

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

.
.
.
.

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

.
.
.
.

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

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

.
.
.
.

13
13
14
15
16

. . . . . . . Errores . . . . . . . . .1. . . . . . . .ÍNDICE GENERAL II 2. . . . . . . . 2. .8. . . Desarrollo . . . . . . . . . . . . . . . . . . .10. . . . . . . .9. . . . . . . . . . . 2. . . . . . . . . . .10. Escribiendo el primer programa. . . Ejecución . . . . . . . 2. . . . . . . . . . . . . . 2. 2.2. . . . . Ejercicios de manejo de ficheros y directorios Ejercicios de transferencia de ficheros . . . .7. . . . . . . . . . . . . . . 2. . . . . . . 16 19 20 21 22 22 23 23 26 . . . . .1. Esquema general . 2. . . . . . . . . . . . . . . . . . . . . . 2. . . . . . . . .5. . . . . . . . . . . . . . .6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Soluciones drásticas . . Ejecutando el primer programa. . . . . . .9. . . . . . . . . . .9. . . . . . . . . . . .

1. como la ejecución de programas. el control de la memoria del ordenador. Estos programas pueden ir desde un procesador de textos. se están realizando grandes esfuerzos 1 . tanto en las versiones 95. sino para ser sumamente flexible. etc. Microsoft DOS. tendrían libertad para escribir sus datos sobre los de otro. como por ejemplo escribir o leer datos en un disco duro. BeOS. Al contrario que otros sistemas operativos. ME. desde PC y Mac hasta estaciones de trabajo y superordenadores. puesto que. con el tiempo se han añadido otras muchas. 98. de forma que los programas puedan acceder a los recursos del ordenador de una forma adecuada. por lo que existen versiones de Unix para casi todos los tipos de ordenadores. Introducción La mayor parte de los ordenadores que existen en la actualidad están diseñados de forma que puedan ejecutar diversas tareas o programas. Unix no está pensado para ser fácil de emplear. Aunque ésta fue la funcionalidad inicial de los sistemas operativos. a un programa para la animación de gráficos tridimensionales o distintos tipos de juegos. como por ejemplo MacOS —el sistema operativo de los Apple Macintosh—. 1. y una de sus mayores ventajas es que es fácilmente portable a diferentes tipos de ordenadores.1. OS/2. los cuales aportan unos mecanismos y reglas básicas de funcionamiento. Por ejemplo para los PC uno de los sistemas operativos más difundidos es Microsoft Windows. Para solucionar este tipo de problemas se desarrollaron los Sistemas Operativos. Otros posibles sistemas operativos para este tipo de ordenadores son Solaris.1. aunque. En la actualidad existen una gran cantidad de sistemas operativos dependiendo del tipo de ordenador en el que se va a ejecutar. NT 4. por ejemplo.Capítulo 1 Introducción a Unix 1. la creación y control de interfaces gráficas de usuario. mostrar un gráfico por pantalla. existirían graves problemas y conflictos. Es evidente.0. que si cada programa actuase de una forma independiente. Por lo tanto Unix no es en general tan sencillo de emplear como otros sistemas operativos. Para su correcto funcionamiento deben ser además capaces de acceder a las recursos de que dispone el ordenador. 2000 y la nueva XP. etc. etc. o uno de los sistemas operativos más poderosos y en rápida expansión para PC: Linux. ¿Qué es Unix? Unix es un sistema operativo desarrollado en 1970.

2. Para muchas personas el hecho de tener que introducir los comandos de forma manual les puede parecer intimidante y dificultoso. naveguen por Internet. Esto quiere decir que es capaz de ejecutar varios programas (o tareas) de forma simultánea y albergar a varios usuarios de forma simultánea. Pese a todo la enorme flexibilidad de Unix y su gran estabilidad (y el bajo coste.1.3. . Estos programas se denominan shell y son el modo típico de comunicación en todos los sistemas Unix. gratuito y de libre distribución inspirado en el sistema Unix. o de texto. para el acceso a determinados archivos o servicios del sistema. 1. Por lo tanto. aunque como se verá más adelante los comandos de Unix son relativamente simples y muy poderosos. Desde un gestor de sesiones gráfico —X Windows— el usuario se conecta directamente al ordenador que tiene instalado Unix y accede al sistema mediante un programa gráfico. Unix dispone de varios programas que se encargan de interpretar los comandos que introduce el usuario y realiza las acciones oportunas en respuesta. todos los usuarios de Unix deben tener una cuenta de usuario en el sistema que establezca los privilegios del mismo. por defecto el trabajo con Unix no se realiza de una forma gráfica.2 CAPÍTULO 1. sino introduciendo comandos de forma manual.1. escrito por Linus Torvalds con la ayuda de miles de programadores de todo el mundo comunicados a través de Internet. o se dediquen a la programación. 1. el usuario se conecta directamente al ordenador que tiene instalado Unix y accede mediante un sistema no gráfico. Desde un ordenador remoto mediante telnet o secure shell.2. A su vez Unix organiza a los usuarios en grupos de forma que se puedan establecer privilegios a un determinado grupo de trabajo. Intel y Corel— están apoyando este proyecto. en sus versiones de libre distribución) han hecho de este sistema operativo una opción muy a tener en cuenta por aquellos usuarios que se dediquen a trabajar a través de redes. Linux es un sistema operativo para PC. con lo que el sistema será cada vez más sencillo de emplear y los programas serán cada vez mejores. El futuro de Linux es brillante y cada vez más y más gente y más y más empresas —entre otras IBM. incluido Linux. El entorno de trabajo: el shell Al contrario que otros sistemas operativos. INTRODUCCIÓN A UNIX para facilitar su uso. Usuarios y grupos Unix es un sistema operativo multitarea y multiusuario. Iniciación a Unix Existen tres formas de acceder a un sistema Unix: A través de una consola de texto. 1.

3. 3 Entrada y salida del sistema En cualquiera de los casos citados con anterioridad en la pantalla aparecerá (más o menos) lo siguiente: login as: (Se teclea el nombre del usuario) password:(Se teclea la contraseña. Así. . Como es natural un archivo puede contener cualquier tipo de información. .2. que no se ve en la pantalla) Por motivos de seguridad la contraseña debe cumplir ciertas condiciones tales como: Contener al menos seis caracteres.jpeg) respectivamente.txt que Carta. HTML. Como en Windows.? [ ] ( ) ! & ~ < > | Para emplear ficheros con estos caracteres o espacios hay que introducir el nombre del fichero entre comillas. un disquete. aunque esto no está soportado por todos los sistemas Unix..Txt. . dependiendo de si estamos en modo gráfico o de texto. En modo texto: Presionar las teclas <ctrl> d Escribir el comando exit 1. que son los siguientes: = \ ^ ~ ’ " ‘ * .3. las imágenes PNG ó JPEG tienen extensiones . Se puede utilizar cualquier carácter excepto la barra inclinada / y no es recomendable emplear los caracteres con significado especial en Unix. .txt. Ser diferente del nombre de login. Se pueden utilizar números exclusivamente si así se desea. Tipos de archivos La base del sistema de archivos de Unix.jpg (o .3.1. que no es otra cosa que la estructura empleada por el sistema operativo para almacenar información en un dispositivo físico como un disco duro.htm (o . ESTRUCTURA DEL SISTEMA DE ARCHIVOS DE UNIX 1. El sistema de archivos es la estructura que permite que Unix maneje los archivos que contiene. el cual debe cumplir unas ciertas reglas: Un nombre de archivo puede tener entre 1 y 255 caracteres.1.png y . Existen diversas formas para terminar la sesión de trabajo en Unix. desde una imagen en formato PNG o JPEG a un texto o una página WEB en formato HTML. Todos los archivos de Unix tienen un nombre.txt ó carta. es obviamente el archivo. . Estructura del sistema de archivos de Unix 1. un CD-ROM o un DVD. los ficheros de texto.html). Contener al menos un carácter numérico o especial y dos alfabéticos. . Las letras mayúsculas y minúsculas se consideran diferentes.1. se puede emplear un cierto criterio de “tipo” para marcar las distintas clases de ficheros empleando una serie de caracteres al final del nombre que indiquen el tipo de fichero del que se trata. y por lo tanto no es lo mismo carta.

Supongamos la estructura de archivos de la figura 1. son la base sobre la que se asienta Unix. En los sistemas Unix. Directorios (o carpetas). En general la estructura del sistema de archivos se asemeja a una estructura de árbol. El camino o path En cualquier sistema operativo moderno la estructura de archivos es jerárquica y depende de los directorios. En Windows. INTRODUCCIÓN A UNIX Pese a esto Unix sólo distingue tres tipos de archivos: Archivos o ficheros ordinarios. que contiene otros directorios o archivos. estando compuesto cada nudo por un directorio o carpeta. 1. el camino absoluto del fichero Carta.txt Carta2.4 CAPÍTULO 1. . Archivos especiales.3. De esta forma introducir información en ese archivo equivale a enviar información a la impresora. Para el usuario estos dispositivos tienen el mismo aspecto y uso que los archivos ordinarios. etc. son los mencionados anteriormente. puesto que representan los dispositivos conectados a un ordenador. d:.1 / dev usr home pedro etc luis Carta.txt Figura 1. como puede ser una impresora. Por ejemplo. es un archivo especial que agrupa otros ficheros de una forma estructurada. c:. El camino de un fichero o directorio es la secuencia de directorios que se ha de recorrer para acceder a un determinado fichero separados por /.2. existe un único directorio RAÍZ denominada / de la que cuelgan todos los ficheros y directorios independientemente de qué dispositivos estén conectados al ordenador.1: Árbol de directorios de ejemplo Existen dos formas del camino o ruta: El camino absoluto que muestra la lista de directorios por los que hay que pasar desde el directorio raíz hasta ese fichero. se tiene la carpeta MiPC como raíz que sirve de acceso a otras carpetas y dispositivos por ejemplo: a:.txt.txt es /home/luis/Carta.

Estructura del sistema de archivos de Unix Todo el sistema de archivos de Unix tiene un origen único: la raíz o root representada por /. por ejemplo si nos encontramos en el directorio /home.txt. Entre otros se pueden destacar: / ⇒ Raíz del sistema de archivos. 1.txt. a saber: El directorio actual. /proc ⇒ Contiene ficheros especiales que o bien reciben o envían información al kernel del sistema (se recomienda no modificar el contenido de este directorio y sus ficheros).1. /var ⇒ Este directorio contiene información temporal de los programas (lo cual no implica que se pueda borrar su contenido. Todo directorio contiene dos directorios especiales.3. /lib ⇒ Contiene las librerías necesarias para que se ejecuten los programas que residen en /bin (no las librerías de los programas de los usuarios)./Carta. está representado por el punto . Ejemplo: el directorio padre del directorio pedro es el directoriohome Estando en el directorio /home/pedro (el directorio actual es pedro)se puede acceder a Carta.3. /etc ⇒ Este directorio esta reservado para los ficheros de configuración del sistema. Bajo este directorio se encuentran todos los ficheros a los que puede acceder el sistema operativo.txt es luis/Carta.txt o simplemente Carta.3. /usr ⇒ Este es uno de los directorios más importantes del sistema puesto que contiene los programas de uso común para todos los usuarios. de hecho. ESTRUCTURA DEL SISTEMA DE ARCHIVOS DE UNIX 5 El camino relativo es la lista de directorios por los que hay que pasar desde el directorio actual hasta ese fichero.es el directorio en el que estamos en cada momento. está representado por dos puntos .txt con /home/luis/Carta. el camino relativo al fichero Carta.. ¡no se debe hacer!)./luis/Carta. /dev ⇒ Contiene ficheros del sistema representando los dispositivos que estén físicamente instalados en el ordenador. En este directorio no debe aparecer ningún fichero binario (programas).txt (camino absoluto) o bien . es el directorio del que cuelga el actual. /sbin ⇒ Contiene programas que son únicamente accesibles al superusuario o root.. Estando en el directorio /home/luis (el directorio actual es luis) sería se accede mediante . . Estos ficheros se organizan en distintos directorios cuya misión y nombre son estándar para todos los sistemas Unix.txt (camino relativo). El directorio padre. .

Como se puede entender este tipo de mecanismo es especialmente útil cuando se trabaja en grupo en un determinado proyecto. aunque este carácter puede ser fácilmente sustituido por otro u otros elegidos por el usuario. Al contrario que en Windows o MS-DOS los programas ejecutables de Unix no están marcados por una determinada extensión (. w permiso de escritura en el fichero. x permiso de ejecución del fichero. 1. En su forma más habitual (los shells de Bourne o de Korn). ó al resto de usuarios (o). escrito y ejecutado por su dueño. mantiene un sistema de permisos de acceso a los ficheros muy estricto. Así un fichero determinado puede tener permiso para ser leído. Cada usuario tiene su propio directorio personal o $HOME. a fin de controlar qué es lo que se puede hacer con ellos. A su vez cada uno de estos permisos se aplica: al dueño del fichero (u). CAPÍTULO 1.4. automáticamente cada usuario se conecta a su directorio $HOME.4. al grupo de usuarios al que pertenece el dueño (g).5. el sistema operativo utiliza un signo de $ como prompt para indicar que está preparado para aceptar comandos. Las letras mayúsculas y minúsculas se consideran como diferentes. y quién lo puede hacer. En primer lugar citaremos las siguientes: Los comandos hay que teclearlos exactamente. Al conectarse al sistema Unix.3. Unix no será capaz de ejecutarlo. leído y ejecutado por el grupo al que pertenece y no tener ningún tipo de acceso para los demás usuarios.3. 1. Permisos Unix. Estos permisos se identifican con letras y son: r permiso de lectura el fichero. INTRODUCCIÓN A UNIX El directorio $HOME El directorio $HOME es el directorio personal que tiene asignado a un usuario.exe) sino por un atributo.6 1. En el caso de que el usuario acceda como administrador este signo se sustituye por #. . Comandos básicos de Unix Existen una serie de nociones básicas que hay que tener en cuenta a la hora de introducir los comandos. (aunque puede no ser así). Si se elimina este atributo a un programa. Generalmente el nombre coincide con el del login de usuario. el permiso de ejecución x. Cada usuario de Unix(Linux) puede crear una estructura en árbol de subdirectorios y archivos tan compleja como desee bajo su directorio personal pero normalmente nunca fuera de él.

cal 1949 ⇒ Muestra el calendario del año 1949.. Por ejemplo con man who aparecerá por pantalla y de forma formateada por páginas. el directorio padre.. whoami ⇒ Indica cuál es la terminal y la sesión en la que se está trabajando. la barra espaciadora avanza una página.. COMANDOS BÁSICOS DE UNIX 1.. al actual. ls -r ⇒ Se muestra el directorio y lo ordena en orden inverso. . clear ⇒ Este comando limpia la consola ("borra la pantalla"). cal 5 1949 ⇒ Muestra el calendario de mayo de 1949. el retorno de carro avanza una línea y presionando la tecla q se sale. 7 Algunos comandos sencillos de Unix A continuación se describen algunos comandos sencillos de que pueden ser útiles para familiarizarse con los comandos del sistema. indica el directorio actual y el doble punto . y este comando permite acceder a la información correspondiente al comando comando. ls -t ⇒ Se muestra ordenando por día y hora de modificación. Se puede navegar a través de estas páginas con los cursores del teclado. que contiene. Se recuerda que el fichero punto . tamaño y fecha de creación o del último cambio introducido.4. Sólo se obtienen los nombres de los ficheros.1. who ⇒ Indica qué usuarios tiene el ordenador en ese momento. Listado del contenido de directorios: comando ls Una de las acciones más habituales a la hora de trabajar es mostrar el contenido de un directorio. Si tecleamos: ls ⇒ Se muestran los nombres de los ficheros y subdirectorios contenidos en el directorio en el que se está.2. sin ninguna otra información. ls -l ⇒ Esta es la opción de lista larga: muestra toda la información de cada fichero incluyendo: protecciones. la explicación del comando who. ls -c ⇒ Se muestra ordenando por día y hora de creación. man [comando] ⇒ Todos los manuales de Unix están dentro del propio sistema operativo. ls [subdir] ⇒ Se muestra el contenido del subdirectorio subdir.4. para ello el shell incluye un programa para este fin: ls. date ⇒ Muestra por pantalla el día y la hora. en qué terminal están y desde qué hora. 1.1.4. ls -a ⇒ Se muestran todos los ficheros incluyendo algunos que ordinariamente están ocultos para el usuario (aquellos que comienzan por un punto). ls -l [filename] ⇒ Se muestra toda la información sobre el fichero filename.

Borrado de subdirectorios: comando rmdir Este comando borra uno o más directorios del sistema —remove directory—. . pero sólo uno. Este comando es uno de los pocos que no tiene opciones y se utiliza escribiendo simplemente pwd. por ejemplo: file1. .. . a.gif. file2.4. retrocedemos un nivel en la jerarquía de directorios.8 CAPÍTULO 1. Situación actual: comando pwd El comando pwd —print working directory— visualiza o imprime el camino absoluto del directorio en el que nos encontramos en este momento. Nota: al contrario que en MS-DOS en Unix no existe la forma cd. siempre que estos subdirectorios estén vacíos.4. Si se teclea cd sin más nos situaremos nuevamente en el directorio $HOME del usuario. pasamos del directorio actual de trabajo al directorio indicado. 1. . El carácter * representa cualquier conjunto o secuencia de caracteres. Su forma es: rmdir [subdir] En donde subdir es el nombre o camino del directorio que se desea a eliminar. El carácter ? representa cualquier carácter. por ejemplo dib1. Creación de subdirectorios: comando mkdir El comando mkdir —make directory— permite a cada usuario crear un nuevo subdirectorio.. sin espacio entre el comando cd y los dos puntos. Si tecleamos cd . su forma es: mkdir [subdir] En donde subdir es el nombre o camino del directorio que se va a crear. ls file? muestra todos los ficheros cuyos nombres empiecen por file y tengan un nombre de cinco caracteres. etc. El comando ls admite los caracteres de sustitución o metacarácteres * y ?.4.gif. Cambio de directorio: comando cd Este comando permite cambiar de directorio —change directory— a partir del directorio actual de trabajo. etc.4. siendo este ahora nuestro nuevo directorio de trabajo. 1. O dicho con otras palabras. 1.4. Por ejemplo: ls *. Su forma es: cd [dir] Como resultado nos traslada al subdirectorio dir (que deberá de existir como subdirectorio en el directorio actual).gif.5.gif muestra todos los nombres de ficheros que acaben en . INTRODUCCIÓN A UNIX Las opciones anteriores pueden combinarse. 1. .3.6. Por ejemplo: ls -la muestra el contenido del directorio en formato largo incluyendo los ficheros ocultos. fileA.

también los útiles. de si realmente se desea su destrucción o no. . Con este comando resulta facilísimo borrar ficheros inútiles. Hay que recalcar que el comando mv sirve así mismo para cambiar el nombre de los ficheros. su contenido queda destruido y es sustituido por el de file1. El comando rm * borrará todos los ficheros del directorio actual.4. Tanto file1 como file2 indican el nombre de un archivo.9. Borrado de ficheros: comando rm Este comando tiene la forma: rm file1 file2 . Si file2 no existía. COMANDOS BÁSICOS DE UNIX 1.4. de la siguiente manera: rm -i file1 file2 . lo crea con los mismos atributos de file1. rm fich* que borraría todos los ficheros del directorio actual que comiencen por la cadena fich.. Por eso es conveniente y casi imprescindible emplear la opción -i. En este comando se pueden utilizar los caracteres de sustitución (* y ?). como por ejemplo. El comando mv namedir1 namedir2 cambia el nombre del subdirectorio namedir1 por namedir2.. Unix pedirá confirmación para borrar cada fichero de la lista.8. y elimina uno o más ficheros de un directorio en el cual tengamos permiso de escritura. 1.7. pero con confirmación previa. El fichero file2 estará en el mismo directorio que file1.. Por ejemplo. y desgraciadamente. llamándole file2. que puede incluir el camino al mismo si alguno de ellos no se encuentra en el directorio actual. Si file2 existía antes. 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). 9 Copia de ficheros: comando cp Este comando tiene la siguiente forma: cp file1 file2 y hace una copia de file1 y le llama file2. Mover o cambio de nombre de ficheros: comando mv Este comando tiene una forma similar al anterior: mv file1 file2 y realiza la misma función que el anterior —cp— pero además destruye el fichero original. A efectos del usuario lo que ha hecho es cambiar el nombre a file1.4.. 1. En definitiva traslada el contenido de file1 a file2.4.1. Se recomienda usar siempre este comando con esta opción para evitar el borrado de ficheros útiles. mientras que rm -i * realiza una labor análoga. Con esta opción.

files es una lista de los nombres de los ficheros cuyos modos de acceso se quieren cambiar. Visualización de ficheros pantalla a pantalla: comando more Este comando permite visualizar un fichero pantalla a pantalla. g para el grupo del usuario. w y x.11. Es una combinación cualquiera de las letras u para el usuario. secuencialmente y según el orden especificado. En el caso de los directorios el permiso r significa la posibilidad de ver el contenido del directorio con el comando ls. y para quitarlo se pondrá un -. Para dar un permiso se pondrá un +. se visualizará la siguiente pantalla. y a para todos los anteriores. que tiene la forma: chmod [quien][oper][permiso] [fichero][directorio] en donde quien indica a quien afecta el permiso que se desea cambiar.4. El número de líneas por pantalla es de 23 líneas de texto y una última línea de mensajes.10 CAPÍTULO 1. cat file1 file2. Para cambiar los permisos de un fichero (o directorio) se emplea el comando chmod. 1. donde aparecerá la palabra "more". o para los otros usuarios.4. Para salir de este comando (terminar la visualización) se pulsa <ctrl> d ó q.4. Cuando se pulsa la barra espaciadora (el espacio en blanco). Por ejemplo. Cambio de modo de los ficheros: comando chmod Los permisos de cada fichero se pueden ver con el comando ls -l.txt Los permisos de lectura. Será una combinación cualquiera de las letras anteriores: r. saca por pantalla.. INTRODUCCIÓN A UNIX 1.. permiso indica el permiso que se quiere dar o quitar. oper indica la operación que se desea hacer con el permiso. Algunas formas de utilizar este comando son las siguientes: cat filename saca por pantalla el contenido del fichero filename. Visualización sin formato de un fichero: comando cat Este comando permite visualizar el contenido de uno o más ficheros de forma no formateada. y el permiso x autoriza a buscar y utilizar un fichero concreto.10. escritura y ejecución tienen un significado diferente cuando se aplican a directorios y no a ficheros normales.12. Por ejemplo: more file . 1. el permiso w da la posibilidad de crear y borrar ficheros en ese directorio. para quitar el permiso de lectura a los usuarios de un fichero el comando es chmod ugo -r fichero. Si no se da el quien. el sistema supone a. el contenido de los ficheros indicados.

de modo que ante la duda es preferible teclear siempre esc seguido del comando o comandos que deseamos ejecutar. Borra el carácter donde está el cursor Borra la linea donde está el cursor Borra la palabra donde está el cursor Salida del editor. Todos los comandos deben ser activados desde el «modo comando». COMANDOS FUNDAMENTALES DEL EDITOR VI 1. nG Ir a la línea n. Así por ejemplo si deseamos borrar 10 espacios el comando se escribe como 10x. pero ello no produce ningún error. Movimiento del cursor. Refresca la pantalla Informa sobre el número de linea actual y nombre del fichero Gran parte de los comandos de vi admiten la repetición. tecleamos inadvertidamente un número.1. ← → ↑ ↓ Desplazar el cursor.5. 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.5. por ejemplo. i a A o O Inserción de texto. Escribe en el disco el contenido actual del fichero Abandona el editor (solicitando confirmación de grabado) Abandona el editor (fuerza al editor a salir sin grabar) Abandona el editor tras grabar Otros comandos. En esta sección mostraremos sólo un resumen de ellos. 11 Comandos fundamentales del editor vi El editor de textos vi dispone de muchos otros comandos que nos permiten modificar un fichero de texto previamente creado. digamos 100. $ Ir al final de la línea. Al salir del «modo de inserción» ¡todo el proceso se repetirá 100 veces! . seguido del comando i y procedemos a insertar un texto en el fichero. Inserta texto delante del cursor Inserta texto tras el cursor Añade texto al final de la línea actual Crea una nueva línea sobre la actual y queda en modo de inserción Crea una nueva línea bajo la actual y queda en modo de inserción x dd dw :w :q :q! :wq <Ctrl>l <Ctrl>g Borrado de texto. Esto puede crear problemas si.

Ed. . Amir Azfal. Obtener más información con el manual del sistema El comando man nos ofrece información relativa a los comandos o programas instalados en el sistema. Así man ls nos brinda información sobre el funcionamiento y opciones de ls mientras man -k ls nos ofrece una pequeña descripción de todos los comandos relacionados con ls. Madrid. Addison-Wesley Ib. En todo caso practicar y consultar con los profesores de prácticas cualquier duda que se plantee al respecto. Morgan. 2001. Prentice Hall. 1997. Prentice Hall. En el mercado pueden encontrarse manuales U NIX TM más específicos y detallados. El capítulo 9 y el apéndice C del libro Llanos Ferraris. 1987.6.. P. El entorno de programación U NIX TM . como Abrahams. Ed. INTRODUCCIÓN A UNIX ¿Y después qué? El objetivo de las prácticas no es el aprendizaje del sistema operativo U NIX TM .6. B. H.1. B. International Thompson Learning. McGraw-Hill.. R. Paraninfo. 1. Curso de C bajo UNIX. 1989. U NIX TM para impacientes. Diego.. Introducción al U NIX TM : un enfoque práctico.12 1. B. contienen la información suficiente para adquirir esta soltura.W. Larson. Introducción al U NIX TM Sistema V. pero es evidente que el manejo con soltura del sistema nos permitirá resolver las prácticas de un modo más rápido y cómodo. 1994.W. Pike. Ed... CAPÍTULO 1. McGilton. Ed.A. Kernighan.

13 . se muestra una pantalla con una flor (o bien una ventana con la palabra DEBIAN) y un campo en blanco donde poner el nombre del usuario ( ver figura 2.27-1-386 Debian Gnu/Linux.27-1-386 (recovery mode) Other operating systems Seleccionad con las teclas del cursor () la opción: Debian Gnu/Linux. kernel 2.27-1-386 y pulsad la tecla INTRO.1). Entrando al sistema En primer lugar deberemos encender el ordenador y el monitor (los interruptores aparecen claramente identificados en el frontal del equipo).1. Aparecerá una pantalla negra con un rectángulo azul. dentro del cual se puede leer: Windows NT/2000/XP Debian Gnu/Linux.4.4. kernel 2. Tras una serie de mensajes del sistema operativo LINUX.Capítulo 2 Guión de prácticas 2. kernel 2.4.

14 CAPÍTULO 2. pulsad sobre el icono que parece un ratón (ver figura 2.uva. Para conectar con él. Esto va a abrir una ventana terminal desde la que vamos a poder conectarnos a saturno. Conexión El equipo utilizado en estas prácticas se llama saturno y su nombre en Internet es saturno.180. Ahora.2). Figura 2.2.88.dcs. pulsad return . buscad en la parte inferior del escritorio una barra de tareas.3) y en la parte superior de la barra que aparecerá. en el campo de contraseña escribid usuario y volved a pulsar return .67.eup.es y pulsando seguidamente return . Lo que vais a ver a continuación es el Escritorio de Linux( ver figura 2.dcs.es y su dirección en Internet es 157. Podéis abrir tantas ventanas terminal como queráis. el símbolo @ y saturno.uva. . GUIÓN DE PRÁCTICAS Figura 2. pulsad sobre el icono de Terminal. 2.eup.1: Pantalla de inicio a Linux El nombre del usuario es usuario.2: El escritorio de Linux Debéis encontrar un icono llamado TERMINAL. hay que escribir dentro del terminal el comando ssh seguido de vuestro nombre de usuario. Para ello.

el sistema contestará: Login incorrect y volverá a solicitarnos ambos datos. nombre de usuario («login») y contraseña («password»).uva.es’s password: [ITIE548@saturno ITIE548]$ A continuación aparecerá una pantalla similar a la recogida en la figura 2. Tanto si el login es incorrecto como si el error se produce en el password. y a continuación nuestro password y return .dcs. La identificación de un usuario ante el sistema se realiza mediante dos palabras.es Figura 2.2.dcs.4: Mensaje de acceso a la máquina ITIE548@saturno. Desconexión Al terminar la sesión de trabajo deberemos abandonar el sistema.4.eup. en la que nos tendremos que identificar como usuarios. A partir de este momento saturnoespera a que tecleemos un comando terminado por return para ejecutarlo.uva. Teclearemos entonces nuestro login y return .3. El comando que permite hacerlo es exit Volved a pulsar sobre el icono del ratón en la barra de tareas . 2. Es la pantalla de conexión con el sistema. En caso contrario acabamos de entrar en saturno. Por motivos de seguridad al teclear el password no lo vemos reflejado en pantalla. que previamente nos habrá proporcionado el administrador del sistema.3.eup. DESCONEXIÓN 15 Figura 2.3: El icono de Inicio en Linux ssh ITIE548@saturno.

name" to connect psftp> open saturno. Los ejercicios se deben resolver en el ordenador.5. Comando → _____________________________________________ .es login as: user124 Using username "user124".5: Transferencia de ficheros psftp: no hostname specified. 1. Al arrancar el programa. Transferencia de ficheros La transferencia de ficheros nos permite copiar archivos de una máquina remota a una máquina local y viceversa.16 CAPÍTULO 2. put: copia un fichero de la máquina local a la máquina remota. Dado que las prácticas las vamos a realizar en una máquina remota (saturno). dir: lista los contenidos del directorio de trabajo de la máquina remota.eup. Para realizar la transferencia de ficheros emplearemos el programa psftp. Cuando obtenga la solución correcta..dcs.4. Comando → _____________________________________________ 2. así como el login y el password.uva. user124@saturno’s password: Remote working directory is /users/alumnos/user124 psftp> Los comandos más importantes son los siguientes: open: abre la conexión con una máquina remota. será imprescindible realizar transferencias de ficheros con dicha máquina. use "open host. escríbela en el espacio habilitado a tal efecto. según se observa en la figura 2.Cree un subdirectorio que se llame ejerciciosUNIX en su directorio personal. get: descarga un fichero de la máquina remota a la máquina local. Figura 2. cd: cambia el directorio de trabajo en la máquina remota. deberemos indicar a qué máquina queremos conectarnos. que implementa el protocolo SFTP.Cree otro subdirectorio que se llame documentos en su directorio personal. bye: finaliza la conexión SFTP. 2. Ejercicios de manejo de ficheros y directorios Este apartado presenta una serie de ejercicios prácticos que se deben realizar de forma secuencial. GUIÓN DE PRÁCTICAS 2..5.

EJERCICIOS DE MANEJO DE FICHEROS Y DIRECTORIOS 17 3. Comando → _____________________________________________ 11. (formato largo). Unix debe permitir que lo borre..Intente eliminar el fichero ej2... Comando → _____________________________________________ 8. . Comando → _____________________________________________ 6. .2.Elimine todos los permisos de escritura del fichero ej2.Vuelva a comprobar su situación actual.Copie los ficheros que terminan por .. sus permisos.Vuelva a visualizar el contenido del directorio. de forma que sólo aparezcan los nombre de los ficheros.. Comando → _____________________________________________ 9. Comando → _____________________________________________ 10. Comando → _____________________________________________ 13.....Borre el fichero ej1.Copie los ficheros que comienzan por carta y que se encuentran en el directorio /docencia/ITT en el subdirectorio documentos Comando → _____________________________________________ 4.txt.txt de tal forma que se confirme el borrado del mismo. pero esta vez deben de aparecer los nombres de los ficheros..txt y que se encuentran en el directorio /docencia/ITT en el subdirectorio ejerciciosUNIX Comando → _____________________________________________ 5.. .Visualice el contenido del directorio en formato largo y compruebe que se han denegado dichos permisos.Visualice el contenido del directorio.Entre en el subdirectorio ejerciciosUNIX Comando → _____________________________________________ 7.txt Comando → _____________________________________________ 12.5.Compruebe su situación actual. fechas..

. Comando → _____________________________________________ 23.Intente eliminar el fichero ej2.Elimine los permisos de escritura y de ejecución del directorio ejerciciosUnix Comando → _____________________________________________ 15. Comando → _____________________________________________ 20. GUIÓN DE PRÁCTICAS Comando → _____________________________________________ 14.. Comando → _____________________________________________ 16.Otorgue el permiso de escritura de usuario al fichero ej2.txt que se encuentra en el subdirectorio ejerciciosUNIX sin cambiar de directorio. Comando → _____________________________________________ 18.18 CAPÍTULO 2.Elimine el fichero carta1 que se encuentra en el subdirectorio documentos sin entrar a dicho subdirectorio.. UNIX le permite borrarlo ?.txt.. Comando → _____________________________________________ 21. Unix no le permitirá borrarlo porque no está vacío.Elimine el fichero ej3.Elimine ahora el subdirectorio ejerciciosUNIX Comando → _____________________________________________ 22.Visualice el contenido del subdirectorio documentos sin entrar a él y en formato largo. Comando → _____________________________________________ 19. Comando → _____________________________________________ .Regrese a su directorio personal.Intente eliminar el subdirectorio ejerciciosUNIX..txt confirmando el borrado del mismo....Borre el fichero ej2...txt Comando → _____________________________________________ 17.

h> main() { printf("Hola Mundo\n")..2..Elimine.Borre el archivo carta3 que se encuentra en el subdirectorio documentos sin entrar a dicho subdirectorio..Visualice pantalla a pantalla el contenido del fichero carta3 que se encuentra en el subdirectorio documentos sin entrar a dicho subdirectorio. El nuevo nombre que debe dar al fichero será nueva_carta Comando → _____________________________________________ 25.Visualice —sin ningún formato especial— el contenido de fichero carta3 que se encuentra en el subdirectorio documentos sin entrar a dicho subdirectorio.Elimine el subdirectorio documentos Comando → _____________________________________________ 31..6.Cambie el nombre del fichero carta2 que se encuentra en el subdirectorio documentos sin entrar a dicho subdirectorio.. } . Comando → _____________________________________________ 28.. Ejercicios de transferencia de ficheros 1. Comando → _____________________________________________ 29.. Comando → _____________________________________________ 26. el fichero nueva_carta Comando → _____________________________________________ 27.Empleando el programa Bloc de Notas (notepad) de Windows cree un fichero llamado ejemplo1.txt con el siguiente contenido: #include <stdio. EJERCICIOS DE TRANSFERENCIA DE FICHEROS 19 24. Comando → _____________________________________________ 30..6..Mueva el fichero nueva_carta a su directorio de trabajo —donde se debe de encontrar ahora— sin entrar a dicho subdirectorio. Comando → _____________________________________________ 2.Salga del sistema. previa confirmación.

Comando → _____________________________________________ 3.5 . para ello. 2. 1 llamado edición en algunos textos . siempre que estemos en el modo comando. al que hemos pasado mediante el comando i. .. que no aparecerá en pantalla. . Para ejecutar un programa C primero debemos almacenarlo en el disco de saturnoy. Comando → _____________________________________________ 6.h> main() { printf("Hola Mundo\n"). Al pulsar esc regresamos del modo de inserción al modo comando con lo que podemos utilizar comandos como los recogidos en la sección 1.Compruebe mediante el bloc de notas que el contenido de dicho fichero es el esperado. Para terminar la edición basta teclear esc seguido de :wq El editor vi tiene dos modos de trabajo: el modo comando. GUIÓN DE PRÁCTICAS 2. Escribiendo el primer programa.Transfiera el fichero ejemplo2. Para ello tecleamos i. y el modo de inserción1 ..Empleando vi.c obteniendo en pantalla algo como lo recogido en la figura 2. de nuestro teclado. . en nuestro caso «vi»..Transfiera ese fichero a su directorio personal de la máquina saturno. .txt..7 utilizando return para saltar de una linea a otra.Cree una copia del fichero con el nombre ejemplo2. inserción. debemos utilizar un procesador de textos. en el que estamos al comenzar la edición. Hay que señalar que el vi no reconoce las teclas especiales de borrado. Para activar vi deberemos escribir vi «fichero» en nuestro caso: vi primero. . pero sí las teclas de dirección (flechas). printf("Esto es un programa en C\n").txt. y comenzamos a copiar «textualmente» el contenido de la figura 2. } 5. modifique el fichero ejemplo2.. ..6.txt a la máquina local. Esto quiere decir que el editor vi está activo y que podemos comenzar a escribir nuestro programa.20 CAPÍTULO 2.7. Comando → _____________________________________________ 4. printf("Adios!!\n"). de modo que el contenido sea el siguiente: #include <stdio.

habremos cometido algún error al teclear .8.2. Podemos comprobar si la edición del programa descrita en el apartado anterior ha sido correcta mediante el comando ls que da una lista de los ficheros que tenemos en el directorio actual.7: Primer programa en C #include <stdio. Si lo recibimos.c" [New File] Figura 2. en nuestro caso gcc primero.h> main() { printf ("¡Hola! \n"). } 2. EJECUTANDO EL PRIMER PROGRAMA. En este caso deberá aparecer un único elemento en la lista.c. Para compilar el fichero utilizaremos el comando gcc «fichero» que activa el compilador de C. el recién creado primero. Ejecutando el primer programa. Si no obtenemos ningún mensaje como respuesta hemos conseguido compilar correctamente nuestro primer programa.c.6: Fichero vacío ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ "primero. 21 Figura 2.8.

es cierto. Paraninfo. el comando2 o al crear el programa.22 CAPÍTULO 2. que contiene el código ejecutable de nuestro programa. 2001 3 . en lo que denominamos programa fuente. Dia1).8: Desarrollo de programas. consiguiendo el texto en C. 2. a. Desarrollo La figura 2. 2 El más estúpido de ellos es olvidar añadir «. Para ejecutar el programa teclearemos el nombre del fichero que lo contiene.c» al final del nombre del fichero No es gran cosa. GUIÓN DE PRÁCTICAS Análisis Diseño Traducción a código C Error en el tratamiento Error en tiempo de los datos de compilación Pruebas de ejecución a.).out. Establécelo como directorio de trabajo (cd . El comando ls nos permitirá comprobar que hemos creado un nuevo fichero. Madrid.. 4 Llanos Ferraris.84 muestra el esquema de trabajo que debe seguirse en el desarrollo de programas C en entorno Unix. International Thomson Learning./a.1.c se edita el programa.c del directorio /docencia/ITT . Diego. y veremos en pantalla el resultado3 . Copia en él todos los archivos con extensión .out Compilación cc Transcripción al ordenador vi Error en tiempo de ejecución Enlace Compilación Preproceso Figura 2. 2.5 y 2.9..7.9. Esquema general Mediante la orden vi nombre-de-fichero.out en nuestro caso. En este caso deberemos volver a editar el programa como se describe en las secciones 1. Curso de C bajo Unix. pero sólo es el primer programa. . Ejercicio 1 (Preparación) Crea un directorio para trabajar con este guión (por ejemplo.

Sin modificarlo. 2. indicar al compilador que le dé un nombre concreto mediante la opción -o nombre_del_ejecutable.txt.c.2. se podrá ver la evolución del proceso). Observa el mensaje de error..txt mientras que . Por ejemplo: . Por defecto. ERRORES 23 La orden gcc nombre-de-fichero. Ejercicio 4 Lee el fichero media1.c.2. es decir los que se producen en la fase de compilación. y se advierten durante este proceso.out >salida.out (mv) o.10.Ejecútalo (. que pueden ser debidos a diferentes razones.10. ¿En qué fase se ha producido el error? ¿En qué línea está? Corrígelo. Ejecución El programa finalmente se ejecuta. y las salidas se proporcionan por pantalla.. o los que se detectan en la fase de pruebas.. Compila nuevamente. o utiliza more o cat para ver el contenido de hola. . Observa el resultado.c? ¿Y el de a. Nos ocuparemos ahora de los errores de fases posteriores. pero en ocasiones es conveniente enviar la salida a otro dispositivo.Edita (con vi).out? 4.out) Cuando sea necesario conservar un ejecutable. Ejercicio 2 1.c) (Con la opción -v. Así gcc -o cospi cospi. como errores al pulsar teclas.c -lm 2. ¿Qué ha pasado? 2. edita el fichero salida. las entradas se suponen de teclado. puede renombrarse a. ¿Cuántos errores se detectan? Corrige el primero de ellos.Compílalo./a. 3. directamente.out al final de salida.txt añadirá la salida de a..9. simplemente escribiendo el nombre del ejecutable./a. como se ha visto./a.¿Cuál es el tamaño de hola. compílalo. Los errores de edición. son responsabilidad del editor. Es decir.out >> salida.txt hará que la salida que antes obteníamos en la pantalla se escriba en un nuevo fichero editable salida. Entonces se leerán las entradas y el programa proporcionará las salidas.c realizará la compilación. Errores Durante todo el proceso pueden cometerse errores. (gcc hola. Esto es lo que se conoce como redirección.txt Ejercicio 3 Comprueba el resultado de la redirección.

24 CAPÍTULO 2. Como sabes. de modo que a lo mejor resulta más cómodo redireccionar su salida). Ejercicio 5 Compila pi. ¿Calcula bien la media?. También puede ocurrir que un error no llegue a detectarse.c Haciendo caso omiso del aviso. ¿Puedes explicarlo?. Ejercicio 7 Compila media3. Compila y ejecútalo. el proceso de localización e interpretación de errores es complicado. También es frecuente que un error. pero éste no es capaz. (vi ó cat) No es fácil de ver. En el segundo caso.out) Corrige el error. Muestra el resultado por pantalla. produzca como consecuencia una serie de errores en cascada. así que B está sin definir. ¿Qué ha pasado con los demás? cb puede ser una ayuda. las minúsculas y mayúsculas son distintas. Ya había aparecido antes algo parecido. Otra razón que puede dificultar el proceso de localización de errores es que el texto del programa sea difícil de leer. Se debió escribir b. ejecuta el resultado (a. se creará el fichero ejecutable. pero avisando de que hay algo “poco recomendable ”. Ejercicio 6 Copia y compila media2. Observa dónde se ha detectado el error. Corrige el último error (el de la B. Compila. algunos compiladores detectarían el error.c (cb quiere decir C beautifier y admite algunas opciones.c Mira el programa fuente. GUIÓN DE PRÁCTICAS Compila otra vez. no se detecta hasta un lugar o un momento posterior. Ejecuta cb media2. quizás simple. en el programa del siguiente ejercicio. Los mensajes de error que proporciona el compilador pueden ser de dos tipos: errores propiamente dichos (errors) o avisos (warnings). porque lo compiladores no siempre son suficientemente “listos”.c. pero no debe sustituir a la buena escritura de programas. A veces ello se debe a que un error que se produce en determinado lugar del código. ¿Qué tipo de error se produce ahora? ¿Quién puede detectarlo? Con frecuencia. Corrige. Conviene prestar atención también a los avisos. Por ejemplo. ¿Qué fase detectó estos últimos errores? Finalmente el programa es sintácticamente correcto. Corrige el primer error y vuelve a compilar. ¿Cuántos errores?. para C. . o del proceso.

especialmente cuando hay bucles. Con programas algo mayores. (Esta línea no es un error) En resumen. el proceso no puede continuar. media6.c. Ejercicio 9 Compila. Comprueba y corrige. En este caso. durante la ejecución.c y media7. que se envía al dispositivo 2.10. ¿Por qué se produce el error? Corrígelo. es frecuente que el informe de errores exceda el tamaño de la pantalla. Ocurren cuando. Ejercicio 10 Compila. Ejercicio 11 El programa media8. habrá que redireccionar o filtrar. la inserción de estas sentencias permitirá detener la ejecución. Todavía usaremos el cálculo de la media para para practicar un poco. Para la búsqueda de errores en tiempo de compilación existen algunas reglas muy útiles: No modificar nunca el programa sin reflexionar sobre las causas del error.c quiere calcular la media de tres enteros leídos por teclado. En esta práctica se ha pretendido ayudar a entender el proceso de compilación y las muchas posibilidades de errores que pueden producirse a lo largo de todo el proceso. Se genera entonces un fichero core que será necesario borrar. errores de diseño. porque es un error de diseño.2. puede haber: errores en el análisis. pulsando la combinación <ctrl>C. en el caso de escribir un bucle infinito. Leer el mensaje de error. etc. Además.c. . Leer el mensaje de error. durante el desarrollo de un programa. Durante el desarrollo puede ser útil insertar en el código sentencias que muestren variables intermedias para poder seguir el proceso en sus partes más complejas. Veamos aún otro error que no detecta el compilador. por ejemplo escribiendo la orden gcc media6.c 2>errores. existen errores de ejecución. La forma de desarrollar programas confiables requiere realizar cada fase de las del dibujo inicial cuidadosamente. acompañados de una batería de pruebas para realizar con el producto final.txt que generará el nuevo fichero errores. no la salida del compilador. y se podrá estudiar con detalle. sino la salida de error. ejecuta y corrige media5.txt donde se almacenará toda la información suministrada. Finalmente. y eliminar estas sentencias cuando el programa esté depurado. En primer lugar un análisis y diseño sólidos. ERRORES 25 Ejercicio 8 Compila y ejecuta media4. errores de codificación. ni ensayar soluciones arbitrarias.c. conviene reflexionar en que.

10. y que estos errores no siempre se detectan en la fase en la que se cometen. . El propietario puede eliminar el proceso de forma absoluta usando la orden kill -9 número-de-proceso. GUIÓN DE PRÁCTICAS errores en la trascripción (edición).26 CAPÍTULO 2.1. Soluciones drásticas Un programa en ejecución puede detenerse mediante la la combinación de teclas <ctrl>C . La orden ps -u nombre-de-usuario muestra el estado de los procesos que está ejecutando un determinado usuario. errores en el resultado. La mejor defensa contra los errores es la realización cuidadosa de cada fase y la depuración de cada una de ellas según se va realizando. Por supuesto este mecanismo debe usarse con cuidado y sólo cuando sea imprescindible. errores de compilación (preproceso. errores de ejecución. enlace). compilación. 2. En la columna PID se muestra el número del proceso.