Los sistemas operativos

¿Necesitamos un sistema operativo? ¿Por qué? Para empezar, vamos a buscar una definición de sistema operativo.

¿Cómo han llegado los sistemas operativos a ser lo que son hoy en día? Originalmente, los ordenadores no tenían un sistema operativo y los técnicos tenían que interactuar con interruptores del ordenador, para introducir manualmente los programas. No cualquiera podía hacerlo, porque además, cada ordenador era un prototipo, así que había que conocerlo a fondo.

Con el tiempo todo se fue haciendo más fácil para el usuario, de forma que no era preciso interactuar directamente con el hardware (como en el ENIAC), sino que se empleaban elementos más amables para que la computadora hiciera lo que tenía que hacer. Pero tampoco era ninguna maravilla. Mira este vídeo, del IBM OS/360, que muestra a los técnicos usando el ordenador. ¿Ves algún monitor por alguna parte?

En estos grandes ordenadores, lo más importante era que fuesen rápidos y tuviesen mucha capacidad. Y no importaba que la interfaz de usuario fuese difícil de manejar, porque los técnicos eran personal altamente cualificado.

En la cuarta generación de la informática, los ordenadores entraron en las casas. Y los usuarios solamente comprarían más ordenadores si eran fáciles de usar. Así que los esfuerzos se centraron en que los sistemas operativos fuesen más fáciles de usar. Así que los sistemas operativos empezaban a ser menos rápidos, menos potentes, pero más fáciles de usar.

Conforme los sistemas operativos de usuario fueron haciéndose más amigables, se fue buscando también mejorar el rendimiento, para por ejemplo abrir más de un programa a la vez. En el caso de Microsoft, esto no llegó hasta Windows 95.

Generaciones de computadoras y sistemas operativos

Los sistemas operativos están íntimamente asociados al hardware de los ordenadores a los que van destinados. Conforme ha ido avanzando el hardware, los sistemas operativos se han ido haciendo más y más potentes. Podemos distinguir 5 generaciones de ordenadores.

Primera generación (1951-1958)

Existe controversia sobre la fecha de inicio de la primera generación de ordenadores. Algunos autores consideran que comenzaron en la década de los 40. La primera generación de ordenadores se caracterizó por el uso de válvulas de vacío. Las válvulas de vacío eran voluminosas, consumían mucha electricidad, se calentaban y se fundían con facilidad. Esto provocaba que los ordenadores fueran muy voluminosos, consumieran mucha electricidad, fueran lentos y se estropearan con frecuencia. Un ejemplo de computadora de la primera generación es el ENIAC.

Válvula de vacío.
Ordenador Eniac.
Tarjeta perforada.

En los años 40, los sistemas operativos no han surgido todavía, porque los programas estaban directamente ligados al hardware. Si alguien quería ejecutar un programa, debía conocer perefectamente el funcionamiento del ordenador, y crear un programa a mano recableando los contactos.

En los años 50, las tarjetas perforadas ya estaban presentes en las computadoras comerciales. En dicha década surge el sistema Batch (o ejecución por lotes). Es la forma más rudimentaria de sistema operativo, y consiste en ejecutar en orden una serie de programas, uno detrás de otro, y generando resultados para cada uno de ellos. El sistema operativo únicamente se encargaba de cargar el siguiente programa cuando el anterior terminaba.

Actividad 1. Busca información sobre un ordenador de la primera generación (no vale el ENIAC). Debes indicar características como:

  • Nombre
  • Fecha en la que estuvo operativa
  • Características generales de su hardware.
  • Potencia de cómputo

Entrega el documento con el nombre Act1_generaciones.txt

Segunda generación (1958-1964)

En esta generación se inventaron los transistores. Los transistores realizaban la misma tarea que las válvulas de vacío pero con varias ventajas:

  • Menor tamaño
  • Menor consumo
  • Menor calor generado

Esto dio lugar a computadoras de menor tamaño y coste, y mayor velicidad dada la menor cantidad de cableado. Aparecieron muchas compañías fabricantes de ordenadores. Aunque el sistema operativo no existe como tal en esta generación, se generalizaron las tarjetas perforadas, que permitían almacenar los programas en un tarjeta al estilo de las máquinas del censo de Hermann Hollerith.

