Sistema Operativo de Uso Libre

78
Felipe Cervantes Ruiz Sistema Operativo de Uso Libre

Transcript of Sistema Operativo de Uso Libre

Page 1: Sistema Operativo de Uso Libre

Felipe Cervantes Ruiz

Sistema Operativo de Uso Libre

Page 2: Sistema Operativo de Uso Libre

. Felipe Cervantes Ruiz

Page 3: Sistema Operativo de Uso Libre

Felipe Cervantes Ruiz

¿Qué es Linux?

• Sistema Operativo real (multitarea/multiusuario), que emula la

funcionalidad del S.O. Unix. (no es Unix)

• Cumple con las especificaciones POSIX de la IEEE y las

especificaciones de Single Unix del Open Group.

• Implementa funcionalidades que se pueden encontrar en cualquier

Unix de última generación como: multitarea real, memoria virtual,

librerias compartidas, carga bajo demanda, administrador de memoria

propio y protocolo de redes TCP/IP.

• Originalmente diseñado para trabajar en procesadores x86 de 32 bits

(mínimo 386), ha sido portado a otras arquitecturas como: Compaq

Alpha AXP, Sun SPARC and UltraSPARC, Motorola 68000, PowerPC,

ARM,Hitachi SuperH, IBM S/390, MIPS, HP PA-RISC, Intel IA-64 and

DEC VAX

Page 4: Sistema Operativo de Uso Libre

Felipe Cervantes Ruiz

Page 5: Sistema Operativo de Uso Libre

. Felipe Cervantes Ruiz

Historia de Linux

• Linux fue el desarrollo de un estudiante finlandes de 23 años llamado

Linus Torvalds, a finales de agosto de 1991.

• Se baso en el S.O. Minix, que fue escrito por el Dr. Andrew Tannebaum

el cual se distribuía gratuitamente a los estudiantes de Informática.

• Se interesó en proporcionar un S.O mejor que Minix y que pudiera

correr en las recien llegadas x386.

• El 5 de octubre de 1991Linus presento al mundo la versión 0.02 de su

sistema operativo, la primera versión funcional de Linux y comenzó su

difusión bajo la licencia GNU-GPL.

• Actualmente la última versión de Linux es la 2.6 y cuenta actualmente

con millones de usuarios en todo el mundo.

Page 6: Sistema Operativo de Uso Libre

Felipe Cervantes Ruiz

¿Qué es el kernel?

El kernel es el programa que se carga en el instante del arranque y

que proporciona una interfaz entre los programas de nivel de usuario

y el hardware.

Aplicaciones

Shell

Kernel

H/W

Page 7: Sistema Operativo de Uso Libre

Felipe Cervantes Ruiz

¿Qué es el kernel?

- Es abierto (a modificar)

- Vincula procesos contareas programadas,localiza recursos,

gestiona memoria y comunicación con el hardware.

-Shell : Traductor de comandos

¿Qué es una Distribución?

- Kernel más herramientas de trabajo

-Todas las distribuciones tienen en común el Kernel

Page 8: Sistema Operativo de Uso Libre

Felipe Cervantes Ruiz

Principales Distribuciones

http://www.redhat.com/

http://linux.corel.com/

http://www.debian.org/

http://www.mandrake.com/

http://www.slackware.com/

http://www.suse.com/

Page 9: Sistema Operativo de Uso Libre

Felipe Cervantes Ruiz

¿Porqué usar RedHat?

• Esta basado en kernel actual, modulable y adecuado para trabajar con

hardware estándar del mercado.

• Incluye la herramienta RedHat Packet Manager (RPM), que es de libre

distribución y que se ha vuelto prácticamente un estándar de la mayoría

de distribuciones Linux.

• Disponibilidad de los códigos fuentes usados para generar todos los

paquetes incluidos en esta distribución.

• Documentación abundante, tanto en el mismo CD como en Internet.

• Cumple con estándares universalmente aceptados como el FSSTND.

• Fácil instalación, actualización, operación y mantenimiento.

Page 10: Sistema Operativo de Uso Libre

Felipe Cervantes Ruiz

Requisitos mínimos de hardware del sistema:

Para PC basada en Intel x86 o compatible estas son las especificaciones

mínimas con las que debe contar el sistema:

• Procesador Pentium o superior (Pentium I, II, III, IV, AMD K3).

• Memoria RAM de 64 MB, preferentemente 128 MB.

• Espacio en disco duro 3 GB.

• Cualquier tarjeta de video VGA.

• Unidad de CD-ROM o tarjeta de red.

• Unidad de disquette.

Page 11: Sistema Operativo de Uso Libre

Felipe Cervantes Ruiz

Selección del modo y medio de instalación• El modo de instalación es seleccionado al inicio del sistema, por

defecto se usa el modo gráfico.

• El medio de instalación se puede seleccionar entre las siguientes

opciones:

• CD-ROM: se instala desde un CD-ROM local, es el método usado

por defecto y el más sencillo de todos.

• Hard-Disk: se instala desde un Disco Duro local, es similar al

