Saltar al contenido principal
Programacion Shell. Aprende a Programar con Mas de 100 Ejercicios

Programacion Shell. Aprende a Programar con Mas de 100 Ejercicios

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 ...

Editorial:
Ra-Ma
Año de edición:
2012
Materia:
Programación
ISBN:
978-84-9964-138-6
Páginas:
292
Encuadernación:
Rústica
25,90 €
IVA incluido
Añadir a favoritos

Sinopsis

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.

Índice

INTRODUCCIÓN
CAPÍTULO 1. INTRODUCCIÓN A LA PROGRAMACIÓN SHELL
1.1.1 Tipos de Shell
1.1.2 Shell del sistema
1.1.3 Estableciendo el Shell por defecto
1.2 BASH
1.3 MODOS DE EJECUCIÓN DE COMANDOS
1.3.1 Comandos empotrados (built-in)
1.3.2 Línea de comandos
1.3.3 Script
1.3.4 Metacaracteres
1.3.5 Variables de entorno
1.4 PERSONALIZAR EL ENTORNO
1.4.1 Ficheros de configuración de Bash
1.4.2 Alias
1.4.3 Opciones de Bash
1.4.4 Coloreando el Shell
1.5 CARACTERÍSTICAS ESPECIALES
1.5.1 Programas interactivos
1.5.2 Control de trabajos
1.5.3 Intérprete de uso restringido
1.6 APLICANDO CONOCIMIENTOS
1.7 EJERCICIOS PROPUESTOS
CAPÍTULO 2. SHELL DEL SISTEMA
2.1 LÍNEA DE COMANDOS
2.1.1 Editor de línea de comandos
2.1.2 Moverse por la línea de comandos
2.1.3 Borrar partes de la línea de comandos
2.1.4 Historial de comandos
2.1.5 Autocompletar con el tabulador
2.1.6 Ejecutar la línea de comandos
2.2 ENTRADA Y SALIDA ESTÁNDAR
2.2.1 Terminal como archivo
2.2.2 Redirigir la salida estándar
2.2.3 Redirigir la entrada estándar
2.2.4 Noclobber: evitar la sobrescritura de ficheros
2.2.5 Concatenando la salida estándar a un fichero
2.2.6 /dev/null: haciendo desaparecer datos
2.2.7 Cauces
2.2.8 Filtros
2.2.9 Tee: enviar la salida en dos direcciones
2.3 TRATAMIENTO DE DATOS
2.4 INTRODUCCIÓN A GAWK (GNU AWK)
2.4.1 Imprimiendo en awk
2.4.2 Dando formato a la salida en awk
2.4.3 Uso de expresiones regulares
2.4.4 Patrones especiales
2.4.5 Separador de campos de entrada
2.4.6 Separador de campos de salida
2.4.7 Número de registros procesados
2.5 APLICANDO CONOCIMIENTOS
2.6 EJERCICIOS PROPUESTOS
CAPÍTULO 3. PROGRAMACIÓN BÁSICA
3.1 INTRODUCCIÓN
3.2 MI PRIMER SCRIPT
3.3 VARIABLES Y EXPRESIONES
3.3.1 Variables
3.3.2 Expresiones
3.3.3 Entrecomillado y expansión
3.4 APLICANDO CONOCIMIENTOS
3.5 EJERCICIOS PROPUESTOS
CAPÍTULO 4. PROGRAMACIÓN ESTRUCTURADA
4.1 INTRODUCCIÓN
4.2 ESTRUCTURAS CONDICIONALES
4.2.1 Condición simple (if… then)
4.2.2 Condiciones compuestas (if… then… else)
4.2.3 Condiciones anidadas (if, then y elif)
4.2.4 Condiciones múltiples (case)
4.3 BUCLES
4.3.1 Bucle for
4.3.2 Bucle for in
4.3.3 Bucle while
4.3.4 Bucle until
4.3.5 Interrumpiendo bucles: break y continue
4.3.6 Select
4.4 FUNCIONES
4.5 RECURSIVIDAD
4.6 APLICANDO CONOCIMIENTOS
4.7 EJERCICIOS PROPUESTOS
CAPÍTULO 5. PROGRAMACIÓN DE TAREAS
5.1 ASPECTOS BÁSICOS
5.2 CRON
5.2.1 Iniciar cron
5.2.2 Configuración de cron
5.2.3 Operadores
5.2.4 Directorios predefinidos
5.2.5 Control de acceso a cron
5.2.6 Log de cron
5.2.7 Deshabilitar el envío de e-mails
5.2.8 Instalar crontab desde archivo
5.3 ANACRON
5.3.1 Configuración de las tareas de anacron
5.3.2 Iniciar y finalizar el servicio
5.4 AT Y BATCH
5.4.1 Configuración de tareas at
5.4.2 Control de acceso a at y batch
5.4.3 Iniciar y finalizar el servicio
5.5 APLICANDO CONOCIMIENTOS
5.6 EJERCICIOS PROPUESTOS
CAPÍTULO 6. ADMINISTRACIÓN DEL SISTEMA
6.1 INTRODUCCIÓN
6.2 ADMINISTRACIÓN DE USUARIOS
6.2.1 Tipos de usuarios
6.2.2 Comandos de administración de usuarios
6.2.3 Comandos de administración de contraseñas
6.2.4 Comandos de administración de grupos
6.2.5 Ficheros involucrados
6.2.6 Archivos de inicialización
6.2.7 Archivos de configuración del usuario
6.2.8 Comunicación con los usuarios
6.3 SISTEMA DE ARCHIVOS
6.3.1 Comandos básicos
6.3.2 Búsqueda de ficheros
6.3.3 Copias de seguridad
6.4 PERMISOS
6.4.1 Establecer permisos
6.4.2 Establecer el usuario y el grupo propietario
6.5 COMUNICACIONES
6.5.1 Conexión remota mediante SSH
6.5.2 Transferencia de ficheros
6.6 APLICANDO CONOCIMIENTOS
6.7 EJERCICIOS PROPUESTOS
CAPÍTULO 7. DEPURACIÓN DE SCRIPTS
7.1 INTRODUCCIÓN
7.2 CÓMO IMPLEMENTAR BUENOS SCRIPTS
7.2.1 Estructura
7.2.2 Recomendaciones de programación
7.3 OPCIONES DE BASH PARA DEPURACIÓN
7.4 SEÑALES FALSAS
7.4.1 Señal SIGEXIT
7.4.2 Señal SIGERR
7.4.3 Señal SIGDEBUG
7.4.4 Señal SIGRETURN
7.5 UN DEPURADOR BASH
7.5.1 Estructura del depurador
7.5.2 El preámbulo
7.6 FUNCIONES DEL DEPURADOR
7.6.1 Avanzar paso a paso
7.6.2 El menú de comandos
7.6.3 Puntos de ruptura por número de línea
7.6.4 Puntos de ruptura condicionales
7.6.5 Trazar la ejecución
7.7 EJEMPLO DE EJECUCIÓN
7.8 EJERCICIOS PROPUESTOS
ÍNDICE ALFABÉTICO

