Actualizado el 21 de Marzo del 2018 (Publicado el 23 de Febrero del 2018)
782 visualizaciones desde el 23 de Febrero del 2018
230,4 KB
44 paginas
Creado hace 18a (04/10/2006)
Entorno Linux/Unix
© Alexis Quesada Arencibia – José Miguel Santos Espino
Francisco J. Santana Pérez
Programación de Sistemas
1
¿Qué es Linux?
Una versión gratuita de UNIX para PC
© Alexis Quesada Arencibia – José Miguel Santos Espino
Francisco J. Santana Pérez
Programación de Sistemas
2
Vale... ¿y qué es UNIX?
S.O. diseñado a principios de los años
70 en los laboratorios de AT&T
Multitarea, multiusuario
años 70-80: se le añade memoria
virtual; redes e internet; interfaces
gráficas...
estándar internacional (normas POSIX)
© Alexis Quesada Arencibia – José Miguel Santos Espino
Francisco J. Santana Pérez
Programación de Sistemas
3
Historia de UNIX
AT&T Labs crean UNIX, que al principio se llamaba MULTICS
A partir de ese UNIX, Berkeley Software Distribution crean BSD
Unix con mejoras
USL (Unix System Labs), filial de AT&T crea el Unix System V,
antes de que Novell la adquiriera en 1993, vendiéndola más
adelante con el nombre de Unix Ware. Luego Novell vende USL
a SCO (Santa Cruz Operation)
Microsoft Desarrolla Xenix, a finales de los 70, cuando
comienzan los PCs. Aparece el Intel 80386 y Microsoft y AT&T
fusionan Xenix y Unix, apareciendo el Unix System V/386 v.3.2
que funcionaba casi con cualquier hardware. Luego aparece la
v.4.0.
IBM hace un UNIX para sus equipos: el AIX
© Alexis Quesada Arencibia – José Miguel Santos Espino
Francisco J. Santana Pérez
Programación de Sistemas
4
GNU/Linux
Proyecto original: Linus Torvalds (23 años)
(Universidad de Helsinki, Finlandia)
desarrolló un núcleo UNIX para PC
Al núcleo se le añadieron aplicaciones de
sistema desarrolladas en el proyecto GNU
(compiladores, editores, GUI, etc.)
Resultado: versión gratuita de UNIX para PC,
de libre distribución y sin propietario
© Alexis Quesada Arencibia – José Miguel Santos Espino
Francisco J. Santana Pérez
Programación de Sistemas
5
Software libre
Linux se enmarca en la corriente de
software libre:
Código fuente accesible sin restricciones
Abierto a las modificaciones de cualquiera
Se puede copiar sin pagar royalties
© Alexis Quesada Arencibia – José Miguel Santos Espino
Francisco J. Santana Pérez
Programación de Sistemas
6
Características de Linux
Soporta la mayoría de software creado para UNIX
Existe en la actualidad mucho software, de todo tipo, libre y no libre, creado
para Linux
Permite configurar y optimizar el PC al máximo (a bajo nivel)
Soporta diversos sistemas de ficheros : fat16(win95), fat32(win98), ntfs (win
NT/XP), y ext2fs (linux)
Soporta muchísimas arquitecturas como ISA, VESA, PCI, …, muchas
controladoras SCSI, tarjetas PCMCIA, lectoras/grabadoras CDROM y DVD,
tarjetas de vídeo standards (CGA, EGA, VGA, sVGA, XGA)
Soporta Redes TCP/IP (familia de protocolos de comunicaciones red) creado
para grandes ordenadores
Linux s Multitarea/Multiusuario
Existen muchas DISTRIBUCIONES, intérpretes de comandos, y gestores de
ventanas X-Windows para Linux
© Alexis Quesada Arencibia – José Miguel Santos Espino
Francisco J. Santana Pérez
Programación de Sistemas
7
Distribuciones de linux
Empresas y organizaciones se dedican a
preparar versiones instalables de Linux:
Centos, Red Hat, SuSe, Debian, Caldera,
etc...
Valor añadido: ahorran el esfuerzo de
compilación, configuración, instalación,
actualización de módulos, etc...
Aunque linux es gratuito, las distribuciones
no siempre lo son, debido a su valor
añadido (programas, componentes, …)
© Alexis Quesada Arencibia – José Miguel Santos Espino
Francisco J. Santana Pérez
Programación de Sistemas
8
LabSopa
PC’s reservados
para la asignatura
http://labsopa.dis.ulpgc.es
© Alexis Quesada Arencibia – José Miguel Santos Espino
Francisco J. Santana Pérez
Programación de Sistemas
9
KDE / GNOME
Entorno gráfico de ventanas parecido a
windows
Escritorio
Arrastrar y soltar
Ratón: un solo click
Papelera
Floppy
Cdrom, ...
© Alexis Quesada Arencibia – José Miguel Santos Espino
Francisco J. Santana Pérez
Programación de Sistemas
10
Escritorio
Panel
Menú principal de KDE /GNOME
Programas y aplicaciones (editores, etc...)
Barra de tareas
Escritorios múltiples
Shell
Gestor de ficheros
© Alexis Quesada Arencibia – José Miguel Santos Espino
Francisco J. Santana Pérez
Programación de Sistemas
11
Sistema de Ficheros
etc
usr
Home
bin
sbin
dev
mnt
lib
Proc
/
Directorio raíz
bin
lib
usuario1
Usuario2
.....................
/etc -> Ficheros de configuración del sistema, p.ej. passwd, fstab, /etc/X11, /etc/skel
/usr -> Ficheros importantes del sistema, p.ej. /usr/man, /usr/doc, /usr/doc, /usr/lib
/home -> Directorios de usuarios
/bin, /sbin, /usr/bin -> Programas ejecutables (binarios), p.ej. comandos básicos del shell
/dev -> Archivos especiales (archivos de dispositivos)
/mnt -> dispositivos montados
/lib -> bibliotecas compartidas que utilizan los programas al ejecutarse
/proc -> archivos referentes a procesos en ejecución
© Alexis Quesada Arencibia – José Miguel Santos Espino
Francisco J. Santana Pérez
Programación de Sistemas
12
Árbol de directorios
Desde el punto de vista del usuario,
este “árbol” parece una entidad
uniforme (sólo se ven archivos y
directorios)
En realidad, muchos de los directorios
que se ven en el árbol pueden estar en
diferentes particiones, diferentes discos
e incluso diferentes computadoras
© Alexis Quesada Arencibia – José Miguel Santos Espino
Francisco J. Santana Pérez
Programación de Sistemas
13
Peculiaridades en los nombres de
archivos
Distingue mayúsculas
No existe el concepto de extensión
El separador es /
No hay unidades: es un único árbol de directorios
Los nombres de archivos con espacio van entre “” o
bien usando espacio como \sp
Otros caracteres especiales son: \*, \?
© Alexis Quesada Arencibia – José Miguel Santos Espino
Francisco J. Santana Pérez
Programación de Sistemas
14
Tipos de archivos
Archivos normales
Directorios
Enlaces
Archivos especiales o archivos de
dispositivo
© Alexis Quesada Arencibia – José Miguel Santos Espino
Francisco J. Santana Pérez
Programación de Sistemas
15
Archivos de dispositivo
Linux nos permite tratar a todos los
dispositivos físicos como ficheros
(abstracción)
/dev/mouse
/dev/hd
/dev/fd0
/dev/console
/dev/tty
/dev/ttyS
Indaguemos en /dev/ y busquemos
archivos especiales!
© Alexis Quesada Arencibia – José Miguel Santos Espino
Francisco J. Santana Pérez
Programación de Sistemas
16
Primera Práctica…
Conociendo KDE de Linux.
Ventanas : manejo, cierre, movimiento, …
Localizar distintos Árboles de directorios
Situarnos en /home/usuario y crear el directorio nombre_alumno
Editor de textos gedit. Crear un fichero de texto que contenga 7 líneas, cada una de ellas con el nombre
de los días de la semana, llamado semana.txt
Crear otro fichero llamado ordenls.txtcon la orden “ls –al”
Familiarización con las herramientas del sistema: manejo de discos, configuración de dispositivos,
búsqueda de archivos, configuración de Linux, …
Escritorios virtuales
Buscar los tipos de dispositivos especiales
Buscar el navegador de internet
Buscar el manejador de e-mail
Buscar Open Office 1.0
© Alexis Quesada Arencibia – José Miguel Santos Espino
Francisco J. Santana Pérez
Programación de Sistemas
17
Shell
Es un programa diseñado para aceptar
órdenes y ejecutarlas (intérprete de
órdenes)
El equivalente en MS-DOS/Windows©
sería el command.com
© Alexis Quesada Arencibia – José Miguel Santos Espino
Francisco J. Santana Pérez
Programación de Sistemas
18
Shell (2)
No forma parte del núcleo (kernel) del
SO (se ejecuta como un proceso
cualquiera)
Además existen diferentes shells, e
incluso podemos crearnos nuestro
propio shell
sh
csh
ksh
bash (Red Hat)
© Alexis Quesada Arencibia – José Miguel Santos Espino
Francisco J. Santana Pérez
Programación de Sistemas
19
Órdenes
Son sentencias escritas que el shell es
capaz de ejecutar
El shell interpretaórdenes y las ejecuta
Estructura general de las órdenes:
orden –indicadores parámetros
ls –l /etc
© Alexis Quesada Arencibia – José Miguel Santos Espino
Francisco J. Santana Pérez
Programación de Sistemas
20
¡ SOS !
man orden
© Alexis Quesada Arencibia – José Miguel Santos Espino
Francisco J. Santana Pérez
Programación de Sistemas
21
Órdenes básicas
EJECUTAR
bash
cd CAMBIAR DIRECTORIO
pwd Imprime direc.trabajo actual
dir listar contenido directorios
ls listar contenido archivos
clear limpiar ventana shell
Qué hace el
comando du?
-a
-l
-r
-F
-R
-s
(cid:132) Expresiones regulares
• *, ?, []
• \*, \?
ls –a sal*
ls –al ../pep/pp[0..2].[a..d]
cp práctica1.f 'práctica 1.f'
cd ~
© Alexis Quesada Arencibia – José Miguel Santos Espino
Francisco J. Santana Pérez
Programación de Sistemas
22
Órdenes sobre ficheros
cp Copiar archivos
mv Mover o renombrar archivos
rm, rm –r
borrar archivos
mkdir, rmdir
crear directorios / borrar directorios (vacíos)
cat listar contenido de un fichero de
texto
find Búsqueda de archivos/directorios
© Alexis Quesada Arencibia – José Miguel Santos Espino
Francisco J. Santana Pérez
Programación de Sistemas
23
Práctica 2 Realizar un fichero llamado 'práctica 1.txt' en el que aparezcan
las órdenes de comandos estrictamente necesarios para llevarla a cabo
Borrar pantalla
Situarnos en el directorio por defecto y luego dentro de nombre_alumno
Crear los directorios fuentesy dentro de éste, los directorios c, fortran y cobol
Crear el directorio /home/usuario/nombre_alumno/Mis Documentos
Hacer 3 ficheros dentro de 'Mis Documentos' que se llamen
práctica1.c newton raphson.f
Copiar los ficheros *.c a c
Mover los ficheros *.f a fortran
Borrar el contenido de 'Mis Documentos'
Borrar el directorio 'Mis Documentos‘
Realizar una copia del directorio fuentesal directorio Copiade Fuentes
conta*1.cob
© Alexis Quesada Arencibia – José Miguel Santos Espino
Francisco J. Santana Pérez
Programación de Sistemas
24
Permisos
Lectura, escritura,
Comentarios de: Entorno Linux/Unix (0)
No hay comentarios