Durante la segunda generación aparecen diversas tecnologías relacionadas con los sistemas operativos que siguen vigentes en la actualidad. Algunos de estos avances fueron:

  • Multiprogramación: la memoria de la computadora almacenaba simultáneamente más de un programa a la vez. De esta forma, no era necesario ir cargando una a una las tarjetas perforadas con los diferentes programas, ya que residían en la memoria.
  • Tiempo compartido: la computadora era utilizada por más de un usuario a la vez. Para que los usuarios sintieran que tenían el ordenador para sí, la computadora dedicaba una fracción de tiempo a cada usuario, ejecutando parte de las instrucciones de su programa.
  • Tiempo real: en los sistemas de tiempo real, el tiempo de ejecución es muy importante. En estos sistemas, una respuesta lenta se clasifica como errónea, aunque el resultado sea correcto.
  • Multiprocesador: aunque en esta generación los microprocesadores no existían como tal, si que existían las unidades de procesamiento. Las técnicas multiprocesador permitían útilizar simultáneamente más de una unidad de procesamiento para ejecutar varios programas a la vez.
Ordenador Atlas de la universidad de Manchester.
Una válvula de vacío frente a un transistor de la década de los 60.

Actividad 2. Busca el nombre una computadora de la segunda generación. ¿Qué tecnología usaba?¿Válvulas de vacío o transistores? Añade algunos datos adicionales sobre dicha comptuadora, así como una fotografía de la misma.

Entrega el ejercicio con el nombre Act2_generaciones.odt.

Tercera generación de computadoras (1964-1971)

El hecho que marca el inicio de la tercera generación, es la aparición de los circuitos integrados. A grandes rasgos, un circuito integrado es una pastilla de silicio en el que se dibujan (literalmente) los transistores, en lugar de fabricarlos de manera independiente. Esto tiene varias ventajas:

  • Se reduce el tamaño de las computadoras.
  • Se reduce el coste de fabricación.
  • Aumenta la eficiencia energética de los ordenadores.

El ejemplo más característico de la tercera generación de computadoras es el IBM OS/360.

Actividad 3. Busca información sobre el IBM OS/360 en Wikipedia. Explica qué técnicas de las explicadas en la segunda generación utilizaba el OS/360. Añade al documento una fotografía de un IBM OS/360.

Entrega la actividad con el nombre Act3_generaciones.odt.

IBM OS/360.
Circuito integrado al microscopio.

Cuarta generación de computadoras (1971-1988)

El evento que da lugar a la cuarta generación es la aparición del microprocesador. El microprocesador es un circuito integrado de propósito general que permitió reducir el coste de fabricación así como incrementar la velocidad de los ordenadores. Esto permitió crear arquitecturas más complejas, que requerían de programas (a su vez más complejos) para poder manejarlas. Los sistemas operativos tal y como los conocemos hoy aparecieron en la cuarta generación. Es decir, existía un complejo programa cuya misión era hacer funcionar el hardware y ejecutar otros programas. El sistema operativo UNIX (que dio lugar a Android, Linux, MacOS, etc.), aparecio durante los 70.

Durante esta generación se gestaron muchos de los sistemas operativos de los que disfrutamos hoy en día, como Windows, GNU/Linux o MacOS.

Microprocesador Intel Core i7.
Cuarta generación.

En este tipo de ordenadores se forjaron las bases de los sistemas operativos modernos. El usuario no necesita conocer el hardware del ordenador a la perfección, sino solo necesita conocer el lenguaje de control del ordenador. Algunas características de estos sistemas operativos eran:

  • El sistema operativo estaba permanentemente cargado en memoria, lo que daba lugar a sistemas costosos por su memorias de mayor tamaño.
  • Mayores capacidades de memoria daban lugar a mayor consumo eléctrico.
  • El microprocesador dedicaba gran parte de su tiempo a ejecutar instrucciones del sistema operativo, en lugar de ejecutar programas de usuario.
  • Se mejoraron las técnicas de tiempo compartido y multiprogramación.

Actividad 4. Enumera las características que tenían los primeros sistemas operativos modernos.

Entrega la actividad con el nombre Act4_generaciones.odt.