método anterior.

• SMB: permite una instalación de red local desde un servidor NT, o

un Linux/Unix con Samba.

• NFS: permite una instalación de red local desde un servidor

Linux/Unix.

• FTP: permite una instalación de red local o Internet, desde

cualquier servidor que cumpla con el protocolo FTP.

Page 12: Sistema Operativo de Uso Libre

. Felipe Cervantes Ruiz

Page 13: Sistema Operativo de Uso Libre

Felipe Cervantes Ruiz

Definición de usuarios y de sus contraseñas

• Una buena contraseña debe contener números y letras.

• Debe tener cuanto menos 6 caracteres de longitud.

• Soporta hasta 128 caracteres basado en MD5 y Shadow, Kerberos NIS

LDAP

• No debe ser nuestra fecha de cumpleaños, número de teléfono,

número de DNI, número de RUC o cualquier otro dato que pueda ser

público.

• Debe de ser cambiada con cierta regularidad,

• Autenticación de la contraseña : /etc/shadow

Page 14: Sistema Operativo de Uso Libre

Felipe Cervantes Ruiz

Log in en Linux

A través de 02 maneras:

• Localmente : Login <nombre_usuario>.

• Consola serial

- Via modem

- Emulador de terminal

. Via Red : Wired o Wireless, Via telnet o via ssh

Log out en Linux

. Via exit o logout

Page 15: Sistema Operativo de Uso Libre

. Felipe Cervantes Ruiz

Iniciando sesion en consolas virtuales

Para poder ingresar a una consola virtual sistema necesitamos digitar:

• CTRl + ALT + F1. (hasta 06 sesione virtuales )

• Para cambio entre sesiones: ALT + F1 hasta ALT + F6

• Para cerrar sesión exit o logout

Para regresar a un ambiente gráfico ALT + F7

Page 16: Sistema Operativo de Uso Libre

Felipe Cervantes Ruiz

Introducción al uso del sistema como usuario

Antes que nada para poder ingresar al sistema necesitamos:

• Un nombre de usuario o “login”.

• Una contraseña, clave o “password”.

• Un programa de comunicaciones (emulador de terminal o cliente

telnet, etc.).

Lo primero que veremos será el mensaje del sistema solicitándonos

nuestros datos.

El lugar donde iremos en primer lugar será nuestro directorio casa

“home”.

Page 17: Sistema Operativo de Uso Libre

Felipe Cervantes Ruiz

Mensaje de logueo

Nivel de privilegio

de trabajo

Ultima vez que

se ingresó al sistema

Usuario(login)

Nombre del

host

Directorio actual

Ejemplo de un login a un S.O. Linux

Page 18: Sistema Operativo de Uso Libre

. Felipe Cervantes Ruiz

Comandos Básicos del ShellEntre los principales comandos básicos a los que podemos acceder a través

de un shell tenemos:

ls Muestra el contenido de un directorio.

dir Muestra el contenido de un directorio sin colores

cat Muestra el contenido de un archivo.

pwd Muestra la ruta actual del directorio donde nos encontramos.

date Muestra la fecha del sistema.

whoami Muestra el nombre de la cuenta que maneja la sesión

who Muestra quienes están conectados actualmente al sistema.

clear Borra pantalla

tty Permite conocer el número de consola en la que estamos

uname Permite conocer información del Kernel

reboot Reinicia el sistema .

Shutdown reinicia el sistema

Page 19: Sistema Operativo de Uso Libre

Felipe Cervantes Ruiz

Comandos Básicos del ShellEntre los principales comandos básicos a los que podemos acceder a través

de un shell tenemos:

mkdir Cre adirectorios

cd Ingresa a un directorio

rm borra un directorioarchivo

rmdir borra directorios vacios

mv Renombra o mueve un archivo o directorio.

cp Copia un archivo o directorio.

pwd Muestra la ruta actual del directorio donde nos encontramos.

date Muestra la fecha del sistema.

mail Permite el envío de correo interno dentro del sistema.

man Permite solicitar ayuda sobre los comandos del sistema.

talk Permite establecer un diálogo en línea con otro usuario.

touch crea archivos

Page 20: Sistema Operativo de Uso Libre

Felipe Cervantes Ruiz

Comandos Básicos del ShellEntre los principales comandos básicos a los que podemos acceder a través

de un shell tenemos:

du permite concoer el espacio utilizado por un directorio

df permite conocer el espacio utilizado en disco

Page 21: Sistema Operativo de Uso Libre

Felipe Cervantes Ruiz

Comandos lsLista los archivos y directorios encontrados en el sistema de archivos.

ls [opciones] [lista-archivos]

Las principales opciones son:

-a Lista todos los archivos y directorios incluyendo los ocultos.

-l Lista los archivos y directorios en un formato largo.

-t Ordena por fecha y hora de última modificación.

-u Ordena por fecha y hora de último acceso.

-c Ordena por fecha y hora del último cambio de i-node.

-r Invierte el orden de clasificación.

-i Muestra en la primera columna el i-node del archivo o directorio.

