Вы находитесь на странице: 1из 7

ADMINISTRACION LINUX

INET

Profesorado de Informtica

3B - 2013

ACOSTA, Fabin

BARBOZA, Ninel

TORTEROLO, Mary

1.- SHELL Y SCRIPT SHELL


DEFINICION El Shell es un programa que funciona como interfaz entre el usuario y el ncleo del Sistema Operativo (Kernel). Es una especie de caparazn que permite al usuario interactuar con el Kernel, interpretando los comandos que el usuario ingresa para solicitar al Kernell que los ejecute. inu! posee una interfaz gr"fica y una de consola (l#nea de comandos) En la l#nea de comandos$ el Shell analiza la l#nea de comandos y traduce su contenido para comunicarse con el Kernel. %am&i'n pueden agruparse comandos en scripts. os scripts son arc(ivos que ejecutan un conjunto de comandos )ermiten automatizar tareas, dado que es posi&le programar funciones complejas, por lo que se puede decir que podemos utilizar el Shell como un lenguaje de programacin. a programacin en Shell es *interpretada+, no compilada, lo que reduce el desempe,o del sistema- pero la ventaja es la facilidad de creacin y mantenimiento. HISTORIA El primer Shell fue programado por Steven .ourne (llamada por este motivo .ourne/Shell). Segn las versiones se le llama sh o bsh. Es una Shell muy limitada, y usa una sint"!is de comandos usada en los primeros sistemas 0123. 4ronolgicamente, la siguiente Shell fue la c-Shell o csh, desarrollada por el 0123 .S5 de .er6eley. 7 cmo su nom&re indica, usa comandos muy
I

ADMINISTRACION LINUX

INET

Profesorado de Informtica

3B - 2013

ACOSTA, Fabin

BARBOZA, Ninel

TORTEROLO, Mary

