GÓMEZ LÓPEZ, JULIO / PUGA SABIO, GONZALO
Aunque la mayoría de los usuarios piense en el Shell como un mero intérprete de comandos interactivo, la realidad es que se trata de un lenguaje de programación en el que cada instrucción se ejecuta como un comando.
El Shell es la interfaz que permite al usuario interactuar con el sistema: recoge las órdenes, las procesa y genera la salida correspondiente, aislando durante todo el proceso al usuario del Kernel del sistema, lo que dota a los entornos GNU/Linux de una gran seguridad.
Existen distintos lenguajes Shell, pero esta obra se centra en Bash, dado que se trata del intérprete de comandos más utilizado en los sistemas GNU/Linux e incluye un completo lenguaje de programación estructurada y gran variedad de funciones internas.
El objetivo de esta obra es introducir al lector de una forma teórico-práctica en la programación Shell, desde los aspectos más básicos de la misma hasta elementos más complejos, que le permitan trabajar de un modo seguro y eficiente con entornos GNU/Linux, desde equipos personales a servidores.
Por ello, a lo largo del libro se presentan múltiples ejemplos, los cuales aumentan de complejidad a medida que se van adquiriendo los conocimientos necesarios, al tiempo que se reta al lector a aplicar los conocimientos adquiridos para resolver distintos problemas propuestos, todos ellos de indudable naturaleza práctica real.
Temas incluidos:
o Introducción a la programación Shell. Tipos de Shell, características de Bash, personalización del entorno de trabajo y modos de ejecución de comandos.
o El Shell del sistema. La línea de comandos, Entradas/Salidas, redirecciones y AWK.
o Programación básica. Variables y expresiones.
o Programación estructurada. Estructuras condicionales, bucles, funciones y recursividad.
o Programación de tareas. Programación de tareas mediante las utilidades de Linux: cron, anacron, at y batch.
o Administración del sistema. Administración de usuarios y grupos, el sistema de ficheros, gestión de permisos, conexiones remotas y transferencia de ficheros.
o Depuración de scripts. Buenas prácticas de programación, opciones de depuración y desarrollo de un depurador Bash.