Full Transcript

INTRODUCCIÓ N A SHELL SCRIPTING CONCEPTOS BÁSICOS DE SHELL SCRIPTING  Actividades realizadas con scripts de shell  Encadenar comandos complejos  Desarrollar herramientas  Automat...

INTRODUCCIÓ N A SHELL SCRIPTING CONCEPTOS BÁSICOS DE SHELL SCRIPTING  Actividades realizadas con scripts de shell  Encadenar comandos complejos  Desarrollar herramientas  Automatizar procesos  Manipular múltiples archivos  Importancia de los scripts nativos  No siempre se pueden elegir herramientas  Posibilidad de no poder instalar aplicaciones  Desarrollo de herramientas a partir de scripts nativos  Realización de actividades sin inconvenientes DEFINICIÓN DE SHELL: DEFINICIÓN SEGÚN WIKIPEDIA  Shell o Intérprete de Órdenes  Programa informático  Provee una interfaz de usuario  Acceso a servicios del sistema operativo  Interfaz  Del inglés interface 'superficie de contacto' DEFINICIÓN DE  Conexión o frontera común SHELL:  Entre dos aparatos o sistemas independientes DEFINICIÓN  Conexión en informática SEGÚN LA RAE  Física o lógica  Entre una computadora y el usuario  Entre un dispositivo periférico o un enlace de comunicaciones TIPOS DE SHELL  Shells de Interfaz Gráfica  Utilizan menús gráficos e íconos para representar archivos y programas  Permiten interactuar con los elementos a través de clics  Caracterizadas por su conveniencia y facilidad de uso  Ejemplos: escritorio de Windows, Gnome, KDE  Shells Basadas en Texto  Permiten comunicarse con el sistema operativo mediante comandos  Son la LÍNEA DE MANDATOS O COMANDOS  Línea de Mandatos  Es la línea en la que escribe  Contiene el indicador del shell  Formato Básico  $ Mandato Argumento(s)  Primera palabra es el comando  Palabras posteriores son argumentos LENGUAJES DE PROGRAMACIÓN DE SCRIPTING  Lenguaje interpretado  El código es leído por un intérprete  Conversión a lenguaje máquina en tiempo real  Legibilidad del código  El código resultante puede ser leído por humanos  Diferencia con lenguajes compilados  Los programas compilados no son legibles por humanos  Interpretes de Lenguajes de Scripting  Requieren instalación de interprete como Python, Ruby o Perl  Los scripts de shell no requieren instalación adicional  Interacción con Shell Gráfica  Existen programas y aplicaciones para ello  Comúnmente se refiere a programas que interactúan con shell basadas en texto SCRIPT DE SHELL  Herramientas de Procesamiento  Usadas para procesar scripts de shell y comandos individuales  Características Similares a Lenguajes de Programación  Almacenamiento de datos en variables y estructuras de datos  Crear subrutinas  Controlar el flujo del programa  Rapidez en el desarrollo e implementación  Codificación necesaria para la tarea específica  No requiere desarrollar una aplicación completa  Aglutina diversas herramientas  Permite realizar tareas más complejas VENTAJAS Y  Encadenamiento rápido de scripts y comandos UTILIDADES DEL  Disponibilidad en todos los sistemas operativos SHELL SCRIPTING  Presente en sistemas operativos basados en texto  Siempre disponible incluso en sistemas securizados  No requiere compilación  Archivos de texto plano  Fácil creación y uso de scripts SHELL EN WINDOWS  Interfaz gráfica de Windows  Conocida como Windows Shell  Interacción principalmente a través del mouse  Uso de ventanas para aplicaciones  Interacción mediante comandos  Alternativa a la interfaz gráfica  Comandos disponibles en la siguiente hoja COMMAND PROMPT (CMD)  Funciones administrativas y avanzadas  Uso común del Símbolo del Sistema  Conocido como Command Prompt, CMD o Shell de comandos CMD  Shell basada en texto de Windows  Permite ejecutar comandos directamente  Principales comandos de cmd  Listado de comandos más utilizados  PowerShell como shell de línea de comandos  Instalada por defecto en todas las POWERSHELL: versiones de Windows (7 o posterior)  PowerShell como lenguaje de scripting INTRODUCCIÓN  Disponibilidad de PowerShell A POWERSHELL  Disponible para Windows  Disponible para Linux  Disponible para macOS POWERSHELL: CMD VS. POWERSHELL  Diferencias principales entre cmd y PowerShell  cmd es una interfaz de línea de comandos tradicional  PowerShell es una herramienta de automatización y configuración  cmd se utiliza principalmente para tareas básicas del sistema  PowerShell permite la administración avanzada del sistema  cmd tiene un conjunto limitado de comandos  PowerShell tiene un conjunto extenso de cmdlets y funciones  PowerShell  Lenguaje de shell y programación mejorado  Diseñado para administradores del sistema  Basado en.NET Framework  Orientado a objetos DIFERENCIAS  Integrado con.NET Framework PRINCIPALES ENTRE  CMD CMD Y POWERSHELL  Interfaz de línea de comandos  Menos características en comparación con PowerShell  Salida en formato de texto simple  Requiere más esfuerzo para automatización  Comparación COMANDOS DE WINDOWS SHELL  Acceso a comandos de Windows Shell  Presiona las teclas Windows + R  Usa cualquiera de los comandos siguientes  Interacción con el sistema operativo  Los comandos permiten interactuar con el SO  El sistema debe estar en español  Recomendación  Intenta ejecutar algunos comandos  Observa lo que ocurre  Acceso a carpetas específicas  shell:AccountPictures - Carpeta de imágenes de la cuenta  shell:AppData - Carpeta AppData  shell:AppsFolder - Carpeta Apps  shell:Downloads - Carpeta Descargas  Herramientas administrativas LISTA DE COMANDOS  shell:Herramientas administrativas - Carpeta de herramientas administrativas DE WINDOWS SHELL  shell:Herramientas administrativas comunes - Carpeta de herramientas administrativas comunes  Gestión de programas  shell:AddNewProgramsFolder - Añadir nueva carpeta de programa  Almacenamiento y caché  Multimedia y documentos  Microsoft PowerShell  Lenguaje de desarrollo y scripting  Automatización universal  Puente entre tareas INTRODUCCIÓN  Cierra la brecha entre desarrollo y automatización A POWERSHELL  Código libre y multiplataforma  Disponible para diferentes sistemas operativos  Comandos de CMD incluidos  Integra comandos del símbolo del sistema  Iniciar PowerShell desde CMD  Inicializar PowerShell directamente desde CMD  Ejecutar CMD como administrador y luego iniciar PowerShell  Iniciar PowerShell desde el menú de inicio de Windows  Buscar PowerShell en el menú de inicio y ejecutarlo  Buscar PowerShell en el menú de inicio y ejecutarlo como Administrador  Diferencias observadas INICIANDO EN  Ejecutar como usuario normal vs. ejecutar como root en Linux o Mac POWERSHELL COMANDOS DE CMD EN POWERSHELL  Uso de comandos de cmd en PowerShell  Los comandos de cmd son alias o seudónimos en PowerShell  Se traducen de comandos conocidos de cmd a los que PowerShell reconoce  Ejemplo de uso  Para listar los comandos de cmd disponibles en PowerShell, usa el comando: PS> Get-Alias  Definición de comando en PowerShell  Un comando es un término para llamar a expresiones ejecutables  Pueden ser comandos legacy de cmd, propios de PowerShell o creados por el usuario  La única restricción es que el comando exista  Si no existe, se recibe un  Tipos de comandos de PowerShell  cmdlets: Comandos incorporados de Microsoft, escritos en otros lenguajes de programación  functions: Escritas en PowerShell, pueden ser funciones personalizadas COMANDOS  aliases: Ejemplos de comandos de cmd  Script externos: Llamadas a scripts no nativos DE de PowerShell  Uso de Get-Command POWERSHELL  Permite observar el tipo de cada comando  Filtra resultados a través de parámetros  Parámetros  Valores ingresados para personalizar el comportamiento de un comando CONCEPTOS BÁSICOS DE POWERSHELL: VARIABLES  Variables en PowerShell  Almacenan valores y comienzan con $  Pueden ser definidas por el usuario o automáticas  Creación y asignación de variables  Declarar y asignar un valor  Ejemplo: PS> $color = 'blue'  Comandos para variables  Set-Variable -Name color -Value blue  Get-Variable -Name color  Variables automáticas  Pueden ser modificadas, pero con precaución  Variable especial $null CONCEPTOS BÁSICOS DE POWERSHELL: TIPOS DE DATOS  Tipos de datos en PowerShell  Booleanos: $true y $false  Strings: cadenas de texto  Enteros y punto flotante  Int: datos enteros manejados como int32 (32 bits)  Float y Double: números decimales con diferentes precisiones  Cambio de tipo de datos  PowerShell deduce el tipo de dato basado en los valores proporcionados En PowerShell, las cadenas se pueden definir mediante WORKING WITH comillas simples o dobles STRINGS IN La manipulación de cadenas se puede realizar mediante cmdlets como Select-String y Replace POWERSHELL  Las operaciones de subcadena se pueden realizar mediante el método Substring o el operador -split CONCEPTOS BÁSICOS DE POWERSHELL: ESTRUCTURAS DE DATOS  Objetos  Instancia de una clase con métodos y atributos  Comportamiento definido por métodos  Atributos describen el objeto  Estructuras de datos  Permiten estructurar múltiples datos bajo un único identificador  Tipos en PowerShell: arreglos, ArrayLists y hashtables  Arreglos  Tamaño fijo  Problemas de rendimiento en arreglos grandes  ArrayList  Tablas Hash (hashtables) COMBINANDO COMANDOS EN POWERSHELL  Formas de combinar comandos en PowerShell  Usando el pipeline de PowerShell  Guardando el código en scripts externos  Ejemplo de inicio de servicios en Windows  Definir el nombre del servicio  Obtener el servicio  Iniciar el servicio  Uso del pipeline en PowerShell  Permite enviar la salida de un comando como entrada para otro  Utiliza el operador pipe |  Ejemplo de uso del pipeline  Ejecutando contenido de arreglos con el pipeline  Tipos de errores en PowerShell  Errores terminantes: Detienen la ejecución del código  Errores no terminantes: No afectan al resto del código  Conversión de errores  Errores no terminantes pueden convertirse en terminantes  Decisión tomada por el desarrollador  Parámetro ErrorAction  Continue: Despliega el mensaje de error y continúa  Ignore: Continúa sin desplegar el error MANEJO DE  Inquire: Pide entrada del usuario antes de continuar  SilentlyContinue: Guarda el error sin desplegar mensaje ERRORES EN  Manejo de errores con try/catch POWERSHELL ESCRIBIENDO FUNCIONES EN POWERSHELL  Comandos de PowerShell  Get-Command -CommandType Function para listar funciones  Regla de nombres 1 function Nombre-  Verbo-Sustantivo en inglés Funcion  Usar Get-Verb para lista de verbos 2 {  Redefinir funciones  Permite cambiar comportamiento 3 # Código de la función  Definición de funciones 4 }  En consola para funciones pequeñas  En script o módulo para funciones grandes  Parámetros en funciones  Permiten variabilidad en comportamiento  Funciones como unidades manejables  Brindan código más eficiente y fácil de leer  No solo existen en un script o sesión de PS  Módulos como grupos de funciones similares  Empaquetados y distribuidos para uso en múltiples scripts  Archivo de texto con extensión.psm1 y metadata opcional  Exploración de módulos  Usar Get-Module para explorar módulos importados  Get-Command para ver comandos importados por cada módulo ANÁLISIS DE  Importación de módulos  Componentes de un módulo de PowerShell MÓDULOS EN  Trabajando con módulos de terceros POWERSHELL CONCLUSIÓ N

Use Quizgecko on...
Browser
Browser