Actividad 5. Busca información sobre el sistema operativo Multics. ¿Qué tuvo Multics que lo hizo tan especial?¿A qué otro importante sistema operativo dio lugar Multics?

Entrega la actividad con el nombre Act5_generaciones.odt.

En esta época también surgieron sistemas operativos para ordenadores personales, como MS-DOS, Macintosh, AmigaOS o OS/2.

Actividad 6. En los años 80 apareció un sistema operativo llamado MS-DOS, fabricado por la empresa Microsoft. Consulta la siguiente página sobre como utilizar MS-DOS en Windows. Abre una ventana de MS-DOS y ejecuta el comando DIR. ¿Qué hace dicho comando?

Toma una captura donde se pueda ver una ventana de MS-DOS con el comando DIR ejecutado. Guarda la imagen con el nombre Act6_generaciones.png. Explica para qué sirve dicho comando en un archivo llamado Act6_generaciones.txt.

Actividad 6 (opción 2). El sistema operativo UNIX (que deriva de Multics) inicialmente no tenía entorno gráfico, ya que era un sistema operativo en modo texto. En la actualidad, los sistemas operativos herederos de UNIX (como por ejemplo GNU/Linux o Android) conservan la terminal de texto como parte de su funcionamiento. En Guadalinex, la terminal se puede abrir en el siguiente menú: Inicio->Herramientas del sistema->LXTerminal. En una terminal se pueden ejecutar programas en forma de comandos.

Abre una terminal en Guadalinex y ejecuta el comando ls. Dicho comando permite ver el listado de archivos y carpetas que hay en la carpeta en la que estamos.

Toma una captura llamada Act6_generaciones.png donde se pueda ver la ejecución del comando ls

Quinta generación de computadoras (1988-?)

La quinta generación de ordenadores esta ligada a un aumento exponencial en la potencia de los ordenadores así como la evolución de las redes de comunicaciones. Estas dos cuestiones combinadas han ido potenciando la computación distribuída que se ha traducido en "la nube".

Los dispositivos de diversifican y toman diferentes aspectos diferentes al de ordenador convencional, y aparecen los portátiles, los teléfonos móviles, las tabletas, los smartwatches, etc.

La mayor potencia de los ordenadores permite el desarrollo de la inteligencia artificial. Durante la década de los 2010, algunos sistemas de inteligencia artificial superan el test de Turing. Como ejemplo, la inteligencia artificial está disponible en los asistentes de los sistemas operativos así como en otros sectores de la sociedad.

Eve V.
El asistente de Windows 10, Cortana.

Actividad 7. Busca información sobre el Test de Turing. Responde a las siguientes preguntas:

  • ¿En qué consiste el Test de Turing?
  • ¿Quién lo ideó?¿Por qué es famosa esta persona?
  • ¿Cuál es el objetivo del Test de Turing?

Entrega la actividad con el nombre Act7_generaciones.txt.

En la página Detective puedes probar el Test de Turing en inglés online.

El siguiente salto: la computación cuántica

El siguiente paso en la historia de la informática se está dando en este momento. Se llama "computación cuántica". En este nuevo paradigma, la unidad básica de información es "qbit", y se basa en los estados de un átomo. Es difícil de entender, ya que se basa en la física cuántica, en la que un átomo puede tener varios estados simultáneamente. Esto da al qbit una potencia de cálculo muy superior. Para hacernos una idea, un ordenador cuántico podrá romper en segundos un cifrado que podría llevar años a un ordenador convencional. En el siguiente artículo se muestra el último hito en la historia de la computación cuántica.

Computador cuántico

Concepto de sistema operativo

El sistema operativo es el software base que hace funcionar al ordenador, y poder ser usado por un usuario. Las funciones más relevantes que cumple son las siguientes:

  • Gestión de procesos: iniciar, ejecutar y cerrar un proceso. También se encarga de permitir la ejecución en paralelo de más de uno, creando la ilusión de que se ejecutan a la vez.
  • Gestión de la memoria: cargar en memoria los procesos en ejecución y sus datos, liberar la memoria de los procesos que han terminado y asegurarse de que no se pisan entre sí los procesos activos.
  • Gestión del almacenamiento secundario: escribe, lee, actualiza y borra datos en el dispositivo de almacenamiento secundario. Se encarga de que la escritura se realice de forma eficiente y sin errores.
  • Dispositivos de entrada/salida: lee/escribe información en los dispositivos en trada y salida.
  • Sistema de archivos: organiza los datos almacenados en almacenamiento secundario y los presenta al usuario de un modo amigable, en forma de sistema de archivos.
  • Gestión de comunicaciones: mediante protocolos de comunicaciones permite que los ordenadores se puedan conectar en red.
  • Interfaz de usuario: ofrecer al usuario una interfaz ya sea gráfica o de otro tipo para facilitar su manejo.

