Curso Linux Basico Sun

16
Documentos Aula SUN UCM CURSO DE INICIACIÓN  A LINUX 26 Mayo 2008 Autores: Sergio Velasco Alicia Martín Aula SUN UCM de Software Libre 1

description

scripts

Transcript of Curso Linux Basico Sun

Page 1: Curso Linux Basico Sun

Documentos Aula SUN UCM 

CURSO DE INICIACIÓN  A LINUX

26 Mayo 2008

Autores:

Sergio Velasco

Alicia Martín

Aula SUN UCM de Software Libre

1

Page 2: Curso Linux Basico Sun

                   ÍNDICE

  1 ­Conociendo Linux....................................................................................... 3

1.1 ­ ¿Qué es Unix?...................................................................... 4

1.2 ­ ¿Qué es GNU?..................................................................... 4

1.3 ­ ¿Qué es Linux?.................................................................... 4

1.4 ­ ¿Qué es X?.......................................................................... 4

1.5 ­ ¿Qué son las distribuciones?................................................. 4

  2 ­ Entorno gráfico.......................................................................................... 5

2.1 ­ Principales elementos del escritorio Gnome........................... 6

  3 – Directorios................................................................................................ 6

  4 ­ Tipos de usuarios....................................................................................... 9

  5 ­ Terminal de Linux...................................................................................... 9

5.1 ­ Copiar archivos.................................................................... 11

5.2 ­ Comandos relacionados con procesos.................................... 11

  6 ­ Creación de un archivo de datos.................................................................. 13

  7 ­ Montaje y desmontaje de unidades de almacenamiento................................. 14

  8 ­ Permisos de carpetas y archivos................................................................... 14

  9 ­ Instalación de programas............................................................................ 16

10 ­ Acceso remoto a las máquinas del aula......................................................... 16

2

Page 3: Curso Linux Basico Sun

               CURSO INICIACIÓN A LINUX

AULA SUN UCM

Este curso esta basado en los cursos de iniciacion a Linux que se imparten periodicamente en   el   Aula   Sun.Son   cursos   introductorios,basicos,orientados   a   personas   que   no   hayan   tenido contacto con Linux,de tal forma que al paso de otros sistemas operativos a Linux les sea sencillo,y que puedan descubrir las ventajas de este sistema.

Las   máquinas   del   aula   trbajand   con   la   distribucion   Ubuntu,aunque   la   mayoria   de   las aplicaciones que veremos seran para usar en terminal,y los comandos no varian mucho de unas distribuciones a otras.

Esperamos que este curso,a pesar de no ser quiza tan productivo como el impartido en el propio aula,debido a su carácter  meramente practico,les sea util  para  introducirse en el  sistema operativo Linux.

       1­  Conociendo GNU/Linux

    GNU/Linux es un sistema operativo derivado de UNIX, que se distribuye en forma libre.

                      1.1­ ¿Qué es UNIX?

UNIX   es   un   sistema   operativo   multitarea,   multiusuario,   creado   en   1969   por   los investigadores Thompson y Ritchie de los Laboratorios Bell, en los Estados Unidos. Las primeras versiones fueron escritas en assembler, pero muy pronto fue re­escrito en lenguaje C.En sus primeros años,  no se  lo utilizo comercialmente,  sino que se  lo usaba para proyectos de investigacion en laboratorios y se distribuia gratuitamente en las universidades, donde tuvo mucha aceptación.

En 1975, Bell decidió comercializarlo. Dado que el sistema se vendia con una licencia que permitia modificarlo y redistribuirlo, a lo largo del tiempo fueron surgiendo una gran variedad de sistemas derivados del UNIX original. Los mas conocidos, actualmente, son: Solaris, AIX, HPUX,  SCO, BSD.

Por esta razón, varias veces se hizo necesario normalizar estos sistemas, para que cumplan con   determinadas   normas   (POSIX,   UNIX95,   etc),   para   permitir   la   compatibilidad   entre   los diferentes sistemas. De estas normas, el sistema operativo GNU/Linux satisface la norma POSIX­1, y casi completamente la POSIX­2.

