Capítulo 1
Introducción
How much does it cost to entice a dope-smoking Unix system guru to Dayton?
Brian Boyle, Unix World's First Annual Salary Survey
1.1 ¿Quién debe leer este libro?
¿Es Ud. la persona que debe leer este libro? Permítame responder a esta pregunta haciéndole estas otras: ¿Acaba de obtener Linux de alguna fuente, lo instaló y ahora quiere saber que puede hacer? O, ¿es un usuario de computadoras que nunca ha utilizado Unix y está considerando usar Linux pero quiere saber lo que puede hacer con él?
Si tiene este libro, la respuesta a esas preguntas probablemente es "sí". Cualquiera que tiene Linux (el clon gratuito de Unix escrito por Linus Torvalds) en su PC, pero no sabe que hacer después de la instalación, debe leer este libro. Aquí encontrará explicaciones sobre la mayoría de los comandos básicos de Unix, e incluso de algunos avanzados. También trataremos acerca del potente editor GNU Emacs y de muchas otras aplicaciones importantes en Unix.
1.1.1 ¿Qué debe hacer antes de leer este libro?
Este libro supone que Ud. tiene acceso a un sistema Unix (¡Para aprender a nadar hay que mojarse!). Más importante aún, el sistema Unix antes mencionado debe ser una PC INTEL corriendo Linux.
Este requerimiento no es estrictamente necesario, pero cuando las versiones de Unix difieran en su comportamiento, nos ocuparemos de las respuestas que exhiba Linux y no de las otras variantes de Unix.
Linux está disponible de distintas maneras, llamadas distribuciones. Espero que haya encontrado una distribución completa, como por ejemplo la MCC-Interim, y que la tenga instalada. Existen diferencias entre las distintas distribuciones de Linux, pero la mayoría de ellas son insignificantes.
Ocasionalmente verá que en este libro las cosas se ven un poquito distintas a lo que ve en su computadora. Si le sucede esto, es probable que esté utilizando una versión distinta de la mía: estoy interesado en recibir informes de tales casos.
Si Ud. es el superusuario (el ocupado del mantenimiento, el instalador) del sistema, deberá crearse una cuenta de usuario normal para Ud. mismo. Consulte por favor los manuales de instalación para obtener la información necesaria. Si no es el superusuario, deberá solicitarle a quien lo sea que le cree una cuenta.
Ahora deberá tener tiempo y paciencia. El aprendizaje de Linux no es fácil _la mayoría de las personas encuentran que es más fácil aprender el sistema operativo del Macintosh. Una vez que aprende Linux las cosas se vuelven mucho más fáciles. Unix es un sistema muy poderoso y con él es muy fácil realizar tareas complejas.
Además, este libro supone que Ud. está moderadamente familiarizado con algunos términos computacionales. Aunque este requerimiento no es necesario, hace más fácil la lectura. Debe conocer términos como `programa' o `ejecución'. Si no los maneja, necesitará de la ayuda de alguien más avezado durante su aprendizaje de Unix.
1.2 ¿Cómo evitar leer este libro?
La mejor manera de aprender el uso de casi cualquier programa de computadora es poniéndose a trabajar sobre la computadora. La mayoría de las personas encuentran de poco beneficio la lectura de un libro si no utilizan a la vez el programa. Por lo tanto, la mejor manera de aprender Unix y Linux es utilizándolos. Utilice Linux para todo lo que pueda. Experimente. No tenga miedo, es posible que haga algunos líos, pero siempre puede volver a instalar todo. Mantenga actualizadas las copias de seguridad y ¡diviértase!
Unix no es un sistema operativo tan intuitivamente obvio como algunos otros. Por lo tanto, es probable que deba leer al menos los capítulos 4, 5, y el 6, antes de empezar a experimentar.
La manera número uno para evitar la lectura de este libro es que utilice la documentación disponible en línea en Linux. Para ello debe aprender a utilizar el comando man, su descripción está en la Sección 4.2.
1.3 ¿Cómo leer este libro?
La manera sugerida para aprender Unix es leer un poquito, luego jugar un poquito. Juegue hasta que se sienta cómodo con los conceptos, y luego puede saltar entre los temas que se cubren en el libro. Encontrará una variedad de temas, algunos de los cuales serán de su interés. Luego de un tiempo, se sentirá lo suficientemente confiado como para utilizar comandos sin saber exactamente que es lo que deberían hacer. Esta es una buena señal.
Lo que mucha gente asocia con Unix es el shell de Unix: se trata de un programa especial que interpreta comandos. En la práctica, ésta es una manera conveniente de ver las cosas, pero debe saber que Unix es realmente mucho más que el shell, o mucho menos _dependiendo de como lo mire. Este libro le dirá como utilizar el shell, los programas que usualmente vienen con Unix, y algunos programas que no son muy comunes (pero que Linux casi siempre trae).
El capítulo actual es un meta-capítulo, se discute acerca del libro y de como aplicarlo para poder hacer nuestro trabajo. Los otros capítulos contienen:
Capítulo 2 trata del origen y destino de Unix y Linux. También se habla de la Free Software Foundation y el proyecto GNU.
Capítulo 3 habla de como arrancar y detener su computadora, y de lo que sucede durante esas operaciones. Gran parte de esto tiene que ver con temas que no es necesario conocer para utilizar Linux, pero aún así son útiles e interesantes.
Capítulo 4 introduce el shell de Unix. Es con este programa con el cual las personas realizan su trabajo, y corren los programas que necesitan. Trata de los programas y comandos básicos que necesitará conocer para utilizar Unix.
Capítulo 5 cubre el sistema de ventana X2. X es la cara gráfica principal de Unix, e incluso algunas distribuciones lo configuran como opción predeterminada.
Capítulo 6 analiza algunas de las características más avanzadas del shell de Unix. El aprendizaje de las técnicas tratadas en este capítulo le ayudará a ser más eficiente.
Capítulo 7 tiene breves descripciones de muchos de los comandos Unix. Cuanto más herramientas sabe utilizar un usuario, más rápidamente puede concluir su trabajo.
Capítulo 8 describe el editor de textos Emacs. Se trata de un programa muy extenso que integra varias de las herramientas de Unix bajo una única interfaz.
Capítulo 9 trata acerca de las distintas maneras que hay de personalizar un sistema Unix para satisfacer sus gustos personales.
Capítulo 10 investiga los medios por los cuales un usuario Unix puede comunicarse con otras máquinas alrededor del mundo, incluyendo el correo electrónico y la Red de Alcance Mundial3.
Capítulo 11 describe algunos de los comandos con más opciones y más difíciles de utilizar.
Capítulo 12 muestra formas sencillas de evitar errores en Unix y Linux.
1.4 Documentación de Linux
Este libro, Guía de Linux Para el Usuario, está pensado para el principiante en Unix. Afortunadamente, el Linux Documentation Project (Proyecto de Documentación de Linux) también está escribiendo libros para los usuarios más experimentados4.
_____________________________________________
2 N. del T.: X Window System.
3 N. del T.: también conocida como WWW o World Wide Web.
4 N. del T.: El proyecto LuCAS está ocupándose de traducir parte de la documentación de Linux al castellano. Para obtener información actualizada de las traducciones, vea el apéndice D.
1.4.1 Otros libros de Linux
Los otros libros incluyen Installation and Getting Started 5, que es una guía para obtener e instalar Linux, The Linux System Administrator's Guide, trata como organizar y mantener un sistema Linux, y The Linux Kernel Hacker's Guide, que explica como modificar Linux. The Linux Network Administrator Guide6 muestra como instalar, configurar y utilizar una conexión de red.
1.4.2 COMOs
Además de los libros, el Proyecto de Documentación de Linux7 ha realizado una serie de pequeños documentos que describen como configurar algún aspecto particular de Linux. Por ejemplo, el SCSI-COMO describe algunas de las complicaciones que aparecen al utilizar SCSI (que es una manera estándar de comunicarse con ciertos dispositivos) y Linux.
Estos COMOs están disponibles en varios formatos: en un libro como The Linux Bible o Dr. Linux; en el foro de discusión comp.os.linux.answers; o en varios lugares de la WWW. El sitio central de la información acerca de Linux es http://www.linux.org.
1.4.3 ¿Qué es el Proyecto de Documentación de Linux?
Como casi todo lo asociado con Linux, el Proyecto de Documentación de Linux consiste en un conjunto de gente que trabaja alrededor del mundo. Originalmente organizado por Lars Wirzenius, el Proyecto está coordinado en la actualidad por Matt Welsh con la ayuda de Michael K. Johnson.
Se espera que el Proyecto de Documentación de Linux provea los libros que satisfagan todas las necesidades de documentación de Linux en algún momento. Por favor, díganos si hemos tenido éxito o qué es lo que debemos mejorar. Puede contactar al autor en leg+@andrew.cmu.edu, a Matt Welsh en mdw@cs.cornell.edu8.
1.5 Sistemas operativos
El propósito principal de un sistema operativo es dar el soporte que necesitan los programas que hacen un trabajo de interés para el usuario. Por ejemplo, Ud. puede estar utilizando un editor si quiere crear un documento. Ese editor no puede realizar su trabajo sin la ayuda del sistema operativo _necesitará esta ayuda para interactuar con la terminal, los archivos, y el resto de la computadora.
Si todo lo que hace el sistema operativo es dar soporte a las aplicaciones que Ud. desea utilizar, ¿por qué se necesita todo un libro sólo para hablar del sistema operativo? Existe un montón de actividades de mantenimiento de rutina (además de los programas que utilizará principalmente) que Ud. también necesitará realizar. En el caso de Linux, el sistema operativo contiene además un montón de "mini-aplicaciones" para ayudarle a realizar de manera más eficiente su trabajo. El conocimiento del sistema operativo le será de ayuda si su trabajo no se centra en alguna aplicación monolítica.
_____________________________________________
5 N. del T.: Disponible en castellano como Linux: Instalación y Primeros Pasos. Vea el apéndice D
6 N. del T.: Disponible en castellano como Guía de Administración de Redes con Linux. Vea el apéndice D
7 N. del T.: El grupo INSFLUG ha traducido varios de los documentos HOWTO, acuñando el término COMO. Vea el apéndice E.
8 N. del T.: y al coordinador de esta traducción César Ballardini en
cballard@santafe.com.ar
Los sistemas operativos (SO, para abreviar) pueden ser simples y mínimos, como DOS, o grandes y complejos, como OS/2 o VMS. Unix trata de estar en un punto medio. A la vez que proporciona más recursos y hace más que los primitivos SO, no trata de hacer todo. Unix se diseñó originalmente como una simplificación de un sistema operativo que se denominó Multics.
La filosofía original de diseño de Unix fue la de distribuir la funcionalidad en pequeñas partes: los programas9. De esta forma, el usuario puede obtener nueva funcionalidad y nuevas características de una manera relativamente sencilla mediante las diferentes combinaciones de pequeñas partes (programas). Además, en el caso de que aparezcan nuevas utilidades (y de hecho aparecen), puede Ud. integrarlas en su espacio de trabajo. Cuando escribo este documento, por ejemplo, utilizo activamente los siguientes programas: fvwm para manejar mis "ventanas", emacs para editar el texto, LATEX para darle forma, xdvi para ver una presentación preliminar, dvips para prepararlo para la impresión, y luego lpr para imprimirlo. Si mañana llegara a conseguir otro programa de presentación preliminar de archivos dvi, podría utilizarlo en lugar del xdvi sin cambiar el resto de los programas que uso. En el momento actual mi sistema está corriendo treinta y ocho programas simultáneamente. (Gran parte de ellos son programas del sistema que "duermen" hasta que tienen algún trabajo específico para realizar.)
Cuando utilice un sistema operativo, deseará minimizar la cantidad de trabajo que tiene que llevar a cabo para concluir su tarea. Unix proporciona varias herramientas que pueden ayudarle, pero para ello debe conocer que es lo que hacen. No es muy productivo perderse una hora intentando poner a andar alguna cosa y al final tener que abandonar todo. Este libro le enseñará qué herramientas debe Ud. utilizar en qué situación, y como combinar esas herramientas entre sí.
La parte clave de un sistema operativo se denomina "núcleo"10. En muchos sistemas operativos, como Unix, OS/2, o VMS, el núcleo proporciona las funciones necesarias para los programas que están corriendo, y los planifica para su ejecución. Esto significa básicamente que el programa A puede tomar una cierta cantidad de tiempo, el programa B la misma cantidad, etc. El núcleo siempre está funcionando: es el primer programa que arranca cuando se enciende el sistema, y el último programa que hace algo cuando se apaga el equipo.
_____________________________________________
9 Este diseño estuvo determinado por el hardware sobre el cual funcionó originalmente Unix. Por alguna extraña razón, el sistema operativo resultante fue muy útil sobre otras plataformas de hardware. El diseño básico fue tan bueno que aún veinticinco años después sigue usándose.
10 N. del T.: núcleo del inglés "kernel".