• Bienvenido

    Este blog nació la madrugada entre el 10 y el 11 de Septiembre de 2007 mientras instalaba Windows y Debian en una máquina que acababa de formatear para comenzar de nuevo.
    Predendo dejar plasmada mi experiencia con todos los 'experimentos' informáticos que llevo a cabo para que cualquiera haga uso de estos conocimientos que a mi me resultan realmente enriquecedores. Colgaré noticias interesantes e iré redactando artículos sobre materias fundamentales en el mundo de la informática como UNIX o Critografía. Mucho Google y mucha Wikipedia
    Comenta lo que quieras en el articulo que mas te haya interesado, cualquier comentario es totalmente bienvenido.
    Un saludo.
    JxXx
  • RSS Mountain Weekends

    • Vietnam: diario de viaje (XIV) agosto 23, 2015
      29/05/2015 19:27 Aeropuerto de HueEstamos en el aeropuerto de Hue esperando para coger el avión que nos va a llevar a Hanoi. Estos 2 últimos días han sido... especiales, diferentes al resto del viaje. El mejor resumen es que nos han intentado timar todo el rato, casi todo el mundo y en varias ocasiones lo han conseguido. Tomándonos una cervecita (Huda) tampo […]
      Juan Sin Miedo
    • Vietnam: diario de viaje (XIII) agosto 23, 2015
      Voy a resumir muchísimo el día de hoy porque tengo muchísimas fotos y porque ya estoy muy cansado. Hemos desayunado fuerte en el hotel y hemos hecho un día de paseo exhaustivo por la zona centro de Hoi An. Lo hemos visto todo y, siento ser así de sincero, hemos acabado hasta los cojones porque todo el mundo nos ha querido vender algo. Si vienes a Hoi An prep […]
      Juan Sin Miedo
    • Vietnam: diario de viaje (XII) agosto 10, 2015
      27/05/2015 21:52Hoy os escribo desde el Vinh Hung 3 Hotel, un hotel bastante próximo a la ciudad antigua de Hoi An en el que hemos decidido dormir dos noches de capricho, tampoco es que sea excesivamente caro pues nos está costando 40$ la noche, pero dentro de lo que hemos visto estos días es bastante lujoso, dentro del edificio, en el patio central ocupándo […]
      Juan Sin Miedo
    • Vietnam: diario de viaje (XI) agosto 10, 2015
      26/05/2015 10:55Estamos en el aeropuerto de Phu Quoc, ya tenemos más o menos organizados los días que nos quedan de vieje, bueno a grandes rasgos, pero eso os lo cuento después, voy a seguir con la historia.Cuando dejé de escribir recogimos y nos montamos en la moto, siguiendo por el camino de la costa oeste hacia el norte y ya en el norte, tras pasar varios […]
      Juan Sin Miedo
    • Vietnam: diario de viaje (X) agosto 10, 2015
      25/05/2015 Entre las 12 y las 13Tras mucho tiempo en moto por media isla hemos dado con un chiringuito y escribo a pocos metros del mar tomándome una Bia Saigon muy fría. Voy a contaros lo de las inmersiones. Con Cristina y el resto de la tripulación de Flipper, una pareja de rusos y una pareja de americanos, Dave y Rachel, que viven y trabajan de profesores […]
      Juan Sin Miedo
    • Vietnam: diario de viaje (IX) agosto 9, 2015
      25/05/15 20:50Debería hacerle una foto al cuaderno para que lo vierais porque la calidad de la carretera era medio buena pero ha habido un momento en el que nos hemos salido a un camino de tierra y he tenido que dejar de escribir porque era imposible. Me he propuesto dedicarle el tiempo que haga falta hasta poner el diario al día, pero antes de continuar qui […]
      Juan Sin Miedo
    • Vietnam: diario de viaje (VIII) agosto 9, 2015
      24/05/15 08:23Como de costumbre, primero os cuento dónde ando y luego sigo contando cosas. Estamos en un autobús rumbo al sur de Phu Quoc, vamos a hacer submarinismo tres parejas y el staff de Flipper. Ayer dejé de escribir para despegar y luego no me apeteció seguir escribiendo y se me va acumulando el trabajo.Tras ver el templo de la literatura decidimos p […]
      Juan Sin Miedo
    • Vietnam: diario de viaje (VII) junio 24, 2015
      23/5/2015 11:37Ayer dejé de escribir porque ya nos íbamos y no me dio tiempo a contar nuestro día por Hanoi, me quedé en que habíamos quedado para cenar. Salimos y estaba lloviendo, pero nos estaba esperando un taxi al que no le hizo mucha gracia nuestro trayecto de poco más de un kilómetro. Nos dejó en la puerta de un bar en el que estaban Alfonso (que tamb […]
      Juan Sin Miedo
    • Vietnam: diario de viaje (VI) junio 16, 2015
      21/5/2015 8:35Estoy hecho polvo, la noche ha sido movida, ha hecho mucho calor pero el aire acondicionado no ha dejado de sonar en ningún momento. A las cinco menos algo hemos llegado a Hanoi, hemos recogido nuestras cosas, nos hemos despedido de Eric (!mierda, no tengo ni su email ni nos hemos hecho una foto con él!) y hemos salido a la estación. Yo estaba […]
      Juan Sin Miedo
    • Vietnam: diario de viaje (V) junio 13, 2015
      Me acabo de subir a una litera y no sé qué tal voy a poder escribir, ¿por dónde iba? A ver, souvenirs, mujeres albinas con gorros rojos, comida picante con arroz y palillos y niños bañándose... ah! un perro pidiendo comida con ojos tristes.  Después de comer seguimos andando y Tsum nos metió en una casa y nos contó un poco la historia de la familia y otras c […]
      Juan Sin Miedo
    • Vietnam: diario de viaje (IV) junio 10, 2015
      19/05/2015 por la mañana tempranoHoy es el cumpleaños de Ho Chi Minh, nacido en 1890, el que fue gobernante y lider de la resistencia contra los poderosos de Vietnam y Estados Unidos. El guía que está en nuestro camarote en el tren nos está contando un montón de datos histñoricos de Vietnam y de Ho Chi Minh, estudió en Rusia y luego volvió a Vietnam y unió a […]
      Juan Sin Miedo
    • Vietnam: diario de viaje (III) junio 6, 2015
      18/05/2015 12:38Imposible escribir… sigo luego en el tren… 18/05/2015 20:57 Estoy tumbado en la litera de arriba de un camarote de un tren de camino a Sapa. El otro día escribí en un autobús camino a la Bahía de Ha-Long y esta mañana he intentado escribir en el autobús de vuelta pero me ha sido imposible. La excursión a la bahía de Ha-Long ha sido espectacul […]
      Juan Sin Miedo
    • Vietnam: diario de viaje (II) junio 3, 2015
      17-05-2015 - 07:46No voy a adelantar desde donde escribo hoy, de momento solo voy a decir que no es un lugar muy cómodo para escribir porque se mueve todo.Bueno, ayer nos bajamos del avión y llovía como si lo fueran a prohibir. Justo antes de salir por la aduana del aeropuerto de Hanoi entregamos los pasaportes, los papeles con nuestros datos, las fotos y la […]
      Juan Sin Miedo
    • Vietnam: diario de viaje (I) junio 2, 2015
      Hoy comienzo a transcribir mi diario de viaje, bueno, nuestro diario de viaje porque aunque ésta vez casi todo lo he escrito yo todo lo que estos días iré publicando, lo que se cuenta en este diario, nos pertenece a los dos. Así empieza éste relato con nuestras aventuras y desventuras, esperamos que os guste y que toméis nota si alguna vez pensáis en viajar […]
      Juan Sin Miedo
    • Expedición al Matterhorn 2014 julio 16, 2014
      Durante la última semana he trascrito el relato de nuestro viaje, relato que he escrito durante las muchísimas horas de coche que supuso el retorno a casa. El relato ha gustado mucho y he recibido mensajes tando de amigos y familiares como de contactos, amigos de amigos, de Facebook, dándome, dándonos, la enhorabuena por la expedición y diciendo que les esta […]
      Juan Sin Miedo
    • Expedición al Matterhorn 2014. EPÍLOGO julio 16, 2014
      Como atestigua el medio cuaderno escrito durante lo que llevamos de vuelta a casa nos han pasado muchas cosas durante este viaje. Los tres volvemos un poco mas viejos, un poco mas sabios y un poco mas amigos. El alpinismo no es sólo llegar a la cumbre, una de las primeras lecciones que se aprenden, alpinismo es disfrutar de un viaje largo y difícil,  de la s […]
      Juan Sin Miedo
    • Expedición al Matterhorn 2014. ESCALAR SOBRE EL MEDITERRANEO julio 16, 2014
      07/07/2014"El séquito se quitó el saquito sequito."Oigo gente paseando, bicicletas también. Es muy temprano y me duele la cabeza, tengo una resaca cojonuda, creo que me pasé con los gin tonics.El lugar que habíamos elegido para dormir la noche anterior no era el mejor, desde luego, estábamos muy cerca de las casas y llamábamos bastante la atención […]
      Juan Sin Miedo
    • Expedición al Matterhorn 2014. DESTINO INCIERTO julio 16, 2014
      06/07/201406:30 - Sigue lloviendo, ¡vaya tela! Me doy la vuelta en el saco y veo que los tres acabamos de abrir los ojos, nos hemos despertado a la vez. Miramos fuera... ¡Joder, sigue lloviendo! "Casi mejor seguir durmiendo" - Pensé. Ninguno dijimos nada pero los tres pensamos lo mismo... Y a las 10 de la mañana dejó de llover y empezó a salir el s […]
      Juan Sin Miedo
    • Expedición al Matterhorn 2014. LAS FIEBRES DEL MONT BLANC julio 15, 2014
      05/07/2014Amaneció lloviendo (¡jooooooooder!) pero a las 10 despejó un poco y empezamos a preparar los macutos muy tranquilamente y las 12:30 o una salimos hacia el pueblo y allí nos comimos un kebab buenísimo antes de coger el teleférico. La estación intermedia estaba nublada, había nubes justo por encima nuestro y no vimos el sol hasta quedarnos a ras de l […]
      Juan Sin Miedo
    • Expedición al Matterhorn 2014. RUMBO A CHAMONIX julio 13, 2014
      04/07/2014Desayunamos muy tranquilamente y sacamos y ordenamos todo, desmontamos la tienda y volvimos a cargar el coche (tetris mode on), pagamos el camping y cogimos carretera hacia Chamonix.En la frontera con Francia nos volvieron a parar. ¿He dicho ya que el coche de Borja es muy cantoso? Nos sacaron del coche y revolvieron todo de muy malas maneras. Nos […]
      Juan Sin Miedo
  • septiembre 2007
    L M X J V S D
        Oct »
     12
    3456789
    10111213141516
    17181920212223
    24252627282930
  • RSS Google: ciencia y tecnología

  • RSS 20 minutos de tecnología

    • Ha ocurrido un error; probablemente el feed está caído. Inténtalo de nuevo más tarde.
  • RSS HISPASEC

    • Ha ocurrido un error; probablemente el feed está caído. Inténtalo de nuevo más tarde.
  • RSS VNUNET

    • Ha ocurrido un error; probablemente el feed está caído. Inténtalo de nuevo más tarde.
  • RSS BarraPunto

Curso de Unix (III)

3. SHELLS DE UNIX

3.1 INTRODUCCION

El shell es un componente de Unix con una doble función:1.-Intérprete de Órdenes: me permite comunicar con el sistema operativo; admite las órdenes y las ejecuta. Por defecto hay varios intérpretes de órdenes para que yo elija uno de ellos: sh, bash, csh, ksh,… Cada uno de ellos tiene características especiales para una determinada situación.

2.- Lenguaje de Programación: puedo diseñar programas completos. Los Shell-Scripts son archivos de texto en los que puedo introducir comandos

3.2 GUIONES DEL SHELL O SCRIPTS

Son los programas que se realizan al utilizar el shell como lenguaje de programación.

Shell de Presentación: shell que se ejecuta automáticamente cuando iniciamos una sesión. Viene especificado en el archivo /etc/passwd. Este archivo tiene una línea por cada usuario legítimo del sistema con el siguiente formato:

login : password : UID : GID : comentario : home : sp

  • login de usuario
  • password: contraseña del usuario cifrada
  • UID: identificador de usuario. El usuario 0 suele ser el administrador
  • GID: Identificador del grupo
  • comentario: normalmente aparece el nombre real del usuario
  • home: directorio base de ese usuario de forma completa
  • sp: shell de presentación.

 

3.3 TIPOS DE SHELL

UNIX ofrece tres tipos de shell o modos de interpretación de comandos:

  • El Bourne shell es el más antiguo y tuvo gran popularidad en su lanzamiento, es el shell por defecto del UNIX.
  • El C-shell reensambla la programación en lenguaje C y por tanto es más completo que el anterior.
  • El Korn Shell es el más moderno de los tres y el más desconocido

3.4 CARACTERÍSTICAS DE C-SHELL Y K-SHELL

  • Edición en la línea de órdenes.
  • Existencia de Histórico de Órdenes.
  • Posibilidad de definir alias de comandos (otro nombre para un comando) normalmente se utiliza para cuando utilizo una orden y sus modificadores constantemente.

3.5 VARIABLES DEL sh , csh y ksh

  • HOME (~) camino absoluto del directorio particular de unusuario. Cuando inicio sesión paso automáticamente a /home/username
  • PATH muestra una lista de directorios donde se buscan las órdenes y los programas. Todos los directorios se separan con :.
  • PS1 y PS2 hacen referencia a los símbolos del sistema.
    • PS1 símbolo del sistema primario. Es aquel que se utiliza para solicitarme órdenes ( $ para el usuario y # para el administrador). Puedo cambiarle de la siguiente forma: PS1=”Introduzca Orden>”
    • PS2 símbolo del sistema secundario. Aparece cuando he introducido una orden incompleta. En condiciones normales es >.
  • LOGNAME contiene el login name del usuario.
  • TERM hace referencia al tipo de terminal utilizado
  • MAIL directorio que contiene el correo electrónico ya leído.
  • MAILFILE fichero de correo electrónico pendiente de lectura.

 

echo $VARIABLE visualizar el contenido de una variable
VARIABLE=VALOR definir una nueva variable, o redefinir una ya existente ( tb las del shell)
EJ. MICARPETA= “ /home/egm21/e1122/borradores”
Mv practica-1 $MICARPETA

VARIABLES DEL csh

  • home
  • path
  • cwd (current work directroy) ruta de acceso absoluta. El resultado es el mismo de ejecutar la orden $ pwd o igual que el . .
  • prompt para cambiar el símbolo del sistema.
  • mail define la frecuencia de comprobación de llegada de e-mail así como donde se recibe ese e-mail.

Definición de Variables

Sh
$VAR=valor

csh
% set var ‘valor’

Obtención del contenido: $VAR

Visualización de todas las variables del sistema: $set

EXPORTACIÓN DE VARIABLES

Exportar una variable es hacer que el contenido de una variable está accesible a todas las aplicaciones que se ejecuten.

  • Para exportar en sh se utiliza $ export NOMBRE_VAR
  • Para exportar en csh se utiliza % setenv nombre_var

VARIABLES DE CONMUTACIÓN

Son variables que pueden estar activadas o desactivadas. Hay dos variables de conmutación:

  1. Ignoreeof: si está activada y escribo ctrl+D a nivel de shell, no se acaba la sesión.
    • Para activarla en sh y csh se utiliza set ignoreeof
    • Para desactivarla en sh y csh se utiliza unset ignoreof
  2. noclobber: si está activa impide la sobreescritura de un archivo ya existente cuando se utiliza el redireccionamiento de salida.

Estas variables suelen estar en los archivos de inicialización .profile y .login

 

3.6 DEFINICION DE ALIAS

Un alias es una cadena de texto que sustituye a una orden o a una orden con parámetros. Los alias se suelen definir en los archivos de inicialización.

  • En sh se haría: $ alias dir=’ls-lF’
  • En csh saería: $ % alias dir ls -lF
  • Para saber los alias que están definidos se utiliza la orden: $ alias
  • Para quitar algún alias se utiliza la orden: $ unalias alias
  • Para quitar todos los alias definidos se utiliza la orden: $ unalias –a

3.7 SUSTITUCIÓN DE ÓRDENES

En Unix hay dos operadores especiales: el “grave” (‘) y $(). Cualquiera de estos operadores permite la sustitución de la salida estándar de una orden dentro de la línea de órdenes.

Ejemplo que llega a todos los usuarios que estuvieran conectados con el mismo mensaje:

$ mail ‘who-q’

>Felices Vacaciones
——————–
– – – — – – — – – –
^D

Ejemplo que haría lo mismo que el ejemplo anterior:

$ mail $(who-q)
>Felices Vacaciones
^D

3.8 MODOS DE EJECUCIÓN

Existen dos modos de ejecución

1.- MODO PRIMER PLANO O PRINCIPAL (FOREGROUND)

Cuando ejecuto en este plano tengo que esperar a que ejecute una orden para ejecutar otra. Cuando ejecuto una orden se crea un proceso par ejecutarla dependiente del shell.

2.- MODO SEGUNDO PLANO O SUBORDINADO (BACKGROUND)

Cuando ejecuto en este plano no hace falta que espere a que termine de ejecutarse la orden, sino que puedo ejecutar otra inmediatamente. Cuando ejecuto una orden se cre un proceso independiente del shell.

El código que ejecuta el Sistema Operativo en cada modo es el siguiente:

PRIMER PLANO:

if (fork( )!=0 {

// shel principal

wait(estado)

}

else {

//orden hija

exec(“/bin/ls”)

}

SEGUNDO PLANO:

if (fork( )==0) {

//orden hija

exec(“/bin/find”,”/-name”)

}

Las funciones que se utilizan en este código son:

  • fork: permite crear un nuevo proceso a partir del proceso actual
  • exec: permite ejecutar una orden o programa dentro de ese nuevo proceso

 

3.9 CONTROL DE TRABAJOS

Los shell que permiten el control de trabajos son:

csh ksh

BSD SYSTEM V csh

ksh jsh

3.10 ÓRDENES

La mayoría necesitan parámetros y operan con procesos que se pueden identificar mediante el PID o mediante procesos relativos a mi.

Comando/Sintaxis Descripción Ejemplos
cat fich1 […fichN] Concatena y muestra un archivo cat /etc/passwd

o varios archivos cat dict1 dict2 dict
cd [dir] Cambia de directorio cd /tmp
chmod permisos fich Cambia los permisos de un archivo chmod +x miscript
chown usuario:grupo fich Cambia el dueño un archivo chown nobody miscript
cp fich1…fichN dir Copia archivos cp foo foo.backup
diff [-e]arch1 arch2 Encuentra diferencia entre archivos diff foo.c newfoo.c
du [-sabr] fich Reporta el tamaño del directorio du -s /home/
file arch Muestra el tipo de un archivo file arc_desconocido
find dir test acción Encuentra archivos. find . -name “.bak” -print
grep [-cilnv] expr archivos Busca patrones en archivos grep mike /etc/passwd
head -count fich Muestra el inicio de un archivo head prog1.c
mkdir dir Crea un directorio. mkdir temp
mv fich1 …fichN dir Mueve un archivo(s) a un directorio mv a.out prog1
mv fich1 fich2 Renombra un archivo. mv .c prog_dir
less / more fich(s) Visualiza página a página un archivo. more muy_largo.c

less acepta comandos vi. less muy_largo.c
ln [-s] fich acceso Crea un acceso directo a un archivo ln -s /users/mike/.profile .
ls Lista el contenido del directorio ls -l /usr/bin
pwd Muestra la ruta del directorio actual pwd
rm fich Borra un fichero. rm foo.c
rm -r dir Borra un todo un directorio rm -rf prog_dir
rmdir dir Borra un directorio vacío rmdir prog_dir
tail -count fich Muestra el final de un archivo tail prog1.c
vi fich Edita un archivo. vi .profile

 

3.11 MODO SUBORDINADO

  1. FILTROS (CANALIZACIÓN)

$ orden1|orden2|orden3&

el segundo plano funciona para todas las órdenes individuales

  1. REDIRECCIONAMIENTO DE E/S

Toda orden tiene tres canales de E/S: stdin(entrada), stdout y stderr (salida). Cuando utilizamos una orden en segundo plano, se desactiva la entrada estándar del teclado (stdin). Si esa orden emite información por el canal de salida (stdout, stderr) puede seguir saliendo, es decir, no se desactiva la pantalla y sale mezclado con lo del primer plano. Para que esto no ocurra, redirecciono la salida:

  • stdout lo redirecciono a un archivo mediante >
  • stderr lo redirecciono a un archivo mediante 2>

Ejemplo:

$ orden>m1 2>/dev/null&

nohup orden &

    Es una orden que me permite la ejecución de órdenes en segundo plano sin que se vean afectadas por el cierre de sesión. Toda la salida se acumula en un archivo llamado nohup.out

    ¿Dudas sugerencias o recomendaciones?

    Un saludo

    JxXx 

    2 comentarios

    1. Creo que esto está mal:

      Definición de Variables
      Sh
      $VAR=valor

      sería: VAR=valor

    Responder

    Introduce tus datos o haz clic en un icono para iniciar sesión:

    Logo de WordPress.com

    Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

    Imagen de Twitter

    Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

    Foto de Facebook

    Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

    Google+ photo

    Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

    Conectando a %s

    A %d blogueros les gusta esto: