Argumento de Unix
Unix no es sólo el mejor sistema operativo multiusuario y multitarea, sino que también es el sistema de más éxito y con mayor capacidad de personalización, gracias a la gran comunidad de programadores que han contribuido a la proliferación o extensión de este moderno sistema operativo. La biblia de Unix esta diseñada para ser útil como guía didáctica, tanto para usuarios principiantes como para aquellos con alguna experiencia previa en Unix, p al lector los temas desarrollados de manera sencilla y amena para que descubra todos los comandos estándar, las opciones útiles, scripts, la programación Perl en Unix y todas las respuestas a sus dudas para que pueda obtener la máxima productividad en su trabajo. Dave Taylor, autor de reconocido prestigio sobre Unix, es el fundador de la consultora Growing Ventures, Inc, y el creador del popular sistema de correo Elm, además de haber contribuido al desarrollo de BSD 4.4. Descubra las infinitas posibilidades que le ofrece este sistema operativo.0Agradecimientos Sobre el autor Introducción Cómo usar este libro Sección principal Ejercicios Sesiones de trabajo 1. ¿Qué es Unix? Objetivos del capítulo ¿Qué es Unix? Breve historia sobre Unix El lenguaje de programación C Unix adquiere popularidad ¿Qué son los sistemas multiusuario? El intérprete de comandos (shell) visto por dentro Obtener ayuda Ejercicio 1.1: Las páginas man, referencia on-line de Unix Ejercicio 1.2: Otras formas de encontrar ayuda en Unix Resumen Sesión de trabajo Términos clave Ejercicios En el próximo capítulo 2. Conectarse al sistema y utilizar la línea de comandos Objetivos de este capítulo Empezar una sesión Ejercicio 2.1: Conectarse y desconectarse del sistema Ejercicio 2.2: Cambiar la contraseña con el comando passwd Ejercicio 2.3: Escoger una contraseña segura Ver qué es lo que pasa en su entorno Ejercicio 2.4: ¿Quién está conectado? Ejercicio 2.5: Averiguar qué otros usuarios están conectados al sistema Ejercicio 2.6: ¿Qué funciones están realizando los usuarios en el ordenador? Ejercicio 2.7: Comprobar la fecha y la hora actuales Resumen Sesión de trabajo Términos clave Ejercicios En el próximo capítulo 3. Moverse por el sistema de archivos Objetivos del capítulo ¿Qué es un sistema jerárquico de archivos? Ejercicio 3.1: Organización del sistema de archivos Unix El directorio bin El directorio dev El directorio etc El directorio lib El directorio lost+found Los directorios mnt y sys El directorio tmp El directorio usr Otra información (miscelánea) existente en el primer nivel Caracteres de separación de directorios La diferencia entre los nombres de archivos relativos y los absolutos Ejercicio 3.2: Archivos ocultos en Unix Ejercicio 3.3: Los directorios especiales "." y ".." Ejercicio 3.4: El comando env Ejercicio 3.5: PATH y HOME Ejercicio 3.6: Averigüe dónde está con el comando pwd Ejercicio 3.7: Moverse a otra ubicación con cd Resumen Sesión de trabajo Términos clave Ejercicios En el próximo capítulo 4. Listar archivos y gestionar el uso de los discos Objetivos del capítulo El comando ls Ejercicio 4.1: Todo sobre el comando ls Ejercicio 4.2: Obtener más información del comando ls Ejercicio 4.3: Combinar modificadores Ejercicio 4.4: Listar otros directorios sin cambiar la ubicación Modificadores especiales del comando ls Ejercicio 4.5: Cambiar el orden de clasificación en ls Ejercicio 4.6: Listar árboles de directorios de forma recursiva en el comando ls Ejercicio 4.7: Formato de lista detallada en ls Cadenas de permisos Ejercicio 4.8: Formato de lista detallada para directorios con el comando ls Ejercicio 4.9: Crear archivos con el comando touch Ejercicio 4.10: Comprobar con du el espacio en disco utilizado Ejercicio 4.11: Comprobar el espacio en disco disponible con el comando df Ejercicio 4.12: Comprimir archivos grandes con el programa gzip Resumen Sesión de trabajo Términos clave Ejercicios En el próximo capítulo 5. Propiedad y permisos Objetivos del capítulo Trabajar con los permisos de un archivo Ejercicio 5.1: Comprender las configuraciones de permisos para archivos Ejercicio 5.2: Configuraciones de los permisos a nivel de directorio Ejercicio 5.3: Modificar permisos de archivos y directorios con chmod Ejercicio 5.4: Configurar nuevos permisos de archivos con chmod Ejercicio 5.5: Calcular las cadenas numéricas de permisos Ejercicio 5.6: Establecer archivos por defecto y permisos de directoriocon el comando umask Ejercicio 5.7: Identificar el propietario y el grupo de cualquier archivoo directorio Resumen Sesión de trabajo Términos clave Ejercicios En el próximo capítulo 6. Crear, mover, renombrar y borrar archivos y directorios Objetivos del capítulo Manipular el sistema de archivos Unix Ejercicio 6.1: Crear directorios nuevos utilizando mkdir Ejercicio 6.2: Copiar archivos a nuevas ubicaciones utilizando cp Ejercicio 6.3: Mover archivos a una nueva ubicación utilizando mv Ejercicio 6.4: Renombrar archivos con mv Ejercicio 6.5: Eliminar directorios con rmdir Ejercicio 6.6: Eliminar archivos utilizando rm Ejercicio 6.7: Minimizar el peligro que conlleva el comando rm Resumen Sesión de trabajo Términos clave Ejercicios En el próximo capítulo 7. Examinar el contenido de los archivos Objetivos del capítulo Examinar el contenido de los archivos Ejercicio 7.1: Utilizar el comando file para identificar los tipos de archivo Ejercicio 7.2: Explorar directorios Unix con file Ejercicio 7.3: Examinar las primeras líneas con head Ejercicio 7.4: Ver las últimas líneas con tail Ejercicio 7.5: Ver los contenidos de los archivos con cat Ejercicio 7.6: Visualizar archivos grandes con more Resumen Sesión de trabajo Términos clave Ejercicios En el próximo capítulo 8. Filtros, tubos (pipes) y caracteres comodín Objetivos del capítulo Maximizar la línea de comandos Ejercicio 8.1: Los secretos de la redirección de archivos Ejercicio 8.2: Contar palabras y líneas utilizando wc Ejercicio 8.3: Clasificar información en un archivo utilizando sort Ejercicio 8.4: Caracteres comodín para nombres de archivo Ejercicio 8.5: Buscar archivos con grep Ejercicio 8.6: Crear expresiones regulares Ejercicio 8.7: El resto de los comandos de la familia grep Resumen Sesión de trabajo Términos clave Ejercicios En el próximo capítulo 9. Separar y agrupar datos mediante el comando tubo (|) Objetivos del capítulo El sistema de programación awk Ejercicio 9.1: Aprender a utilizar awk Cómo utilizar cut en tubos (pipes) Ejercicio 9.2: Separar y agrupar con cut Editar de forma directa (inline) con sed y tr Ejercicio 9.3: Edición inline con sed y tr Resumen Sesión de trabajo Ejercicios En el próximo capítulo 10. Introducción al editor vi Objetivos del capítulo Editar al modo de Unix Ejercicio 10.1: Cómo entrar y salir de vi Ejercicio 10.2: El movimiento del cursor en vi Ejercicio 10.3: Desplazarse por las palabras y las páginas Ejercicio 10.4: Insertar texto en el archivo utilizando i, a, o y O Ejercicio 10.5: Borrar texto Resumen Sesión de trabajo Términos clave Ejercicios En el próximo capítulo 11. Técnicas, herramientas y trucos avanzados en vi Objetivos del capítulo Edición avanzada con vi Ejercicio 11.1: Buscar dentro de un archivo Ejercicio 11.2: Comandos de dos puntos en vi Ejercicio 11.3: Cómo iniciar vi correctamente Ejercicio 11.4: Buscar y reemplazar Ejercicio 11.5: Comandos para modificar y reemplazar Ejercicio 11.6: Acceder a Unix con ! Resumen de los comandos vi Resumen Sesión de trabajo Términos clave Ejercicios En el próximo capítulo 12. Resumen del editor emacs Objetivos del capítulo El otro editor popular: emacs Ejercicio 12.1: Lanzar emacs e insertar texto Ejercicio 12.2: Cómo moverse por un archivo Ejercicio 12.3: Cómo eliminar caracteres y palabras Ejercicio 12.4: Buscar y reemplazar en emacs Ejercicio 12.5: Utilizar el tutorial emacs y el sistema de ayuda Ejercicio 12.6: Trabajar con otros archivos Resumen Sesión de trabajo Términos clave Ejercicios En el próximo capítulo 13. Introducción a los intérpretes de comandos Objetivos del capítulo El "juego" del intérprete de comandos Ejercicio 13.1: ¿Qué intérpretes de comandos están disponibles? Ejercicio 13.2: Identificar su intérprete de comandos Ejercicio 13.3: Cómo elegir un nuevo intérprete de comandos Ejercicio 13:4 Aprender el entorno del intérprete de comandos Ejercicio 13.5: Explorar los archivos de configuración bash Resumen Sesión de trabajo Términos clave Ejercicios En el próximo capítulo 14. Interacción avanzada con el intérprete de comandos Objetivos del capítulo ¿Cuál de los intérpretes de comandos, es cuál? Ejercicio 14.1: Los mecanismos históricos del intérprete de comandos Ejercicio 14.2: Utilizar el histórico para reducir la escritura Ejercicio 14.3: Alias de comandos Ejercicio 14.4: Algunos alias potentes Ejercicio 14.5: Configurar mensajes (prompts) personalizados Resumen Sesión de trabajo Términos clave Ejercicios En el próximo capítulo 15. Control de trabajos Objetivos del capítulo Luchar con sus trabajos Ejercicio 15.1: Control de trabajos en el intérprete de comandos: Detener trabajos Ejercicio 15.2: Primer plano/segundo plano y los programas Unix Ejercicio 15.3: Averiguar qué tareas se están ejecutando Ejercicio 15.4: Finalizar procesos mediante el comando kill Resumen Sesión de trabajo Términos clave Ejercicios En el próximo capítulo 16. Resumen de la programación de un intérprete de comandos Objetivos del capítulo Construir sus propios comandos Ejercicio 16.1: Variables del intérprete de comandos Ejercicio 16.2: Operaciones aritméticas del intérprete de comandos Ejercicio 16.3: Funciones comparativas Ejercicio 16.4: Expresiones condicionales Ejercicio 16.5: Expresiones de tipo bucle Ejercicio 16.6: Funciones bash Resumen Sesión de trabajo Términos clave Ejercicios En el próximo capítulo 17. Programación avanzada del intérprete de comandos Objetivos del capítulo Buscar con mylocate, en una base de datos de nombres de archivos Ejercicio 17.1: Construir mylocate Ejercicio 17.2: ¿De cuántos comandos dispone? Ejercicio 17.3: ¿Cuánto espacio en disco tenemos disponible? Ejercicio 17.4: ¡Vamos a jugar con un script de intérpretes de comandos! Resumen Sesión de trabajo Términos clave Ejercicios En el próximo capítulo 18. Imprimir en el entorno Unix Objetivos del capítulo Realizar una copia impresa Ejercicio 18.1: Encontrar impresoras locales con printers Ejercicio 18.2: Imprimir archivos con lpr o lp Ejercicio 18.3: Formatear trabajos de impresión con pr y col Ejercicio 18.4: Trabajar con la cola de impresión Resumen Sesión de trabajo Términos clave Ejercicios En el próximo capítulo 19. Archivos de respaldo y copias de seguridad Objetivos del capítulo Utilidad de archivado en cinta mediante el comando tar Ejercicio 19.1: Aprender a utilizar tar Reducir o comprimir sus archivos mediante compress Ejercicio 19.2: Comprimir o reducir archivos grandes en Unix Explorar el comando para copiar en cinta de Unix: cpio Ejercicio 19.3: Una rápida exploración de cpio Soluciones personales para las copias de seguridad Ejercicio 19.4: Esquema personal de las copias de seguridad Trabajar con gestores de paquetes de Unix Ejercicio 19.5: Una visita al gestor de paquetes RPM Resumen Sesión de trabajo Ejercicios En el próximo capítulo 20. Comunicarse mediante correo electrónico (Email) Objetivos del capítulo Relacionarse con el mundo Ejercicio 20.1: Leer el correo electrónico con mailx Ejercicio 20.2: Enviar correo desde la línea de comandos Ejercicio 20.3: Direcciones de correo electrónico en Internet Ejercicio 20.4: La alternativa inteligente al correo electrónico, elm Ejercicio 20.5: Una ojeada a Pine Resumen Sesión de trabajo Términos clave Ejercicios En el próximo capítulo 21. Utilización de telnet, SSH y ftp Objetivos del capítulo Ir más allá de su propio sistema Ejercicio 21.1: Conectarse a sitios remotos de Internet Ejercicio 21.2: Comando telnet en Windows y Macs Ejercicio 21.3: Garantizar las conexiones con SSH Ejercicio 21.4: Copiar archivos con FTP Ejercicio 21.5: Explorar repositorios de archivos mediante FTP anónimo Resumen Sesión de trabajo Términos clave Ejercicios En el próximo capítulo 22. Buscar información y archivos Objetivos del capítulo Averiguar dónde están las cosas Ejercicio 22.1: El comando find y sus opciones poco conocidas Ejercicio 22.2: Utilizar find con xargs Ejercicio 22.3: Obtener archivos de Internet Resumen Sesión de Trabajo Ejercicios En el próximo capítulo 23. Programación Perl en Unix Objetivos del capítulo El flexible y potente Perl Ejercicio 23.1: Exchange, una demo de un conversor de divisas escrito en Perl Ejercicio 23.2: Comprobar la calidad del código con -w Ejercicio 23.3: Información y documentación sobre Perl on-line Ejercicio 23.4: Otros comandos útiles de Perl Resumen Sesión de trabajo Términos clave Ejercicios En el próximo capítulo 24. GNOME y el entorno GUI Objetivos del capítulo Ajustar su GNOME Ejercicio 24.1: Iniciar X11 y GNOME Ejercicio 24.2: Poner a punto su configuración GNOME Trabajar con aplicaciones GNOME Ejercicio 24.3: Trabajar con OpenOffice.org Ejercicio 24.4: El explorador de la Web Firefox Ejercicio 24.5: Utilizar el programa de correo electrónico Evolution Resumen ¡Enhorabuena! Sesión de trabajo Términos clave Ejercicios Apéndices A. Preguntas y respuestas más habituales sobre Unix ¿Cómo utilizo find|xargs en nombres de archivo que contienen espacios? ¿Cómo encuentro archivos grandes en mi sistema? ¿Cómo planifico la ejecución de un programa? El comando at El programa cron ¿Cómo arreglo los problemas de los permisos de archivo? ¿Cómo listo los archivos que no coinciden con un patrón dado? ¿Cómo puedo visualizar las líneas X-Y en un archivo de texto? ¿Cómo añado un nuevo directorio en mi PATH? ¿Cómo recupero archivos borrados? ¿Cómo puedo configurar mi intérprete de comandos para protegermede los borrados accidentales? ¿Qué significan los errores del intérprete de comandos "lista de argumentosdemasiado larga" (arg list too long) y "tubo roto" (broken pipe)? ¿Porqué utilizar ssh en lugar de telnet? ¿O sftp en lugar de ftp? Resumen B. Trabajar con el servidor Web Apache (Apache Web Server) Objetivos del capítulo Trabajar con un servidor Web Unix Ejercicio B.1: Explorar los archivos de configuración Apache Ejercicio B.2: Crear un sencillo programa CGI Ejercicio B.3: Un programa que se procesa en el servidor Ejercicio B.4: Entender los archivos de registro Apache Resumen Sesión de trabajo Términ alfabético