3

Page 4: Curso Linux Basico Sun

1.2­ ¿Qué es GNU?

    La sigla GNU significa GNU is Not Unix.

En 1984, Richard Stallman fundo el Proyecto GNU con el objetivo de conseguir un sistema operativo libre y abierto. Esto es, un sistema operativo tal que los usuarios puedan usarlo, leer el codigo fuente, modificarlo, y redistribuirlo.

A partir de ese momento, un gran numero de colaboradores se fueron sumando al proyecto,  desarrollando software libre para reemplazar cada una de las herramientas del sistema UNIX.

La filosofía GNU apoya el crecimiento de la sociedad como un conjunto, haciendo especial hincapie en la valoracion de las libertades personales, aun cuando esto puede estar en conflicto con intereses empresariales.

1.3­ ¿Qué es Linux?

En 1991, Linus Torvalds completo el sistema con su kernel (que es la aplicacion encargada de comunicar los procesos con el hardware de la computadora). A este kernel lo bautizo Linux.De esta manera, se formó el sistema GNU/Linux.

   1.4­ ¿Qué es X?

        El   sistema   operativo   GNU/Linux   cuenta   con   una   interfaz   grafica,   llamada   XFree86   o simplemente X.

El protocolo X fue desarrollado por el MIT, principalmente como un logro academico para proporcionar un entorno grafico a UNIX. La licencia mediante la cual se distribuye permite usarlo, modificarlo, redistribuirlo e incluso relicenciarlo.

1.5­ Que son las distribuciones?

El codigo fuente del sistema GNU y del kernel Linux esta accesible a todo el mundo, sin  embargo,hacer   funcionar  un   sistema a  partir  del   codigo   fuente   es  bastante  dificil.  Por   eso,  un sistema operativo se distribuye (normalmente) en formato binario, es decir ya compilado.

Poco   despues   de   que   apareciera   el   kernel   Linux,   comenzaron   a   aparecer   las   primeras distribuciones, que agrupaban versiones probadas de varios programas, junto con el kernel, de tal manera que formaban un sistema operativo listo para usar.

A   medida   que   fue   pasando   el   tiempo,   algunas   distribuciones   se   fueron   haciendo   mas sofisticadas,otras desaparecieron, otras se hicieron comerciales y aparecieron mucha mas. Existen  distribuciones de muchos tipos: distribuciones que ocupan 1 diskette y distribuciones que llegan a ocupar   10  Cds;   distribuciones  orientadas   a   una   finalidad   en   especial   (redes,   seguridad,   etc)   y distribuciones de uso general.

4

Page 5: Curso Linux Basico Sun

    Cada usuario de GNU/Linux suele elegir la distribucion con la que se siente mas comodo, y notiene sentido entrar en discusiones acerca de cual es mejor.                                             A menos que aclaremos lo contrario, lo que se enseña en este curso es aplicable a la gran mayoríade los sistemas UNIX, y a cualquiera de las distribuciones de GNU/Linux.

2­ Entorno gráfico

La distribucion  Ubuntu  de  Linux  dispone  de  dos  entornos  gráficos,  Kde   y  Gnome.Las máquinas del aula tienen predeterminado el uso de Gnome,pero podemos seleccionar al loguearnos que sesión es la que queremos iniciar.Ambos entornos permiten hacer mas fácil y atractivo el uso de Linux, a pesar de que todo lo que podamos  hacer   dentro  de   la   interfaz  gráfica,   lo   podemos  hacer   igualmente   en  modo   terminal utilizando los comandos adecuados.

Entorno gráfico gnome.

2.1­ Principales elementos del entorno Gnome

Al iniciar nuestra sesión en su entorno Gnome observaremos una pantalla como la de 

5

Page 6: Curso Linux Basico Sun

la imagen anterior.En ella podemos diferenciar varios elementos:

Escritorio: ocupa toda la pantalla y sobre el se situan otros objetos.Iconos: representan objetos accesibles,carpetas,archivos...Paneles: cada una de las barras que encontramos en la parte superior e inferior 

