Shell
This presentation is the property of its rightful owner.
Sponsored Links
1 / 29

Shell PowerPoint PPT Presentation


  • 91 Views
  • Uploaded on
  • Presentation posted in: General

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

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Shell

Shell

ARISO 2

EscolaTècnica Superior d’Enginyeria de Telecomunicació de Barcelona

(UniversitatPolitècnica de Catalunya)


Licencia creative commons

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.


Licencia creative commons1

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)


Shell1

Shell

Introducción


Que es el shell

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


Shell2

Shell

Ficheros


Ficheros

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


Sistema ficheros

Sistema Ficheros

  • Organización en forma de árbol


Referencias a ficheros

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


Shell3

Shell

Comandos básicos


Comandos

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


Comandos1

Comandos

  • Directorios:

    • ls

    • mkdir <dir>

    • rmdir <dir>

    • cd <dir>

    • pwd

  • Ficheros:

    • cp <src> <dst>

    • mv <src> <dst>

    • rm <src>


Comandos2

Comandos

  • Filtros:

    • cat

    • more

    • head

    • tail

    • sort

    • grep

  • Otros:

    • chmod

    • echo

    • clear

    • vi, vim, joe, emacs, nedit

    • logout


Shell4

Shell

Ampliación de comandos


Metacar cteres

Metacarácteres

  • Herramienta del Shell para designar conjuntos de ficheros

  • Expresiones regulares


Redirecci n de e s

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


Redirecci n de e s1

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


Shell5

Shell

Shellscripts


Shellscript

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


Shellscript1

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

    • $1Valor del parámetro 1

    • $2Valor del parámetro 2


Shellscript2

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


Shellscript for

Shellscript: for

forvarin lista

do

comando1

comando2

done


Shellscript for1

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


Shellscript if

Shellscript: if

ifcondición1

then

comandos1

[elifcondición2

then

comandos2 ]

[ else

comandos3 ]

fi


Shellscript if1

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


Shellscript while

Shellscript: while

whilecondición1

do

comandos1

done

untilcondición2

do

comandos2

done


Shellscript while1

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


Shellscript case

Shellscript: case

case palabrain

patrón1) comandos1 ;;

patrón2) comandos2 ;;

...

patrónN) comandos3 ;;

esac


Shellscript case1

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


  • Login