[lista-archivos] Puede contener comodines como * y ?

Page 22: Sistema Operativo de Uso Libre

Felipe Cervantes Ruiz

Comandos catEste comando concatena archivos. También se suele usar para mostrar el

contenido de un archivo.

cat [opciones] [lista-archivos]

Las principales opciones son:

-b Numera las líneas que no estén en blanco comenzando por la 1.

-n Numera empezando por 1 todas las líneas de salida.

-E Muestra un $ después del final de cada línea.

- -help Muestra un mensaje de ayuda.

Page 23: Sistema Operativo de Uso Libre

Felipe Cervantes Ruiz

Comandos pwdNos informa sobre cuál es el directorio actual o de trabajo

pwd

Comandos dateMuestra la fecha y la hora del sistema y si es el super-usuario (root),

establece la fecha y hora.

date

Page 24: Sistema Operativo de Uso Libre

Felipe Cervantes Ruiz

Comandos whoInforma de quién está actualmente en el sistema y proporciona información

de otro usuario y de entrada al sistema.

who [opciones]

who am i

Las principales opciones son:

-u Informa de los usuarios que están actualmente en el sistema.

-T Indica si el terminal permite que los usuarios envíen mensajes al

mismo.

-H Imprime la línea de cabecera.

-q Muestra una lista de usuarios separada por espacios y una cuenta.

Page 25: Sistema Operativo de Uso Libre

Felipe Cervantes Ruiz

Comandos mailEs un sistema de envío/recepción de correo, el cual tiene una sitaxis que se

remonta a la época de ed.

mail [opciones] [-s subject] [-c cc-addr] [-b bc-addr] to-addr

Las principales opciones son:

-i Ignore las señales de interrupción del tty.

-I Fuerza a correr en el modo interactivo cuando la entrada no es un

terminal.

-n Inhibe la lectura del /etc/mail.rc hasta el inicio del sistema.

-N Inhibe que se muestre en pantalla los encabezados de los mensajes

cuando se lee o edita correo en un folder de correo.

-v Modo verbose (muestra todas las salidas por la terminal).

Page 26: Sistema Operativo de Uso Libre

Felipe Cervantes Ruiz

Comandos man

Formatea y muestra en pantalla las páginas del manual en línea.

man [-m system] [-C config_file] comando

Las principales opciones son:

-m Indica la ubicación de páginas de ayuda alternativa.

-C Especifica el archivo a usar para la configuración de la ayuda, por

defecto este archivo es /etc/man.config

Page 27: Sistema Operativo de Uso Libre

Felipe Cervantes Ruiz

Comandos ed

Es un editor de texto plano muy sencillo y compatible con todas las

versiones de Unix/Linus

ed [- -s -x] [-p indicador] nombre-archivo

Las principales opciones son:

- Suprime los mensajes producidos por los comandos e, r, w, q, y !

-s Suprime diagnósticos.

-x Pregunta qué clave de cifrado se va a utilizar en las operaciones de

lectura y escritura subsiguientes.

-p Permite que especifique su propia secuencia de indicador.

Page 28: Sistema Operativo de Uso Libre

Felipe Cervantes Ruiz

Comandos rm

Borra archivos o directorios.

rm [opciones] [lista-archivos]

Las principales opciones son:

-r El borrado se hace en forma “recursiva” en un directorio.

-i Especifica modo interactivo. Se pide confirmación antes de borrar.

-f Especifica que se active el modo forzado.

-v Activa modo verbose (se muestran todos los mensajes).

- - Indica el final de todas las opciones.

Page 29: Sistema Operativo de Uso Libre

Felipe Cervantes Ruiz

Comandos mv

Mueve (o renombra) ficheros o directorios.

mv [opciones] [arch1/dir1] [arch/dir2]

Las principales opciones son:

-f Modo forzado.

-i Modo interactivo.

arch1 Archivo origen.

arch2 Archivo destino.

dir1 Directorio origen.

dir2 Directorio destino.

Page 30: Sistema Operativo de Uso Libre

Felipe Cervantes Ruiz

Comandos cp

Copia archivos. Se puede copiar de un archivo a otro o de una lista de

archivos a un directorio.

cp [opciones] arch-origen arch-destino

Las principales opciones son:

-a Copia manteniendo los atributos de los ficheros.

-d Copia enlaces simbólicos como tales.

-f Modo forzado.

-i Modo interactivo.

-r Modo recursivo.

-v Modo verbose (muestra todas las acciones realizadas).

Page 31: Sistema Operativo de Uso Libre

Felipe Cervantes Ruiz

Comandos mkdirLista los archivos y directorios encontrados en el sistema de archivos.

mkdir [-m modalidad] [-p nombresdir] directorio

Las principales opciones son:

-m Establece los permisos del directorio al momento de su creación.

-p Crea los directorios superiores que no existan.

Comandos talkPermite conversar en línea con otros usuarios conectados al sistema.

talk persona [ttyname]

persona Loguin del usuario con el que entablaremos conversación.

