1 / 29

Shell

Shell. ARISO 2 Escola Tècnica Superior d’Enginyeria de Telecomunicació de Barcelona ( Universitat Politècnica de Catalunya). Licencia Creative Commons.

laken
Download Presentation

Shell

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Shell ARISO 2 EscolaTècnica Superior d’Enginyeria de Telecomunicació de Barcelona (UniversitatPolitècnica de Catalunya)

  2. Licencia CreativeCommons Esta obra está bajo una licencia Reconocimiento-No comercial-Compartir bajo la misma licencia 2.5 España de CreativeCommons. Para ver una copia de esta licencia, visite: http://creativecommons.org/licenses/by-nc-sa/2.5/es/ o envíe una carta a: CreativeCommons, 559 NathanAbbottWay, Stanford, California 94305, USA.

  3. Licencia CreativeCommons Eres libre de: • copiar, distribuir y comunicar públicamente la obra • hacer obras derivadas Bajo las condiciones siguientes: • Atribución. Debes reconocer la autoría de la obra en los términos especificados por el propio autor o licenciante. • No comercial. No puedes utilizar esta obra para fines comerciales. • Licenciamiento Recíproco. Si alteras, transformas o creas una obra a partir de esta obra, solo podrás distribuir la obra resultante bajo una licencia igual a ésta. • Al reutilizar o distribuir la obra, tienes que dejar bien claro los términos de la licencia de esta obra. • Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de los derechos de autor Advertencia: • Los derechos derivados de usos legítimos u otras limitaciones reconocidas por ley no se ven • afectados por lo anterior. • Esto es un resumen legible por humanos del texto legal (la licencia completa)

  4. Shell Introducción

  5. Que es el Shell? • Interprete de comandos • Aplicación que permite al usuario interactuar con el sistema • Iniciar aplicaciones • Borrar un fichero • …Matar una aplicación • Diferentes shells: sh, csh, ksh, zsh, bash

  6. Shell Ficheros

  7. Ficheros • Tira de bytes identificados por un nombre • Los programas interpretan la semántica • Tipos: • Ficheros de datos • Texto • Bases de datos • Ejecutables • Dispositivos E/S (discos, terminales) • Canales de comunicación (pipes, sockets) • Directorios

  8. Sistema Ficheros • Organización en forma de árbol

  9. Referencias a Ficheros • El identificador del fichero (path) • .  directorio de trabajo • ..  directorio padre • /  directorio raíz • Tipo de referencias: • Absoluta: desde la raíz • Relativa: desde el directorio de trabajo

  10. Shell Comandos básicos

  11. Comandos • man COMANDO • Información extensa sobre todo el sistema • Llamadas a sistema • Comandos • Librerías • Programas de usuario • whatis COMANDO • Descripción de un comando • aproposkeyword • Buscador

  12. Comandos • Directorios: • ls • mkdir <dir> • rmdir <dir> • cd <dir> • pwd • Ficheros: • cp <src> <dst> • mv <src> <dst> • rm <src>

  13. Comandos • Filtros: • cat • more • head • tail • sort • grep • Otros: • chmod • echo • clear • vi, vim, joe, emacs, nedit • logout

  14. Shell Ampliación de comandos

  15. Metacarácteres • Herramienta del Shell para designar conjuntos de ficheros • Expresiones regulares

  16. Redirección de E/S • Los procesos tienen 3 canales de e/s por defecto: • Canal 0: Entrada estándar (teclado) • Canal 1: Salida estándar (pantalla) • Canal 2: Salida error estándar (pantalla) • La redirección supone cambiar estos canales por otros ficheros • program > file • program < file • program &> file • program >> file

  17. Redirección de E/S • Redirección entre canales de procesos: PIPES • program1 | program2 • canal 0 del program2 recibe canal 1 del program1 program1 program2

  18. Shell Shellscripts

  19. Shellscript • Lenguaje de programación que usa el shell como base • Permite ejecutar todos los comandos shell • Permite usar variables • Permite usar control de flujo (bucles, condicionales) • Paso de parámetros #!/bin/bash

  20. Shellscript • Variables • Declaración y asignación de valores: • var=“valor” • var=“$var”valor • var2=10 • var2=$var2+10 • Parámetros • $# Número de parámetros • $1 Valor del parámetro 1 • $2 Valor del parámetro 2 • …

  21. Shellscript • chmodu+x script • test • test 1 –ge 2 • test 4 –ne 6 • Sin prints, con valor de retorno • expr • expr 3 + 4 • expr 3 \* 4 • Imprime • echo • ’Valor $val’ Literal • "Valor $val" Sustitución de variables • `programa $val` Ejecución y sustitución

  22. Shellscript: for forvarin lista do comando1 comando2 done

  23. Shellscript: for #!/bin/bash for variable in ord* do echo "Fichero $variable" echo "Caracteres 1: `wc -c $variable`" echo "Caracteres 2: `cat $variable | wc -c`" echo "----------------------" done

  24. Shellscript: if ifcondición1 then comandos1 [elifcondición2 then comandos2 ] [ else comandos3 ] fi

  25. Shellscript: if #!/bin/bash for variable in ord* do echo "Fichero $variable" echo "Caracteres 1: `cat $variable | wc -c`" palabras=`cat $variable | wc -c` if test `expr $palabras % 2` -eq 0 then echo "PAR" else echo "IMPAR" fi echo "----------------------" done

  26. Shellscript: while whilecondición1 do comandos1 done untilcondición2 do comandos2 done

  27. Shellscript: while #!/bin/bash var=10 while test $var -gt 0 do var=`expr $var - 1` echo "$var" done #!/bin/bash var=10 until test $var -eq 0 do #var=$var-1 var=`expr $var - 1` echo "$var" done

  28. Shellscript: case case palabrain patrón1) comandos1 ;; patrón2) comandos2 ;; ... patrónN) comandos3 ;; esac

  29. Shellscript: case #!/bin/bash case $# in 0) echo "Sin argumentos: escriba algo mas" exit ;; 1) echo "1 argumento, OK" ;; *) echo "Demasiados argumentos: solo necesita uno" exit ;; esac case $1 in dir) ls ;; cls) clear ;; *) echo "Comando no reconocido" ;; esac

More Related