160 likes | 463 Views
POR: ALEJANDRO QUINTERO GARCÍA. IMPLEMENTACIÓN DE UN INTERPRETE DE COMANDOS (SHELL). Conocer, e implementar las funciones principales de un intérprete de comandos en UNIX/Linux, así como incrementar la habilidad de programación en Lenguaje ANSI C. OBJETIVO GENERAL.
E N D
POR: ALEJANDRO QUINTERO GARCÍA IMPLEMENTACIÓN DE UN INTERPRETE DE COMANDOS (SHELL)
Conocer, e implementar las funciones principales de un intérprete de comandos en UNIX/Linux, así como incrementar la habilidad de programación en Lenguaje ANSI C. OBJETIVO GENERAL
Conocer de manera detallada las principales funciones de un intérprete de comandos (shell) del sistema operativo UNIX/Linux. • Implementar algunas de las principales funciones en Lenguaje ANSI C. • Verificar su correcto funcionamiento, mediante la puesta en marcha del intérprete de comandos implementado. OBJETIVOS ESPECÍFICOS
Visualizar de manera clara, la tarea que involucra capturar una cadena de caracteres de la línea de comandos. Procesarla para identificar las partes que le componen y así ejecutar la acción deseada por el usuario. PLANTEAMIENTO DEL PROBLEMA
El Lenguaje de programación C es un lenguaje de propósito general, aunque no es considerado un lenguaje de muy alto nivel, está colocado como uno de los más poderosos. Ha sido comúnmente asociado con Unix, ya que este sistema operativo está escrito en C. Sin embargo, este lenguaje ha sido usado para escribir programas de todo tipo, tanto científicos, como comerciales. Esta es la razón por la que se ha decidido trabajar con esta herramienta, además de que el entorno Unix/Linux posee ya un compilador para este lenguaje. JUSTIFICACIÓN
SHELL: La forma que el usuario tiende de acceder a los servicios del kernel es mediante el shell. Se puede considerar como el intérprete de comandos, que permite que los comandos y programas que se tecleen sean ejecutados.
●Interfaz de usuario basada en caracteres con el sistema operativo tipo UNIX (Linux, AIX, SunOS, etc.) ●Interacción con el usuario por línea de comandos ●Salida de los programas basada en texto ●Traduce las líneas de comandos en instrucciones del sistema operativo. SHELL:
●La shell NO es UNIX, sólo una interfaz con él ●UNIX es uno de los primeros SSOO en hacer la interfaz de usuario independiente del SO ●Alcance: –Interfaz de usuario –Entorno de programación. Shell scripting. SHELL:
Ejecución de Programas Interpretación de Programas Sustitución de Variables Shell Redirección de E/S Control de Ambiente Pipes Funciones del Shell
–Primera shell relevante fue la shell Bourne (en honor a su inventor Steven Bourne) incluida en la primera versión más popular de UNIX, la versión 7, en el años 1979. –Alternativas ampliamente utilizadas: la shell C que reemsamblaba funciones del lenguaje C en forma de comandos de la shell. Tenía características únicas como el control de trabajos. –La shell más popular en los últimos tiempos es la shell Korn. Es una solución comercial y adopta lo mejor de las shells Bourne y C agregando algunas prestaciones propias UN POCO DE HISTORIA:
●Bourne Again Shell (BASH) fue creada para su uso en el proyecto GNU. ●Se lanzóoficialmente el 10 de Enero de 1988 y su autor original fue Brian Fox que la mejoróhasta 1993. Chet Ramey es el actual responsable de su mantenimiento. ●Es de libre distribución, código abierto y es considerada la shell estándar Bourne Again Shell (BASH) CONTINUACIÓN
●Prestaciones más relevantes: –Edición de la línea de comandos –Control de trabajos –Personalización de la shell –Completo entorno de programación ●Bash tiene como objetivo ser una implementación conforme de la especificación de Herramientas y Shell IEEE POSIX (IEEE Working Group 1003.2). CONTINUACIÓN
●Básicos exit: termina el shell actual date: devuelve hora y fecha del sistema who: devuelve los usuarios conectados whoami: imprime el usuario efectivo cal: muestra el calendario del mes actual locate [nombre de fichero]:búsqueda rápida de ficheros updatedb:actualiza BBDD que utiliza locate which [nombre de fichero]:muestra el path completo de comandos de la shell clear:resetea la pantalla del terminal Bash -comandos
Implementar algunas de las principales funciones que se desarrollan en el interprete de comandos. • Como serian who, date, cal, ps, etc. • Por mencionar algunos. ALCANCE DEL PROYECTO