de la pantalla,y que facilitan el trabajo con el entorno. A su vez constan de otros elementos:Menú Aplicaciones: Desde este menú se pueden iniciar la mayoria de 

aplicaciones disponibles.Menú Lugares:encontramos los directorios de uso mas comun,asi como 

un buscador de archivos y un menú de acceso de documentos recientes.Menú   Sistema:   contiene   una   serie   de   elementos   que   permiten   la 

configuracion  del   sistema,como puede   ser   la   apariencia  del   sistema,la   resolución  de   la pantalla, la configuración de la red....

3­ Directorios

Toda máquina dispondrá de un directorio raiz unico.Además tendremos los siguientes:

/home Aquí   se   guardan   los   archivos   de   los   usuarios.   La   accesibilidad   a   este directorio  es  configurable.  Si  se  instala  alguna aplicación en un usuario en concreto,  solo será accesible para ese usuario, salvo que éste de permisos de ejecución al resto.

/media Almacenamiento externo al disco duro

/mnt Aquí aparecen las unidades de CD o USB que hayamos montado en nuestro equipo. Siempre que queramos extraer una unidad habrá que desmontarla primero.

6

Page 7: Curso Linux Basico Sun

/bin En este directorio se almacenan los binarios de la máquina, esto es, los comandos más básicos

/boot Este directorio corresponde al sistema operativoGestores   de   arranque:  Estos   gestores   sirven   para   seleccionar   que 

sistema operativo queremos que arranque en la máquina si es que tenemos varios instalados. Existen dos gestores: Lillo y Grub. En las máquinas del aula el gestor existente es Grub, y esta almacenado en el directorio   /boot/grub/menú

/dev Aquí es donde figuran los drivers y discos duros del sistema. Los archivos que se encuentran en este directorio estan relacionados con periféricos de la máquina,  por ejemplo: /dev/fd0 es el archivo que representa la primera disketera, /dev/hda representa al primer disco rıgido IDE,  /dev/hda1  representa la primera particion del primer disco rígido IDE,   /dev/tty  representa la consola actual que se esta usando. Asi: echo hola > /dev/tty nos mostrara la misma salida que un simple echo hola.

Estas identificaciones corresponden al sistema de archivos utilizado por las distribuciones de GNU/Linux. En otros sistemas UNIX (como BSD, Solaris, etc) las identificaciones seran distintas, pero  las podremos encontrar en el mismo directorio /dev.

Un dispositivo curioso es /dev/null. Se trata de un dispositivo que borra todo aquello que se mueva a él, como un agujero negro. Otro dispositivo interesante  es /dev/random, que nos muestra ”basura random”, es decir, cualquier tipo de caracteres generados al azar según los procesos que se esten ejecutando en la máquina y la entrada del usuario.

/etc Permanecen almacenados los archivos de computación de la máquina/etc/init.d alberga los demonios, esto es, programas que ejecuta la máquina en 

nombre   del   administrador   (por   ejemplo   en   el   arranque).   Generalmente   los   archivos   que   se encuentran en este directorio pueden ser editados solo por el administrador de la máquina, es decir el superusuario, normalmente llamado root”.

         /lib Librerías   de   Ubuntu.   Contiene   las   librerías   necesarias   para   ejecutar   los 

comandos que se encuentran en /bin y /sbin.Las librerías son rutinas que los programas utilizan frecuentemente, y pueden ser compartidas por varios programas al mismo tiempo.

 Esto se debe a que las librerías no estan incluídas dentro de los programas, para que sea sencilloreusar el codigo, y aprovechar mejor el espacio.

/usr Dispone   de   programas   para   los   usuarios.   Contiene   archivos   que   serán 

7

Page 8: Curso Linux Basico Sun

utilizados una vez que el sistema ya esta funcionando. No son imprescindibles para el funcionamiento del sistema.Por dentro se subdivide nuevamente en un arbol muy parecido al del directorio raiz.Encontramos,  ademas,  directorios   como   src   (donde   se   suelen  guardar   los   archivos  con  el   codigo   fuente  del sistema), games (que tiene juegos), X11R6 (que contiene el sistema X), share (que contiene archivos a los que pueden acceder todos los programas y todos los usuarios).