Actividad 1. Busca el nombre del sistema de archivos de Windows 10. Expón las principales características de dicho sistema de archivos.

Entrega la actividad en un archivo llamado Act1_so.txt

Actividad 2. Explica las diferencias entre interfaz gráfica de usuario y interfaz de comandos. Pon un ejemplo de cada una. Obtén una captura donde se pueda ver una interfaz gráfica de usuario y donde se pueda ver una interfaz de comandos.

Entrega una imagen llamada Act2-1_so.png donde se pueda ver una interfaz gráfica de usuario. Entrega una segunda imagen llamada Act2-2_so.png donde se pueda ver una interfaz de comandos.

Actividad 3. Investiga qué función cumple el proceso que más veces aparece en la parte superior cuando ejecutas el comando top.

Toma una captura llamada Act3_so.png, donde se pueda ver cómo ejecutas el comando top. También entrega un archivo llamado Act3_so.txt donde expliques qué función cumple dicho proceso.

UNIX y su herencia

Pienso que UNIX merece un apartado para él solito, por todas las alegrías que nos ha dado. UNIX fue desarrollado por Ken Thompson y Dennis Ritchie en los años 70.

Era un sistema operativo pensado para computadoras potentes, a las que se conectaban varios usuarios. UNIX generó toda una nueva generación de sistemas operativos, que eran modificaciones del UNIX original.

Probablemente llevas en tu bolsillo un teléfono con Android o bien llevas un iPhone. Los dos (Android e IOS) provienen indirectamente de UNIX:

  • Las versiones modernas de Mac OS se basan en BSD.
  • Android, es un sabor de GNU/Linux, que a su vez proviene de UNIX.

Antes de seguir, vamos a ver un vídeo de Richard Stallman, creador de GNU:

Cuestionario sobre Richard Stallman.

Modelos de software propietario y libre

En la actualidad hay dos modelos principales de software (en realidad hay más, aunque se derivan de estos):

Para que el software libre sea realmente libre, debe respetar las cuatro libertadas del software libre: Libertades del software libre.

Actividad 3. Haz una lista de al menos cinco programas que utilizas normalmente. Para cada uno de ellos, indica si se trata de software libre o propietario. Además, busca en Internet hasta encontrar los siguientes datos:

  • Empresa fabricante (si es que la hay) y la dirección de su página web.
  • Tipo de software, propietario o libre
  • Precio (si tiene).
  • En caso de ser software propietario, indica si cumples los términos de la licencia.

Entrega la actividad en un documento de texto llamado Act3_SO.txt. Asegúrate de que tu nombre aparece en el interior del documento.

Bash

Observa esta escena:

Cuando en el cine alguien tiene grandes conocimientos de informática, aparece frente a una línea de comandos. En concreto en GNU/Linux, se puede utilizar bash. Esta pequeña referencia nos mostrará algunos comandos que se pueden ejecutar en bash.

La terminal

Una terminal es una interfaz de texto que permite introducir comandos para realizar una o más acciones mediante comandos. Básicamente un comando es una orden que le damos a GNU/Linux para que haga algo.

El aspecto basado en fondo negro y letras verdes que presentan las terminales en el cine, proviene de los tiempos en que los monitores de fósforo verde dominaban el mercado, incluidos juegos. Si no, comprueba lo que teníamos que aguantar cuando teníamos vuestra edad los que teníamos el iPad del momento (un Amstrad CPC464):

Abrir una terminal

Abrir una terminal en Gnome es muy fácil. Basta con hacer clic en Aplicaciones\Accesorios\Terminal