Artículos relacionados

Comprender los Algoritmos

Comprender los Algoritmos

Y. Bhargava, Aditya

Los algoritmos que utilizas con más frecuencia ya han sido descubiertos, probados y comprobados. La segunda actualización de Comprender los algoritmos hace que sea muy fácil aprenderlos, comprenderlos y usarlos. Con explicaciones maravillosamente sencillas, más de 400 ilustraciones divertidas y docenas de ejemplos relevantes, aprenderás a desbloquear el poder de los algoritmos ...

✅ Disponible

36,95 €

Micropython en Proyectos. Una Introducción Práctica a la Programación de Microco

Micropython en Proyectos. Una Introducción Práctica a la Programación de Microco

Padin Romero, Beatriz / Dapena Janeiro, Ad / Padín Romero, Beatriz / Dapena Janeiro, Adriana

Desarrolle proyectos en MicroPython paso a paso Vivimos rodeados de microcontroladores. Estos pequeños ordenadores, programados para realizar tareas concretas, son la pieza central de muchos de los dispositivos electrónicos con los que interactuamos a diario: electrodomésticos, automóviles, sistemas de monitorización y control? Sin embargo, a pesar de su ubicuidad, su funciona...

✅ Disponible

22,80 €

Guía de Programación en C/C++

Guía de Programación en C/C++