Directorio usr en nuestra máquina

/opt Opcional.Incluye programas extas a la distribucion.

Directorio opt en nuestras máquinas

4­ Tipos de usuarios

Existen dos tipos de usuarios:

Usuario normal: estan alojados en  /home. No permiten hacer ningun tipo de modificacion en la máquina.

Superusuario: root

8

Page 9: Curso Linux Basico Sun

Si desde un usuario normal quisieramos hacer alguna tarea administrativa que solo el root puede hacer, podríamos utilizar el comando sudo “orden”,de tal modo que la máquina entenderá  que  es  el   root  el  que  esta  haciendo   la   tarea.  Al  utilizar  sudo  siempre  nos  pedirá   la contraseña de root,asi que en caso de no tenerla, tampoco servirá de nada este comando.

5­ Terminal de Linux

Para abrir una terminal buscaremos el  menú  Aplicaciones,  seleccionaremos  Accesorios  y buscaremos entre las opciones Terminal.

El promt de cada terminal es distinto. Nosotros utilizaremos la terminal bash, aunque existen otras como csh o ksh

Características de la terminal bash:

Permite completar palabras con el tabuladorPermite el cambio de usuario mediante el comando su nombreusuario,y tras pedirnos 

la contraseñaMuestra en distinto color las carpetas (azul) y los archivos (negro).

Ejemplo de terminal bash

Comandos básicos de la terminal bash

~  /home/usuario

pwd Nos dice el directorio en el que nos encontramos

ls Hace un listado de los archivos que tengamos en el directorio

ls­t  Lista   cronologicamente   los   archivos   del   directorio,   desde   los   más 

recientes a los mas antiguos

9

Page 10: Curso Linux Basico Sun

ls ­a Muestra todos los archivos,incluyendo los ocultos

ls ­l Muestra información adicional sobre los archivos, como pueden ser el 

usuario o grupo al que pertenecesn, los permisos....

man Manual (hay que especificar seccion y pagina que deseamos ver)

date Ejecutando este comando obtendremos la fecha y hora actual

who Permite ver los usuarios que estan utilizando el sistema incluyendo la fecha y 

hora de conexión

who am i muestra informacion solo de nuestra conexión

uptime Permite  ver   cuanto   tiempo hace  que   se  ha   iniciado  el   sistema en  nuestra 

máquina

echo Comando sencillo que se encarga de repetir todo lo que recibe por linea de 

comandos.

cd .. Reotrocedemos al directorio anterior

mkdir Crea una carpeta dentro de un directorio

rm Borra   archivos   (para   borrar   carpetas  rm   ­r).Estos   archivos   seran irrecuperables

help  Seguido de un comando nos dará información sobre él y sobre la sintaxis de uso

clear Limpia la terminal

10

Page 11: Curso Linux Basico Sun

Ejemplo de aplicación de algunos comandos en terminal

   5.1­ Copiar archivos:

   El comando cp es el que se utiliza para copiar archivos.Si escribimos cp viejo nuevo, copiaremos el archivo viejo con el nombre nuevo. Es decir, el 

archivo origen se escribe primero y a continuacion el archivo que se va a crear. Una vez hecha la  copia, tendremos dos archivos diferentes, con el mismo contenido.

Por otro lado, tambien podemos ejecutar cp archivo1 archivo2 directorio, de forma que los archivos archivo1 y archivo2 se copiarán dentro de directorio.

5.2­ Comandos relacionados con procesos:

top Nos muestra algunos de los procesos que estan ejecutandose, ordenados por el tiempo de procesador de la computadora que consumen.

11

Page 12: Curso Linux Basico Sun

ps Nos muestra la lista de procesos que se estan ejecutando en la computadoraps ax muestra   los  procesos   tanto  de  nuestro  usuario   como   los   del   resto, 

incluidos aquellos que no tienen usuario

Crtl z Sirve para suspender una tarea en ejecución.