Una vez que abrimos la terminal, podemos empezar a jugar. Juguemos.

Jugar con la terminal

Una vez que abrimos la terminal, lo primero que podemos hacer es conocer algunas combinaciones de teclas. Por ejemplo, prueba las siguientes combinaciones de teclas:

Mayus+Ctrl+N

Mayus+Ctrl+T

Mayus+Ctrl+W

Mayus+Ctrl+Q

Ctrl++

Ctrl+-

Ctrl+0

F11

Mayus+Ctrl+F

Otro aspecto interesante de bash es el autocompletado de comandos. Bash autocompleta un comando o el nombre de un archivo al pulsar el tabulador. Para comprobarlo escribe en la terminal la cadena de texto cd Escr y pulsa el tabulador.

$ cd Esc (pulsamos el tabulador) $ cd Escritorio

Actividad 1 (MíN). Abre una terminal en tu escritorio. Después abre dos pestañas en ella. En la primera pestaña ejecuta el programa firefox. En la segunda pestaña ejecuta el comando ps aux | grep firefox.

Entrega una captura llamada Act1-bash.png, que muestre una terminal con dos pestañas.

¿Qué ocurre cuando cierras la primera pesataña?

Algunos comandos

Vamos a conocer algunos comandos:

LS

Ofrece un listado del contenido del directorio (carpeta) en que nos encontramos.

Para entender el comando ls vamos a explicar como es el sistema de archivos en GNU/Linux.

El sistema de archivos de GNU/Linux, al igual que el de Windows, tiene una estructura parecida a la de un árbol:

Observa la línea amarilla. ¿Dónde se encuentra el archivo del final de la línea?

La respuesta es: en la carpeta /home/usuario/Escritorio/

Ahora ejecuta los comandos que están detrás del símbolo $

$ ls $ ls . $ ls /home/usuario/ $ ls ~ $ ls /home/usuario/Documentos/ $ ls ./Documentos/ $ ls ~/Documentos/

Con los comandos anteriores quería enseñarte que:

  • El comando ls sin nada más, enseña lo que hay en la carpeta en la que estamos.
  • El símbolo . significa "aquí" (es decir, la carpeta en la que estoy ahora mismo)
  • Poner una "ruta" de una carpeta (como /home/usuario/) detrás de ls, muestra el contenido de dicha carpeta.
  • El símbolo ~ representa el "home" del usuario. Por ejemplo, si entraste como usuario, entonces el símbolo ~ representa la carpeta /home/usuario.

Vamos a hablar sobre los otros comandos. ¿Qué crees que hacen?

Actividad 2 (MíN). En la primera pestaña, crea un nuevo directorio llamado "Mi carpeta". Una vez creado, entra dentro y ejecuta el comando "pwd".

Entrega una captura llamada Act2-bash.png que muestre el resultado de ejecutar el comando pwd.

MKDIR

El comando mkdir nos permite crear carpetas. Para crear una carpeta llamada Actividades de informática deberíamos ejecutar el siguiente comando:

$ mkdir "Actividades de informatica"

El nombre de la carpeta lleva comillas porque hay espacios en blanco en el nombre. En otro caso no serían necesarias.

Actividad 3 (MÍN). Crea una carpeta llamada Actividades Bash. Después usa el comando ls para comprobar que la carpeta ha sido creada.

Toma una captura llamad Act3-bash.png donde se pueda ver el resultado de la ejecución de los comandos.

CD

Nos permite movernos de un directorio a otro. Por ejemplo, si me quiero meter en la carpeta Documentos escribo el siguiente comando:

$ cd Documentos

Si me quiero salir de la carpeta Documentos, en cambio, ejecuto el siguiente comando:

$ cd ..

Actividad 4 (MÍN). Entra dentro de la carpeta que creaste en el ejercicio anterior.

Toma una captura llamada Act4-bash.png donde se pueda ver el comando ejecutado.

PWD

Nos indica el directorio en que nos encontramos.

Cuando abres la terminal siempre estás en tu carpeta persona. Por ejemplo, si entraste como usuario tu carpeta personal es /home/usuario.

Prueba con los siguientes comandos:

$ pwd $ cd /home/ $ pwd $ cd /home/usuario/Documentos/ $ pwd $ cd /tmp $ pwd $ cd $ pwd