ttyname Nombre del terminal con el cual nos comunicaremos.

Page 32: Sistema Operativo de Uso Libre

Felipe Cervantes Ruiz

Page 33: Sistema Operativo de Uso Libre

Felipe Cervantes Ruiz

El árbol del sistema (RedHat)

/

dev

bin

var

usr

sbin

proc

mnt

lib

etcopt

root

tmp

lost+foud

home

boot

Page 34: Sistema Operativo de Uso Libre

Felipe Cervantes Ruiz

Jerarquía de directorios

• El directorio de mayor nivel en el FS es /

• Luego de efectuado el proceso de carga del S.O., el mismo procede a

montar el directorio raíz desde donde se tendrá acceso a todos los

elementos del sistema.

• El contenido del árbol de directorios del RH, es el mostrado

anteriormente, es conveniente explorarlo para poder darnos cuenta del

orden que existe y familiarizarnos con él.

Page 35: Sistema Operativo de Uso Libre

Felipe Cervantes Ruiz

El árbol del sistema (RedHat)

/bin Contiene los archivos ejecutables que todos los usuarios

pueden ejecutar, como los shell, listado de archivos, etc.

/dev Contiene la lista de todos los archivos de dispositivo de

soportados por el sistema

/home Contiene los directorios de datos de todos los usarios del

sistema.

/lost+found Contiene los archivos perdidos o con errores producto de una

caida del sistema o un proceso.

/opt Contiene extensiones al sistema, este directorio es creado por

el entorno KDE..

/root Es el directorio inicial del super-usuario.

/tmp Contiene archivos temporales.

Page 36: Sistema Operativo de Uso Libre

Felipe Cervantes Ruiz

El árbol del sistema (RedHat)

/var Contiene archivos que son usados por el sistema para la

administración de los demonios.

/boot Contiene los archivos de los kernels booteables.

/etc Contiene los archivos de configuración del sistema.

/lib Contiene las librerías compartidas del sistema.

/mnt Directorio en el cual se recomienda montar las nuevas unidades

que se incorporan al sistema.

/proc Directorio donde podemos encontrar información sobre el

estado del hardware de nuestro computador.

/sbin Contiene los archivos ejecutables que sólo el super-usuario

puede ejecutar.

/usr Directorio usado para contener software que puede ser utilizado

por los usuarios del sistema

Page 37: Sistema Operativo de Uso Libre

Felipe Cervantes Ruiz

Archivos y directoriosTodo en los S.O. tipo Unix son archivos.

• El sistema de archivos es una de las fortalezas de diseño de los Unix.

• Un archivo es una secuencia de bytes.

• El sistema no impone estructura alguna a los archivos, ni asigna

significado a su contenido.

• La forma en que se accede a cualquier dispositivo es como si este fuera

un archivo.

• Un directorio es un caso especial de archivo que contiene la lista que

relaciona un nombre con un i-nodos

• Los i-nodos son la verdadera denominación de los archivos en el

sistema.

• La estructura de i-nodos es flexible y permite manejar sistemas de

archivos de 16, 32, 64 bits o más, sin comprometer la arquitectura del

sistema de archivos.

Page 38: Sistema Operativo de Uso Libre

Felipe Cervantes Ruiz

Propiedades de un Fichero

• Un archivo es una secuencia de bytes sin una estructura

predeterminada y es la unidad de información sobre la que actúa el

Sistema Operativo.

• Características:. Entre las más saltantes Tamaño y propietario

• El sistema operativo reconoce el uso de un archivo por colores

azul >>>>>>> directorios

rojo >>>>>>> archivos comprimidos

verde >>>>>>> scripts

blanco >>>>>>> texto

rosado >>>>>>> gráficos

amarillo >>>>>>> dispositivos

celeste >>>>>>> enlaces

Page 39: Sistema Operativo de Uso Libre

Felipe Cervantes Ruiz

Conceptos básicos sobre archivos

• Un archivo es una secuencia de bytes sin una estructura

predeterminada y es la unidad de información sobre la que actúa el

Sistema Operativo.

• Cuando se estaba diseñando Unix, antes de que incluso se le diera el

nombre, la principal discusión era sobre la estructura del sistema de

archivos, su consistencia, simplicidad y facilidad de uso.

• El sistema operativo cuenta con abundantes herramientas para el

manejo de archivos, ya que la única entidad que existe para el S.O.,

son los archivos.

• Existen varios tipos de archivos: normal, directorios, enlaces, de

dispositivo (tipo carácter o tipo bloque), semaforo, memoria

compartida.

Page 40: Sistema Operativo de Uso Libre

Felipe Cervantes Ruiz

Contenido de los archivos

• El formato de un archivo depende de los programas que lo usan.

• Puesto que existen muchos programas, existen muchos tipos de

archivos.

• Algunos comando adicionales nos permiten trabajar con archivos son

los siguientes:

file, nos muestra el tipo de un archivo.

hexdump, muestra el contenido binario de un archivo.

wc, cuenta los bytes, palabras y líneas de un archivo.