Lopez, Eliezer

Medio siglo después, C y C++ son los lenguajes más eficientes de la historia y el fundamento de gran parte de la tecnología que utilizamos a diario. Creados por y para programadores, se siguen enseñando en miles de centros educativos y ofrecen multitud de ventajas a empresas relevantes en multitud de sectores.C y C++ están presentes en una amplia variedad de sectores gracias a ...

✅ Disponible

29,95 €

Python Black Hat. Programación para Hackers y Pentesters

Python Black Hat. Programación para Hackers y Pentesters

Arnold, Tim / Seitz, Justin

Cuando se trata de crear herramientas de hackeo potentes y eficaces, Python es el lenguaje elegido por la mayoría de los analistas de seguridad. En este libro explorarás el lado más oscuro de las capacidades de Python: todo, desde escribir sniffers de red, robar credenciales de correo electrónico y acceder a directorios y carpetas por la fuerza hasta crear fuzzers de mutación, ...

✅ Disponible

32,95 €

Curso Práctico con Unity 3D

Curso Práctico con Unity 3D

Cantón Nadales, David

El primer libro en español que guía el desarrollo de videojuegos con Unity, desde los fundamentos hasta la creación de builds ejecutables.Dirigido a principiantes y desarrolladores con experiencia, este libro te acompaña paso a paso, desde el uso del Unity Editor hasta la creación de videojuegos completos y optimizados. Aprenderás a manipular GameObjects, programar en C# y Visu...

✅ Disponible

29,95 €

Curso de Programacion con Rust

Curso de Programacion con Rust

Lopez, Eliezer

El lenguaje de programación Rust ha ganado popularidad en los últimos años debido a su enfoque en la seguridad y el rendimiento, y se ha convertido en una excelente opción para el desarrollo de aplicaciones críticas y sistemas de alto rendimiento. Con una comunidad en constante crecimiento y el respaldo de importantes empresas, Rust constituye una herramienta poderosa para desa...

✅ Disponible

30,95 €

Otros libros del autor

Administracion de Sistemas Operativos. Cfgs

Administracion de Sistemas Operativos. Cfgs

Gómez López, Julio

La presente obra está dirigida a los estudiantes del Ciclo Formativo de Grado Superior de Administración de Sistemas Informáticos en Red, en concreto al Módulo Profesional Administración de Sistemas Operativos.A lo largo del libro se estudian los aspectos fundamentales relacionados con la administración de los sistemas operativos más utilizados en pequeñas y medianas empresas: ...

Entrega 3/5 días

35,90 €

Hackers. Aprende a Atacar y a Defenderte

Hackers. Aprende a Atacar y a Defenderte

Gómez López, Julio

En la actualidad, la seguridad de los sistemas informáticos es un elemento crucial que cualquier administrador debe asumir como uno de sus principales objetivos. La gran cantidad de servicios que se ofrecen a través de las redes e Internet ha hecho que sea de vital importancia asegurar los sistemas contra los diferentes ataques de los hackers. Ante este problema, el administrad...

❌ Agotado

14,90 €

Volp y Asterisk. Redescubriendo la Tecnología

Volp y Asterisk. Redescubriendo la Tecnología

Gómez López, Julio

Desde que Mark Spencer escuchó el primer tono de línea en su servidor Linux hasta hoy día, el uso de la VoIP se ha consolidado enormemente en ámbitos empresariales, institucionales y académicos gracias a Asterisk. Hoy día se pueden confiar las comunicaciones de cualquier empresa a un sistema considerado por todos los especialistas como de los más estables y fiables. Y encima, g...

Entrega 3/5 días

28,90 €

Administración de Sistemas Gnu/ Linux
❌ Agotado

19,90 €