Lo que ha ocurrido es lo siguiente:

  • El primer comando pwd, me ha mostrado donde estoy en un principio: /home/usuario.
  • El segundo comando cd /home, nos mueve hasta la carpeta /home.
  • El tercer comando pwd, vuelve a mostrar donde estamos, ahora en /home.

Actividad 5 (MÍN). Una vez entres dentro de la carpeta que creaste en el ejercicio anterior, comprueba el lugar en que te encuentras mediante el comando pwd

Toma una captura llamada Act5-bash.png donde se pueda ver la salida del comando.

Touch

El comando touch nos permite crear archivos vacios. Por ejemplo:

$ touch archivo_vacio.txt

Actividad 6 (MÍN). Crea dos archivos vacíos, llamados "archivo1.txt" y "archivo2.txt" utilizando el comando touch.

Entrega una captura llamada Act6-bash.png que muestre los comandos ejecutados.

Actividad 7 (MÍN). Muestra el contenido de la carpeta en la que te encuentras mediante un comando (visto anteriormente), de forma que se puedan ver los archivos "archivo1.txt" y "archivo2.txt" creados anteriormente.

Entrega una captura llamada Act7-bash.png que muestre el comando ejecutado.

Hablemos sobre los restantes comandos.

CP

El comando cp permite copiar un archivo en otro lugar. Vamos a hacer lo siguiente:

$ cd $ touch probando.txt $ ls $ cp probando.txt Documentos $ ls $ ls Documentos

Con los comandos anteriores hemos hecho lo siguiente:

  • Primero, con el comando cd nos hemos situado en nuestra carpeta home.
  • Con el comando touch probando.txt hemos creado un archivo llamado probando.txt.
  • Después ejecutamos ls para comprobar que el archivo probando.txt ha sido creado y está ahí.
  • Con el comando cp probando.txt Documentos estamos copiando el archivo hasta la carpeta Documentos
  • El comando ls nos muestra que el archivo probando.txt sigue estando ahí.
  • Finalmente, el comando ls Documentos nos muestra que el archivo también está en la carpeta Documentos, gracias a la copia que hemos hecho.

Espero que haya quedado claro el comando cp.

RM

Nos permite borrar un archivo o un directorio. Si has hecho el ejemplo del comando cp, ahora tienes un archivo llamado probando.txt en tu carpeta home y en tu carpeta Documentos. Vamos a borrar el archivo que está en tu carpeta home. Para ello, sigue las siguientes instrucciones:

$ cd $ ls $ rm probando.txt $ ls $ ls Documentos

Lo que hemos hecho es lo siguiente:

  • El primer comando cd, nos lleva a nuestra carpeta home
  • El segundo comando ls, nos enseña los archivos que hay donde estamos (es decir, nuestra carpeta home), donde debe estar el archivo probando.txt
  • El tercer comando rm probando.txt borra el archivo probando.txt.
  • El cuarto comando ls nos muestra que el archivo probando.txt ya no está.
  • Finalmente, el comando ls Documentos nos muestra que el archivo probando.txt sigue estando en la carpeta Documentos.

MV

Nos permite mover un archivo de un directorio a otro. Antes hemos conocido el comando cp, que podía copiar un archivo en otro sitio. El comando mv es similar, pero borra el archivo copiado de su origen. Vamos a verlo con un ejemplo:

$ cd $ touch probando2.txt $ ls $ mv probando2.txt Documentos $ ls $ ls Documentos

Lo que hemos hecho ha sido lo siguiente:

  • El primer comando cd nos devuelve a nuestra carpeta home
  • El segundo comando touch probando2.txt crea un archivo llamado probando2.txt.
  • El tercer comando ls nos muestra el contenido de nuestra carpeta home. Allí debería estar probando2.txt
  • El cuarto comando mv probando2.txt Documentos mueve el comando probando2.txt a la carpeta Documentos.
  • El quinto comando ls nos muestra el contenido de la carpeta donde estamos (nuestra carpeta home). Podemos comprobar que el archivo probando2.txt no está.
  • El sexto comando ls Documentos nos muestra el contenido de la carpeta Documentos, donde SÍ debería estar el archivo probando2.txt.