cmp, compara el contenido de dos archivos.

find, busca un archivo en un directorio determinado.

whereis, ayuda a ubicar programas en el sistema.

Page 41: Sistema Operativo de Uso Libre

Felipe Cervantes Ruiz

Directorios y nombres de archivos

• Todos los archivos en un File System tienen un nombre sin

ambigüedad.

• Cuando un programa entrega una salida, este supone un directorio

por defecto que es el directorio actual del usuario. Este directorio se

puede mostrar usando el programa “pwd”.

• El directorio de trabajo es un atributo de un proceso. Como tal puede

ser heredado por los procesos hijos.

• La principal misión de los directorios es permitirnos organizar mejor la

información en un File System.

• Los nombres de archivos y directorios son independientes del FS que

estemos utilizando, gracias a la arquitectura de i-nodos de los Unix.

Page 42: Sistema Operativo de Uso Libre

Felipe Cervantes Ruiz

i-nodos

• El nombre interno del sistema para un archivo es su i-nodo, que

incluye la información administrativa del archivo.

• Existe tan sólo un i-nodo por archivo.

• Los nombres de archivos no son más que enlaces (link) en un archivo

de tipo directorio entre el nombre que nosotros manejamos y el i-nodo.

• Para que un archivo exista dentro de un FS, debe de tener al menos

un enlace o link en algún directorio. Cuando el número de enlaces es

0, el archivo ha sido borrado totalmente del sistema.

• El sistema de archivos de Linux es de 32 bits, pero no existe ninguna

limitación en cuanto a diseño para volverlo de 64 bits, tan sólo se

tendría que recompilar un nuevo kernel.

• El comando ln nos permite manejar la creación de enlaces (o links).

Page 43: Sistema Operativo de Uso Libre

Felipe Cervantes Ruiz

Dispositivos (un caso especial de archivos).

• Los dispositivos son un archivo de tipo especial que sirve para

intercambiar información entre un buffer y el dispositivo físico.

• La principal ventaja de “ver” un dispositivo como archivo radica en la

simplificación de la programación, se puede utilizar código de otros

programas para manejar cualquier nuevo dispositivo. Por ejemplo para

el comando “cp”, el hecho de escribir en una unidad de red SCSI o IDE

es transparente para el, tan sólo escribe en un archivo /dev/hda o

/dev/sda.

• El i-nodo de un dispositivo contiene un tipo (de carácter o de bloque) y

un par de números llamados número mayor y número menor. El

número mayor identifica el tipo de dispositivo, mientras el número

menor distingue casos diferentes del dispositivo.

• El comando para crear archivos de dispositivo es MAKEDEV

Page 44: Sistema Operativo de Uso Libre

Felipe Cervantes Ruiz

Permisos$ ls -l

-rw-rw-r-- 1 renzo renzo 6835 jul 27 18:23 user04.res

drwxrwxr-x 2 renzo renzo 4096 jul 27 23:00 winbug95

-rwxr-xr-x 1 renzo renzo 459828 nov 19 1999 xmibquery

Permisos

Tipo de

Archivo

Número

de links

Propietario

Grupo

Longitud Fecha Nombre

Page 45: Sistema Operativo de Uso Libre

Felipe Cervantes Ruiz

Tipo de Archivo

- Archivo normal, sin tipo.

d Directorio.

l Enlace.

c Dispositivo de carácter.

b Dispositivo de bloque.

s Semáforo.

m Memoria compartida.

Permisosr Lectura.

w Escritura.

x Ejecución.

Page 46: Sistema Operativo de Uso Libre

Felipe Cervantes Ruiz

-rwxr-xr-x 1 renzo renzo 459828 nov 19 1999 xmibquery

-rwxr-xr-x

Propietario

Grupo

Otros

Tipo de

archivo

Page 47: Sistema Operativo de Uso Libre

Felipe Cervantes Ruiz

Comandos de atributos de archivos.

Los siguientes comandos permiten cambiar la información administrativa

de los i-nodos para los archivos del FS.

chmod Permite establecer nuevos atributos a un fichero.

chown Permite cambiar el propietario de un fichero.

chgrp Permite cambiar el grupo al que pertenece el fichero.

Page 48: Sistema Operativo de Uso Libre

Felipe Cervantes Ruiz

$ ls -l /dev/tty?

crw------- 1 renzo renzo 4, 0 may 5 1998 tty0

crw--w---- 1 renzo tty 4, 1 ene 12 08:21 tty1

crw------- 1 root root 4, 2 ene 5 00:29 tty2

crw------- 1 root root 4, 3 ene 5 00:29 tty3

crw------- 1 root root 4, 4 ene 5 00:29 tty4

crw------- 1 root root 4, 5 ene 5 00:29 tty5

crw------- 1 root root 4, 6 ene 5 00:29 tty6

crw------- 1 renzo renzo 4, 7 may 5 1998 tty7

crw------- 1 root tty 4, 8 may 5 1998 tty8

crw------- 1 root tty 4, 9 dic 9 1998 tty9