parecidos al lenguaje de programacin 4. %am&i'n e!iste una Shell llamada tcsh, que es una especie de c-Shell mejorada, que no suele venir incluida en las instalaciones est"ndar. En 89:;, 5avid <orn en los la&oratorios =%>% program la 6orn/ Shell (ksh) que naci de juntar lo mejor de la &ourne Shell y la c/Shell. En la mayor#a de los sistemas inu!, viene por defecto la Shell bash (.ourne/ =gain/Shell, en referencia al inventor de la primera Shell). Esta Shell posee toda la funcionalidad del sh con caracter#sticas avanzadas de c-Shell, por eso cualquier script escrito para una Shell sh correr" perfectamente. a Shell bash fu' programada por desarrolladores del proyecto ?10 y es de las m"s populares. GENERALIDADES os Shells utilizados en inu! no pertenecen e!clusivamente al sistema operativo inu!. Est"n disponi&les li&remente y pueden ser compilados en cualquier sistema 0ni!. 4uando instalamos ?10. inu!, tendremos acceso a los Shells y (erramientas de

@ientras que AindoBs tiene un Shell nico$ 5OS, una caracter#stica interesante de inu!, es que los Shells son completamente independientes. Se diferencian entre s#, &"sicamente, en la sinta!is de sus rdenes y en la interaccin con el usuario. 4uando .as( ejecuta un script s(ell, crea un proceso (ijo que ejecuta otro .as(, el cual lee las l#neas del arc(ivo (una l#nea por vez), las interpreta y ejecuta como si vinieran de teclado. El proceso .as( padre espera mientras el .as( (ijo ejecuta el script (asta el final, cuando el control vuelve al proceso padre, el cual escri&e el prompt nuevamente. OPERACION BASICA El usuario puede elegir el Shell que desea utilizar. )or defecto, cada usuario tiene asignado un Shell, esta&lecido en el momento de creacin de su cuenta, y que se guarda en /etc/passwd. El Shell asignado a un usuario se puede cam&iar de dos maneras$ por el administrador del sistema editando manualmente el fic(ero de configuracin, o &ien con el programa chsh (que lo puede ejecutar el propio usuario).

2.- SHELL BASH (0.01%0 8C.DE con ?1O@E)


=cceso a %erminal$
II

ADMINISTRACION LINUX

INET

Profesorado de Informtica

3B - 2013

ACOSTA, Fabin

BARBOZA, Ninel

TORTEROLO, Mary

5esde 2nicio (&otn 5as(

, accesi&le con la tecla AindoBs, o con un clic, (a&ajo en el

arri&a a la izquierda), clic en &otn =plicaciones 2nstaladas centro), &uscamos entre los iconos %erminal.

O en el cuadro *Buscar aplicaciones, escri&imos terminal (con solo escri&ir la *t+ de&er#a alcanzar)

)ara a&rir la consola desde el teclado CTRL+ALT+T 0na vez a&ierta la consola, aparece en la &arra de lanzadores un *acceso directo+ si cerramos la consola el &otn desaparece. )ara mantener el &otn en la &arra, damos clic derec(o so&re 'l y elegimos *@antener en el lanzador+ o * oc6 to launc(er+ si tenemos el 0&untu en englis(. Si el &otn ya est" anclado aparecer" la opcin de quitarlo. En la pantalla del terminal aparece un *prompt+ que nos da$ !"b#e$s$a#%!& !"b#e"a'$% a(-) y despu's el cursor para ingresar datos. Si queremos sa&er que versin de inu! tenemos$ cat /etc/%ss$e* et )ara ver que Shell tienes instalado en tu distri&ucin ?10F inu! &asta que desde la l#nea de comandos de la consola ingreses el siguiente comando$ cat /etc/shells (esto depende de tu distri&ucin, s(ells puede ser con mayscula, sin la *s+ final, etc.), de&er"s o&tener algo similar a$ /b% /csh /b% /sh /b% /bash /b% /#bash /b% /dash 5onde F&in es el directorio donde est"n las S(ell y lo que sigue es el nom&re del arc(ivo que ejecuta la S(ell. )ara sa&er cu"l es el S(ell por defecto$
III

ADMINISTRACION LINUX ech! )SHELL

INET

Profesorado de Informtica

3B - 2013

ACOSTA, Fabin

BARBOZA, Ninel

TORTEROLO, Mary

Esto est" configurado en la ltima l#nea del arc(ivo FetcFpassBd, que podemos ver ejecutando cat /etc/passwd Entonces$ los Shells est"n en el directorio F&in. )or ejemplo, para (acer que el Shell por defecto sea F&inF&as( se ejecutar#a$ chsh -s /b% /bash si ejecutamos nicamente el comando chsh nos pide el passBord del usuario conectado, luego nos muestra la S(ell por defecto actual, y nos pide a cual queremos cam&iar. Si no se desea cam&iar, simplemente se da GEnterH, sino se escri&e /b% / !"b#e del Shell* Si queremos sa&er que (ace el comando c(s( (o cualquier otro comando) usamos el comando man. 1os muestra el manual del comando "a chsh Ieamos como cam&iamos la pass al root, desde la l#nea de comandos$ El programa s$d! (del ingl's super user do) es una utilidad que permite a los usuarios ejecutar programas con los privilegios de seguridad de otro usuario (normalmente el usuario root) de manera segura. Se instala por defecto en FusrF&in. )or defecto, el usuario de&e autenticarse con su contrase,a al ejecutar sudo. 0na vez se (a autenticado el usuario, y si el arc(ivo de configuracin FetcFsudoers permite dar al usuario acceso al comando requerido, el sistema lo ejecuta. E!iste la opcin de (a&ilitar el par"metro 1O)=SSA5 con el fin de evitar introducir la contrase,a de usuario a la (ora de ejecutar el comando, cosa no recomenda&le... por razones o&vias. s$d! -s nos pide la pass actual y al ingresarla cam&ia el usuario a #!!t+ el prompt cam&ia a #!!t& !"b#e"a'$% a(-,* Si logramos esto, es que nuestro usuario est" autorizado a tra&ajar con el usuario #!!t* passwd #!!t

IV

ADMINISTRACION LINUX

INET

Profesorado de Informtica

3B - 2013

ACOSTA, Fabin

BARBOZA, Ninel

TORTEROLO, Mary

pide la nueva contrase,a del usuario #!!t., dos veces, si coinciden, nos dice que (emos logrado cam&iarla con '!ito. )ara volver a tra&ajar con nuestro usuario$ e-%t si queremos averiguar si nuestro sistema operativo esta actualizado (evidentemente que para esto (ay que estar conectado a internet) s$d! apt-.et $pdate =l dar enter lee y muestra los paquetes que pueden actualizarse. Si presionamos la tecla de flec(a arri&a en el teclado, podemos ver lo que tecleamos antes, lo que puede facilitar el ingreso de comandos.Si queremos realizar la actualizacin, cam&iamos la pala&ra update por upgrade$ s$d! apt-.et $p.#ade no lo ejecutamos porque puede demorar, aunque es &ueno aclarar que el upgrade se puede dejar corriendo mientras tra&ajamos en otra consola o desde la interface gr"fica. Esta es la forma de tra&ajar con la consola directamente, tecleando los comandos de a uno por vez.

3.- SCRIPTS
4uando se quiere automatizar una tarea lo que se (ace es generar un Script, que no es otra cosa que un arc(ivo de te!to en el que se incluye un comando por l#nea y es interpretado por la S(ell como un arc(ivo ejecuta&le. )ara escri&ir estos arc(ivos se utiliza algn editor de te!to como podr#a ser el .ed%t (lo que en AindoBs ser#a el 1ote)ad). 5esde el prompt de la %erminal, escri&imos gedit, la aplicacin se ejecuta y a&re una pantalla independiente que nos permite crear y guardar nuestro script. Escri&imos el primer script$
#!/bin/bash # este es el famoso script Hola Mundo echo echo echo Hola Mundo echo echo sleep 4s Indica al SO que debe ser ejecutado con shell bash # indica que lo que sigue es comentario echo imprime en pantalla, o un rengln en blanco o el mensaje que se indique Suspende la ejecucin durante 4

?uardamos el scipt, como (ola@undo.s(. Iamos a la carpeta personal, (acemos clic con el &otn derec(o so&re el arc(ivo y vamos a )ropiedades. En la pesta,a permisos o&servamos la casilla *)ermitir ejecutar el arc(ivo como un programa+.
V

ADMINISTRACION LINUX

INET

Profesorado de Informtica

3B - 2013

ACOSTA, Fabin

BARBOZA, Ninel

TORTEROLO, Mary

Si est" marcada, el arc(ivo ser" ejecutado cuando se d' do&le clic so&re 'l, si no est" marcada, el arc(ivo se a&rir" en gedit cuando se d' do&le clic so&re 'l. Esta propiedad tam&i'n se puede manejar desde la consola, para agregar el permiso de ejecucin ch"!d /- H!la0$ d!*sh para sacar el permiso de ejecucin$ ch"!d -- H!la0$ d!*sh )ara ejecutar el script desde la consola (este comando siempre lo ejecuta sin importar el permiso)$ sh H!la0$ d!*sh Variables Se pueden usar varia&les pero no e!isten tipos de datos. 0na varia&le de &as( puede contener un nmero, un car"cter o una cadena de caracteres- no se necesita declarar una varia&le, ya que se crear" con slo asignarle un valor. %am&i'n se puede declarar con declare y despu's asignarle un valor.

#!/bin/bash a=Hola a todos. echo $a declare b echo $b b=Como estn echo $B

Indica al SO que debe ser ejecutado con shell bash Crea la variable a y le asigna un valor imprime en pantalla el valor de a Crea la variable b imprime en pantalla el valor de b signa un valor a b imprime en pantalla el valor de B

VI

ADMINISTRACION LINUX
echo $a $b

INET

Profesorado de Informtica

3B - 2013

ACOSTA, Fabin

BARBOZA, Ninel

TORTEROLO, Mary

Imprime en pantalla el valor de a y b

Crear un ar hi!" "#$ri#i%"& "n n"#bre !ariable'


()*bin*bash res$al%"+*h"#e*,-SER*,.%a/e +0%0#0Y1.2i$ 2i$ 3r ,res$al%" *h"#e*,-SER

a l#nea D declara la varia&le respaldo y le asigna el valor que ser" el nom&re del fic(ero a crear$ /h!"e/ !"b#e1del1$s$a#%!/2al!#1de13echa1act$al*4%p En la l#nea J, se usa el comando zip (programa compresor) con los par"metros Kr la varia&le con el nom&re del arc(ivo a crear, y cu"les son los fic(eros a comprimir. Re ibien%" $ar4#e/r"s'
( )*bin*bash e h" 5El n"#bre %el 6i her" en e7e u i8n es' ,95 e h" 5El $ri#er $ara#e/r" es' ,15 e h" 5El se:un%" $ara#e/r" es' ,25 e h" 5L"s $ara#e/r"s s"n' ,;5 e h" 5La an/i%a% %e $ara#e/r"s $asa%"s es %e ,( $ara#e/r"s5

En el script el par"metro LC es el nom&re del propio script, y luego los par"metros se numeran por el orden en que se invocan, LM (ace referencia a todos los par"metros reci&idos y LN a la cantidad de par"metros. Si el script anterior se guarda con el nom&re par"metros.s( y se invoca as#$ pa#5"et#!s*sh h!la "$ d! la salida ser"$ El nombre del fichero en ejecucin es: parametros.sh El primer parametro es: hola El segundo parametro es: mundo Los parametros son: hola mundo La cantidad de parametros pasados es de 2 parametros

VII

Вам также может понравиться