Cualquier programa

Cualquier programa que podamos ejecutar desde el entorno gráfico, puede ser ejecutado desde la terminal. Por ejemplo, vamos a probar los siguientes comandos:

$ gnomine $ lowriter $ firefox http://www.meneame.net $ gedit

SSH

SSH permite iniciar una sesión remota desde una terminal. Si revisas el vídeo del principio podrás ver como Trinity utiliza el comanod ssh. Vamos a hacer lo siguiente:

  1. Dile al profesor que te diga la IP de su ordenador. Para obtenerla, debe ejecutar el comando ifconfig. La dirección IP aparece junto a direc. inet. Vamos a suponer que te dice que la IP es 192.168.1.211.
  2. Ahora ejecuta el siguiente comando:
  3. $ ssh usuario@192.168.1.211
  4. Ahora veremos lo siguiente:
  5. The authenticity of host '192.168.1.211 (192.168.1.211)' can't be established. ECDSA key fingerprint is 2e:80:8d:92:9d:a4:d1:65:de:c8:4f:df:af:af:89:9b. Are you sure you want to continue connecting (yes/no)?
  6. Escribimos yes y le damos a intro.
  7. Ahora veremos esto:
  8. usuario@192.168.1.211's password:
  9. Nos está preguntando la contraseña del usuario usuario. Introduce la contraseña para la cuenta usuario. No te preocupes si no ves nada al escribir la contraseña.
  10. Si todo ha ido bien, verás algo como esto:
  11. Welcome to Ubuntu 12.04.1 LTS (GNU/Linux 3.2.0-32-generic x86_64) * Documentation: https://help.ubuntu.com/ 10 packages can be updated. 0 updates are security updates. Last login: Tue Sep 11 12:45:50 2012 from 192.168.1.14 $
  12. Ahora puedes decir, con mirada fria y voz de película, Estoy dentro del sistema.

Ahora que ya estás en el ordenador que el profeso ha preparado para ti, haz la siguiente prueba. Ejecuta el comando (suponiendo que te llamas Pepe):

$ touch Escritorio/Pepe-estuvo-aquí.txt

El profesor te podrá enseñar el escritorio del sistema donde has hecho eso.

Obviamente, bash llega mucho más allá. Si la imagen de un hacker sentado ante su terminal te seduce, deberías empezar por conocer bash a fondo. Una buena fuente: Libro de Bash de la editorial O'Reilly.

Actividad 8. Sitúate en tu directorio home. Realiza las siguientes tareas:

  1. Crea una carpeta llamada actividad8.
  2. Entra dentro de la carpeta.
  3. Vuelve a crear una carpeta llamada subactividad8.
  4. Entra dentro de la carpeta.
  5. Comprueba tu ubicación mediante el comando pwd.
  6. Ejecuta el comando "touch actividad8.txt".
  7. Comprueba el contenido de la carpeta.
  8. Mueve el archivo actividad8.txt a la carpeta Documentos.
  9. Comprueba que el archivo actividad8.txt ya no está en la carpeta subactividad8.
  10. Cambia de directorio y sitúate en la carpeta Documentos.
  11. Comprueba que el archivo actividad8.txt está en la carpeta Documentos.
  12. Finalmente borra las carpetas actividad8 y subactividad8

Entrega las siguientes capturas:

  • Entrega una captura llamada Act8_1-bash.png para el apartado 5.
  • Entrega una captura llamada Act8_2-bash.png para el apartado 7.
  • Entrega una captura llamada Act8_3-bash.png para el apartado 9.
  • Entrega una captura llamada Act8_4-bash.png para el apartado 11.
  • Entrega una captura llamada Act8_5-bash.png para el apartado 12.

Scripts

Los scripts son programas escritos en un lenguaje interpretado como bash. Vamos a ver un primer ejemplo de script con el programa gedit. El archivo debe tener un nombre que termine en .sh. Por ejemplo, mi_script.sh. El contenido del script es:

#!/bin/bash firefox http://www.xataka.com gedit pcmanfm

Cambia los permisos del archivo para que se pueda ejecutar. Después, ejecútalo, escribiendo en la terminal ./mi_script.sh (suponiendo que estás en la misma carpeta donde se encuentra el script).