$ ls -l /dev/hda?

brw-rw---- 1 root disk 3, 1 may 5 1998 hda1

brw-rw---- 1 root disk 3, 2 may 5 1998 hda2

brw-rw---- 1 root disk 3, 3 may 5 1998 hda3

brw-rw---- 1 root disk 3, 4 may 5 1998 hda4

brw-rw---- 1 root disk 3, 5 may 5 1998 hda5

brw-rw---- 1 root disk 3, 6 may 5 1998 hda6

brw-rw---- 1 root disk 3, 7 may 5 1998 hda7

brw-rw---- 1 root disk 3, 8 may 5 1998 hda8

brw-rw---- 1 root disk 3, 9 may 5 1998 hda9

Page 49: Sistema Operativo de Uso Libre

Felipe Cervantes Ruiz

Page 50: Sistema Operativo de Uso Libre

Felipe Cervantes Ruiz

Estructura de la línea de comandos

• El shell es el programa que interpreta las peticiones del usuario y le

permite lanzar otros procesos a ejecución.

• Existen varias clases de shell (sh, ash, bash, csh, etc).

• Los comandos se entran al shell a través del prompt y estos pueden

contener parámetros.

• Puede introducirse varios comandos en la misma línea usando el

carácter “;”

• Puede redireccionarse la salida de un comando usando el carácter “>”

• Puede redireccionarse la entrada a un comando usando el carácter “<“

• Puede encaminarse la salida de un comando para que sea la entrada

de otro comando usando el carácter “|”

• Pueden lanzarse comandos en paralelo usando e carácter “&”, esto es

comandos o programas que corran simultáneamente.

Page 51: Sistema Operativo de Uso Libre

Felipe Cervantes Ruiz

Metacaracteres

• También conocidos como comodines, son caracteres que tienen

una connotación especial para el shell.

• Las comillas (“...”) sirven para indicar una cadena que debe ser

tratada como un todo y permite el procesamiento de carcteres

especiales.

• El caracter asterisco (*) sirve para indicar un grupo de caracteres.

• El caracter interrogación (?) sirve para indicar un caracter

cualquiera.