Ctrl c Sirve para detener una aplicación que se esta ejecutando en foreground

kill Sirve para interrumpir la ejecución de un determinado proceso. El comando envía una señal al proceso por la que normalmente se cierra. Su sintaxis sera:

kill PID proceso

6­ Creación de un archivo de datos.

12

Page 13: Curso Linux Basico Sun

Para crear y guardar un archivo de datos necesitamos abrir una aplicación que nos permita realizar lo deseado. Existe un editor de textos sencillo del entorno Gnome, conocido como gedit. Llamaremos al programa a traves de la terminal

Se abrirá entonces una ventana como la siguiente:

Podremos empezar a escribir en la posición del cursor. Una vez introducido, en el menú archivo, seleccionaremos la opción Guardar como,y daremos un nombre y una ubicación a nuestro documento.

7­ Montaje y desmontaje de unidades de almacenamiento.

13

Page 14: Curso Linux Basico Sun

En Linux existe un único sistema de ficheros, a diferencia de en Windows, donde existe un sistema de ficheros por cada unidad de almacenamiento. Asi, para poder acceder a los contenidos de un sistema de ficheros de una unidad o dispositivo, es necesario montarlo en el sistema de ficheros de Linux. Y una vez que hayamos terminado de trabajar con el dispositivo será necesario desmontarlo para poder sacarlo fisicamente del ordenador.

El dispositivo más utilizado es el pen­drive o memoria USB. Para montar una memoria de este tipo será suficiente con que insertemos la memoria en uno de los puertos y hagamos click en el icono que aparece en el escritorio.Se abrirá entonces un navegador de archivos que nos mostrará el contenido del dispositivo. Hemos de recordar desmontarlo antes de extraerlo puesto que si no lo hacemos, tendremos problemas al trabajar con el dispositivo en otro sistema operativo.

8­ Permisos de carpetas y archivos:

Si en una terminal ejecutamos el comando  ls ­l  dentro de un directorio, nos mostrará un listado de todos los archivos y carpetas contenidos en él, indicandonos además, al comienzo de la línea, que tipo de permisos tienen estos archivos.

14

Page 15: Curso Linux Basico Sun

Veamos que significan exactamente estos simbolos:

Los tres primeros caracteres se refieren a los permisos que tenga el dueño del archivo sobre el   (r:   lectura,  w:  escritura,  x:  ejecucion).El   segundo  grupo  de   tres   caracteres   se   refieren  a   los permisos que tiene el grupo sobre el archivo, y los últimos tres, a los permisos que tienen el resto de usuarios no pertenecientes al grupo sobre el archivo.

Para cambiar los permisos a los archivos se utiliza el comando chmod (chmod ­R si es una carpeta) con la siguiente estructura:

chmod XXXdonde X es un número que indicará el tipo de permisos que queremos dar, tal y como se ve en la viñeta. El primer número corresponderá a los permisos que otorguemos al dueño, el segundo al grupo y el tercero, al resto de usuarios.

7 Si queremos otrgar todos los permisos5 Si queremos dar permisos de lectura y ejecución pero no de escrritura4 Si queremos dar permiso sólo de lectura.

9­ Instalación de programas

15

Page 16: Curso Linux Basico Sun

Se pueden instalar programas de dos modos:Desde   los   repositorios:   podremos   obtener   software   específico   para   nuestra 

distribuciónPor descarga: requerirán una compilación y una posterior instalación

En modo gráfico, la instalación de programas se puede hacer desde el menú Aplicaciones, seleccionando Añadir y quitar.

10­ Acceso remoto a las máquinas del aula

El   acceso   remoto   a   las   máquinas   se   puede   realizar   mediante   el   protoclo  ssh  (lo   que equivaldria al protocolo telnet en Windows)

Un ejemplo de la forma de utilizar el protocolo seria:

ssh [email protected]

donde X sera un numero desde 1 hasta 9.

De   esta   forma   accederemos   a   una   terminal   de   la   máquina   en   cuestión,   desde   la   que podremos llamar programas o ver los archivos que tengamos en esa máquina.

16