• El caracter número (#) sirve para indicar un comentario, todo lo

que sigue en una línea de comando después de este es ignorado.

• Las comillas simples invertidas (`..`) sirve para indicarle al shell

que procese los comando dentro de ellas.

Page 52: Sistema Operativo de Uso Libre

Felipe Cervantes Ruiz

Creación de nuevos comandos

• Los scripts(programas) de shell son archivos de texto plano que

contienen comandos del sistema o programas desarrollados por el

usuario unidos por la sintaxis propia del shell.

• Todo script de shell puede servir para extender la funcionalidad del

sistema como si de un nuevo comando se tratara.

• Para poder ejecutarlos, activamos el atributo “x” (ejecutable), conel comando: “chmod +x comando”. Además la primera línea

de nuestro script debe ser: “#!/bin/bash”.

• La ruta por defecto que tiene el script al momento de ser lanzado,

es la del proceso que lo inició.

• Los scripts al ser lanzados son un proceso y como tal también

pueden correr en segundo plano.

Page 53: Sistema Operativo de Uso Libre

Felipe Cervantes Ruiz

Variables del shell

• El shell tiene variables, como las tienen los lenguajes de

programación.

• Las variables del shell pueden crearse, accesarse y modificarse

dinámicamente.

• Existen variables que tienen un significado especial para el shell, y

cuyos nombres están resarvados, por ejemplo: PATH, HOME,

PS1, PS2, TERM, estas variables especiales, reciben el nombre

de “ variables de entorno”.

• Todas las variables del shell son del tipo cadena (o string).

• Es posible asignar la salida de un comando a una variable del

shell.

Page 54: Sistema Operativo de Uso Libre

Felipe Cervantes Ruiz

Tópicos adicionales sobre redireccionamiento de E/S

• El error estándar se definió para que los mensajes aparecieran en

la terminal

• Todo programa tiene tres archivos estándar, creados cuando éste

comienza a ejecutarse y numerados con enteros pequeños

llamados “descriptores de archivo”.

• La entrada estándar es 0, la salida estándar es 1 y la salida de

error estándar es 2 y esta normalmente apuntando a 1.

• La redirección de la salida estándar, nos permite refinar nuestros

scripts de shell.

• Un ejemplo podría ser el siguiente comando:

time ls -l > ls.out 2>time.out

Page 55: Sistema Operativo de Uso Libre

Felipe Cervantes Ruiz

Ejemplos de aplicación

• Diseñe un script para que nos informe del número de usuarios

conectados al sistema.

• Diseñe un script para generar reportes sobre el uso de memoria

de su computadora.

• Diseñe un script que le indique cuantas unidades tiene montadas

actualmente es su sistema.

• Diseñe un script que le informe sobre el estado de un proceso que

Ud., ha lanzado.

Page 56: Sistema Operativo de Uso Libre

Felipe Cervantes Ruiz

Razones de tener un shell programable

• El shell es para cualquier fin práctico un lenguaje de

programación, en realidad el interpreta cada orden que le damos

como la instrucción de un programa.

• El shell hace algunas cosas como iterar, redireccionar E/S,

expandir metacaracteres, por lo que ningún programa necesita

hacer eso.

• La aplicación de estos recursos es uniforme en todos los

programas.

• La manera en que el sistema maneja los archivos ejecutables,

hace posible escribir scripts de shell de manera que se ejecuten

como programas compilados.

Page 57: Sistema Operativo de Uso Libre

Felipe Cervantes Ruiz

Page 58: Sistema Operativo de Uso Libre

Felipe Cervantes Ruiz

¿Qué es un filtro?

• Es un programa que permite efectuar un proceso de manipulación

de los datos de entrada y nos entrega el resultado de dicho acción

en su salida.

• Los filtros pueden ser estáticos o programables.

• La entrada por defecto para la mayoría de los filtros es la entrada

estándar (teclado)

• La salida por defecto para la mayoría de los filtros es la salida

estándar (pantalla).

• Los filtros permiten redireccionamiento de entrada/salida y

empipamiento.

Page 59: Sistema Operativo de Uso Libre

Felipe Cervantes Ruiz

La familia grep

• Está constituida por los programas egrep, fgrep y grep.

• Son filtros que muestran las líneas de la entrada estándar que

concuerden con un patrón.

• Es un filtro no programable.

grep [opciones] patron | [-f archivo] archivo

- v Invierte el sentido de la concordancia.

- i Ignora la diferencia entre mayúsculas y minúsculas.

- f Obtiene el patrón de un fichero.

- V Muestra el número de versión de grep en la salida.

Page 60: Sistema Operativo de Uso Libre

Felipe Cervantes Ruiz

Otros filtros

• Existen otros filtros no programables que nos pueden ser útiles

para nuestro trabajo rutinario.

sort Ordena la entrada estándar.

more Permite visualizar línea por línea un archivo.

less Igual que more, pero puedo regresar.

tail Muestra las últimas líneas de un archivo.

head Muestra las primeras líneas de un archivo.

wc Cuentas las líneas, palabras y caracteres de un archivo.

dd Vuelca el contenido de un fichero en otro.

uniq Elimina las líneas repetidas en un archivo ordenado.

Page 61: Sistema Operativo de Uso Libre

Felipe Cervantes Ruiz

sort

Ordena líneas de un archivo de texto.

sort [OPTION]... [FILE]...

-k POS1[,POS2]

Comienza la clave de ordenación en la posición POS1 y

termina en POS2.

-b Ignora los espacios en blanco al inicio de la línea

-c Verifica si el archivo dado esta ordenado o no.

-d Considera sólo los caracteres de [a-z, A-Z, 0-9]

-g Compara de acuerdo al valor numérico general, implica -b

-r Invierta el resultado de la comparación.

Page 62: Sistema Operativo de Uso Libre

Felipe Cervantes Ruiz

more

Filtro de archivos para visualización en terminales. Pagina texto una

pantalla a la vez.

more [-s] [-num] [file ...]

-num Especifica el número de líneas de la pantalla.

-s Reducir multiples líneas en blanco a una.

less

Filtro de archivos para visualización en terminales. Pagina texto una

pantalla a la vez al igual que more, pero permite desplazamiento en

ambos sentidos de la pantalla.

less [opciones] [file ...]

Page 63: Sistema Operativo de Uso Libre

Felipe Cervantes Ruiz

tail

Filtro que muestra las últimas líneas de un archivo.

tail [opciones] [file ...]

-c Muestra los últimos “n” caracteres.

-n Muestra las últimas “n” líneas, por defecto es 10.

head

Filtro que muestra las primeras líneas de un archivo.

head [opciones] [file ...]

-c Muestra los últimos “n” caracteres.

-n Muestra las últimas “n” líneas, por defecto es 10.

Page 64: Sistema Operativo de Uso Libre

Felipe Cervantes Ruiz

wc

Filtro que cuenta el número de bytes, palabras y líneas de un

archivo.

wc [opciones] [file ...]

-c Muestra el número de bytes contados.

-l Muestra el número de líneas contadas.

-L Muestra la longitud de la línea más larga.

-w Muestra el número de palabras contadas.

Page 65: Sistema Operativo de Uso Libre

Felipe Cervantes Ruiz

dd

Filtro que copia un archivo de la entrada estándar a la salida

estándar por omisión, con un tamaño de bloque seleccionable por el

usuario.

dd [if=fichero][of=fichero]

if Lee desde fichero en lugar de la entrada estándar.

of Escribe en el fichero, en lugar de la entrada estándar.

uniq

Filtro que borra las líneas duplicadas de un archivo ordenado..

uniq [opciones][input [output]]

input Archivo de entrada en lugar de la entrada estándar.

output Archivo de salida en lugar de la salida estándar.

Page 66: Sistema Operativo de Uso Libre

Felipe Cervantes Ruiz

El editor de flujo sed

Es un filtro programable, que permite efectuar trabajo de edición de

texto a un archivo de entrada y lo muestra en la salida estándar.

sed [-f script-file][fichero ...]

-f Permite especificar el archivo donde se encuentra el script

a efectuar por sed.

sed, cumple con la sintaxis de ed, así que los scripts, se deben

escribir respetando las reglas de ed.

s/old/new/f

Sutituir old por new, si f=g, reemplazar todas las ocurrencias; f=p,

mostrarlas; f=w file, escribir en file.

Page 67: Sistema Operativo de Uso Libre

Felipe Cervantes Ruiz

Page 68: Sistema Operativo de Uso Libre

Felipe Cervantes Ruiz

¿Qué es el kernel?

El kernel es el programa que se carga en el instante del arranque y

que proporciona una interfaz entre los programas de nivel de usuario

y el hardware.

Aplicaciones

Shell

Kernel

H/W

Page 69: Sistema Operativo de Uso Libre

Felipe Cervantes Ruiz

¿Qué tareas cumple el kernel?

• La administración del procesador o procesadores del sistema.

• La administración de los procesos.

• La administración de los discos y los sistemas de archivos.

• La administración de la memoria.

• La administración de las interfases de red.

• La administración de los dispositivos de E/S, llamese terminales,

impresoras, tarjetas de sonido, etc.

Page 70: Sistema Operativo de Uso Libre

Felipe Cervantes Ruiz

El kernel de Linux.

• Oficialmente, Linux es tan sólo el kernel. Lo demás, editores,

shells, compiladores, etc., constituyen la distribución.

• Es decir existen muchas distribuciones como por ejemplo RedHat,

Slackware, Caldera, Corel, etc.; pero un solo kernel para todas.

• La última versión del kernel es la 2.6.

• La última versión del kernel se puede obtener en www.kernel.org

Page 71: Sistema Operativo de Uso Libre

Felipe Cervantes Ruiz

Configurar el kernel de Linux

Para configurar el kernel de linux se deben de realizar las siguientes

tareas.• Descargar la nueva versión que se va a emplear (si es el caso).

• Desempaquetar la nueva versión en /usr/src

• Crear un enlace simbólico entre los nuevos fuentes y el directorio

/usr/src/linux.

• Entrar a través de la ruta /usr/src/linux y lanzar alguno de los tres

posibles métodos de configuración del kernel:

make config

make menuconfig

make xconfig

Page 72: Sistema Operativo de Uso Libre

Felipe Cervantes Ruiz

Configurar el kernel de Linux (2)Las principales áreas de configuración del Linux son:

• Tipo de procesador.

• Nivel de madurez del código.

• Soporte de módulos.

• Discos Floppy, IDE u otros dispositivos de bloque.

• Opciones de red.

• Soporte para dispositivos SCSI

• Soporte a dispositivos de red

• Subsistema de RDSI

• Filesystems

• Dispositivos de carácter

• Sonido

• Opciones de investigación del kernel.

Page 73: Sistema Operativo de Uso Libre

Felipe Cervantes Ruiz

Configurar el kernel de Linux (3)

Page 74: Sistema Operativo de Uso Libre

Felipe Cervantes Ruiz

Construir el kernel de Linux

Luego de la configuración, sigue el trabajo de generar un nuevo

kernel con los parámetros previamente establecidos para realizar

esto se deben de proporcionar al sistema el siguiente conjunto de

órdenes:

make dep; make clean; make bzImage

Antes de proceder a instalar el kernel, si han declarado módulos,

estos deben de ser compilados a través del comando:

make modules

Page 75: Sistema Operativo de Uso Libre

Felipe Cervantes Ruiz

Instalar el kernel

Luego de compilado por completo el kernel, este debe ser instalado

en nuestro sistema, para ello debemos de usar el comando:

make install

Para instalar los módulos compilados debemos de dar los siguientes

comandos:

make modules_install

Finalmente debemos de configurar nuestro lilo, para que podamos

regresar al kernel anterior, en caso de que existiera un problema con

el nuevo kernel compilado, para ello debemos editar el archivo

lilo.conf

Page 76: Sistema Operativo de Uso Libre

Felipe Cervantes Ruiz

Recuperarse del fallo de un kernel

Es algo común que se produzcan errores durante las primeras

etapas de aprendizaje, para ello es conveniente siempre conservar

una copia del último kernel funcional en el directorio /boot y añadir en

el archivo lilo.conf, la opción de poder arrancar desde allí, un ejemplo

de lilo.conf de este tipo sería el siguiente:

Page 77: Sistema Operativo de Uso Libre

Felipe Cervantes Ruiz

boot=/dev/hda

map=/boot/map

install=/boot/boot.b

prompt

timeout=50

linear

default=linux

image=/boot/vmlinuz-2.2.14-5.0

label=old

read-only

root=/dev/hda1

image=/boot/vmlinuz-2.2.16

label=linux

read-only

root=/dev/hda1

#cat /etc/lilo.conf :

Page 78: Sistema Operativo de Uso Libre