Introducción a UNIX y LINUX - ergodic.ugr.esergodic.ugr.es/cphys/lecciones/linux/linux.pdf ·...

95
Introducción a Introducción a UNIX y LINUX UNIX y LINUX

Transcript of Introducción a UNIX y LINUX - ergodic.ugr.esergodic.ugr.es/cphys/lecciones/linux/linux.pdf ·...

Introducción a Introducción a UNIX y LINUXUNIX y LINUX

2

ContenidosContenidos

• Cómo funciona UNIX y Linux• Acceso a Unix

• Algunos comandos sencillos• Ficheros y Directorios• Procesos

• La shell• Redes

3

Sistemas OperativosSistemas Operativos

• Sistema operativo (SO): software (programa) encargado de gestionar y usar el hardware (piezas)

• Interfaz amigable para interactuar con la compleja red de circuitos y componentes del ordenador

• Ejemplos de SO: Windows, Mac-OS, Linux• Linux: SO libre desarrollado por voluntarios• Linux: misma funcionalidad que UNIX (privativo)

TOP500: LINUX (87.80%), UNIX (4.60%), WINDOWS (1%)

4

PropiedadesPropiedades del UNIX/LINUX del UNIX/LINUX

• Potente, flexible y versátil• Éxito creciente

• Multitarea y multiusuario• Buen entorno para redes• Portabilidad

• Potentes entornos gráficos

5

• Es un Sistema Operativo• Está formado por:

Núcleo

Shell

Sistema de archivos

Utilidades

Hardware

Núcleo

Shell

Programas de Aplicación

Com

pone

nte

s del

Com

pila

dor

Com

pila

dor

¿Qué es el Unix?¿Qué es el Unix?

6

El núcleoEl núcleo

• Interactúa directamente con el hardwareFunciones:

• Gestión memoria• Control de acceso al ordenador y permisos• Mantenimiento sistema de archivos• Manejo interrupciones• Manejo Errores• Servicios I/O• Asignación de recursos entre usuarios• Control de procesos y comunicaciones entre

procesos

Hardware

Núcleo

Shell

Programas de Aplicación

Com

pone

ntes

de

l C

ompi

lado

r

Com

pila

dor

7

La ShellLa Shell

• Intérprete de órdenes (equivale al COMMAND.COM de MS-DOS)Incluye un lenguaje de programación para

procesamiento por lotes

Existen distintos tipos de shell:• Sh

• C-shell, k-shell, tc-shell

• bash-shell (LINUX por defecto)

Hardware

Núcleo

Shell

Programas de Aplicación

Com

pone

ntes

de

l C

ompi

lado

r

Com

pila

dor

8

• Archivo: unidad básica de organización de la información.Método lógico

Sistema de archivos jerárquico

Archivos locales o en red transparentes (NFS)

Sistema de archivosSistema de archivos

9

Diferencias notables entre el UNIX y otros Sistemas Operativos

• Fácil instalación de nuevos programas

• La shell conoce dónde debe buscar las órdenes

Utilidades:• Edición y procesamiento de texto• Gestión de información• Comunicaciones electrónicas y para redes• Cálculos, etc.

UtilidadesUtilidades

10

• SOLARISSistema Operativo de Sun Microsystems

• IRIXPara estaciones de trabajo y ordenadores de Silicon

Graphics.

• HP-UXSistema Operativo de ordenadores Hewlett-PackardLa última versión es HP-UX 11.0

• DEC OSF/1El sistema en uso por Digital (Compaq-ahora HP).Soporte de 64 bits.

Variantes de Unix (I)Variantes de Unix (I)

11

• LINUXDifusión libre y gratuita.

Para múltiples plataformas.

Muy potente y muy bien adaptado a los estándares de UNIX.

Gran cantidad de aplicaciones.

Variantes de UNIX (II)Variantes de UNIX (II)

12

• DOSDesarrollado por Microsoft

Sistema mono-usuario

No existen control de permisos de ficheros.

Programas pueden quedar residentes.

No existen el concepto de procesos.

Sólo para procesadores Intel.

Comparación de UNIX con otros Comparación de UNIX con otros Sistemas OperativosSistemas Operativos

13

• Windows NT/2000/XPDesarrollado por Microsoft

Sistema mono-usuario

Control de recursos, permisos y usuarios

Multitarea

Altas prestaciones

Permite aplicaciones en modo servidor

Para procesadores Intel, Alpha y MIPS

Comparación de UNIX con otros Comparación de UNIX con otros Sistemas Operativos (II)Sistemas Operativos (II)

14

• Mediante:La propia consola del ordenador con UNIX

Una terminal

Un ordenador personal (emuladores de terminal)

• Por conexiones:Local

Puerto serie

Red

Acceso a un sistema UNIXAcceso a un sistema UNIX

15

• Si es vía serie es necesario hacer coincidir parámetros como la velocidad de transmisión, paridad, ...

• Mediante red local también se puede realizar una conexión en modo terminal utilizando el programa telnet o alguno similar.

• Si deseamos un entorno gráfico (X-Windows) se utilizan X-Terminales o equivalentes o bien desde la propia consola.

Modo TerminalModo Terminal

16

• Identificados por un nombre de usuario (hasta 8 caracteres)

• Tienen asociado un número UID (User ID)• root es el nombre del superusuario, UID=0• root tiene todos los privilegios• Existen usuarios propios del sistema que no

permiten que se utilicen para acceder al sistema.

Usuarios UNIXUsuarios UNIX

17

• Login: Se introduce el nombre del usuario• Password: Palabra secreta. El sistema sólo tiene

en cuenta los 8 primeros caracteres tecleados.Es aconsejable poner al menos unos 6 caracteres y que

sea una palabra no usual, pues los hackers tienen métodos de búsqueda de passwords, y lo hacen por búsqueda en diccionarios junto con reglas sencillas de números.

Acceso a UNIX (I)Acceso a UNIX (I)

18

• Tras la conexión nos aparece un símbolo $ o ~/acto03> ...

• Es el símbolo de la shell bash que indica que acepta una orden.

• Este símbolo se denomina en inglés “prompt”

• El “prompt” del superusuario es #

Acceso a UNIXAcceso a UNIX

19

• who nos indica los usuarios que están conectados de forma interactiva con el ordenador.

• finger muestra una información más amplia sobre los usuarios conectados.

• write usuario podemos enviar un texto a otro usuario para que le aparezca en pantalla.Si el usuario no está conectado no le llegará nada (debemos

distinguirlo de un mensaje enviado con mail)Tecleamos el mensaje y se acaba con Ctrl-D

Algunos comandos sencillos(I)Algunos comandos sencillos(I)

20

• talk permite establecer una conexión entre dos usuario de forma que pueden conversar simultáneamente escribiendo.

• mesg y|n controla si aceptamos órdenes write en nuestro terminal.

• wall mensaje envía el mensaje a todos los usuarios conectados en ese momento.

Algunos comandos sencillos(II)Algunos comandos sencillos(II)

21

• mail Permite enviar y leer mensajes de correo electrónico. En principio cada usuario dispone de una cuenta de correo electrónico dentro de la máquina. Es misión del administrador configurar la máquina si tiene acceso a Internet o alguna red privada para enviar y recibir mensajes fuera.

Algunos comandos sencillos(III)Algunos comandos sencillos(III)

22

• Para salir de la shell en cursoexit

Logout

• Vuelve a aparecer el login de acceso al sistema.

• O bien corta la conexión en una sesión telnet

Salir de la conexiónSalir de la conexión

23

• Estructura básica para almacenar información• Secuencias de bytes que se almacenan• Posee un nombre único que lo identifica• Pertenecen a un propietario y un grupo

• Tienen asociados un conjunto de permisos

Archivos (I)Archivos (I)

24

• Reglas para el nombre: Número máximo de caracteres. (Depende de la versión de UNIX)

• Es aconsejable utilizar caracteres que no tengan un significado especial para la shell, para evitar confusiones.

• Los nombres pueden acabar con cualquier extensión, o múltiples extensiones.

Archivos (II)Archivos (II)

25

• Los dispositivos (cdrom, disquette,..) se consideran como “archivos”.

• Se puede leer y escribir en un dispositivo como si fuera un archivo.

• Se puede transferir el contenido de un dispositivo a un fichero y viceversa (aunque no todos los dispositivos lo permiten).

Archivos especiales (I)Archivos especiales (I)

26

• Permiten agrupar ficheros• Poseen una estructura jerárquica

• En principio no hay limitación del número de ficheros dentro de un directorio. Sólo estamos limitado por el espacio en disco

DirectoriosDirectorios

27

• Estructura de árbol:

/ (root)

etc dev home bin

javier nieves ignacio

datos .profile .profile

clientes

Estructura jerárquica de archivosEstructura jerárquica de archivos

28

• Se hace referencia a los nombres de directorio utilizando la / para separar niveles./home/nieves/datos/mi_fichero

• Si no se comienza con / entonces se entiende relativo al directorio actual.datos/mi_fichero

• En MS-DOS se utiliza \.

Movimiento por archivos y directoriosMovimiento por archivos y directorios

29

• / Directorio raíz (inicio del árbol).• /home Contiene los directorios de los usuarios.• /bin Ordenes usuales y utilidades.• /usr Programas, librerías y ficheros de uso normal• /dev Dispositivos del sistema (realmente no

contiene ficheros sino referecias a dispositivos)

El árbol de directorios de UNIX El árbol de directorios de UNIX estándar (I) estándar (I)

30

• /etc Contiene ficheros de configuración.• /sbin Contiene programas necesarios de inicio

del sistema.• /tmp Contiene ficheros temporales.• /var Contiene ficheros de spool de datos,

logs....• /proc Información sobre el sistema.• /lib Librerías de ejecución.

El árbol de directorios de UNIX El árbol de directorios de UNIX estándar (II)estándar (II)

31

• La orden que nos dice en cada momento la ruta completa de dónde nos encontramos es pwd (print working directory).

Mostrar directorio actualMostrar directorio actual

32

• La orden ls es bastante parecida a la orden DIR de MSDOS.

• ls nos muestra los archivos del directorio actual.

• Podemos especificar un nombre de directorio o caracteres y comodines para seleccionar archivos. Ejemplo: ls fich*

Información contenida en un Información contenida en un directorio (I)directorio (I)

33

• ls –l nos muestra información extendida sobre los archivos.

• ls –a muestra todos los ficheros, pues aquellos que comienzan por . No aparecen con ls

• Podemos combinar opciones: ls –la muestra todos los archivos y una línea con su tamaño fecha de modificación, permiso y número de enlaces “hard”

Información contenida en un Información contenida en un directorio (II)directorio (II)

34

• ls –d muestra los directorios.• ls –R muestra el directorio actual y los

subdirectorios

Información contenida en un Información contenida en un directorio (III)directorio (III)

35

• cd nombre_directorio• Debemos tener permiso para poder acceder

a dicho directorio, de lo contrario se rechaza.

Cómo cambiar de directorioCómo cambiar de directorio

36

• cat nombre_fichero• También muestra varios ficheros, uno tras de otro si

se especifican varios nombres.• Se puede congelar la salida mediante Ctrl-S y

restablecer mediante Ctrl-Q.• Con Ctrl-C cancelamos la salida.• Unix es un sistema orientado a buffers de forma que

puede parecer que no responde instantáneamente a dichas órdenes y es debido a los buffers intermedios.

Visualización del contenido de un Visualización del contenido de un ficherofichero

37

• cp nombre_original nuevo_fichero• Podemos realizar copias recursivas con la

orden: cp –r nombre_directorio1 nombre_directorio2

Copiará los archivos y los subdirectorios

• cp origen1 origen2 destinoCoge los dos ficheros y los copia al destino

Cómo copiar ficherosCómo copiar ficheros

38

• Algunas otras opciones:-d Copia los enlaces simbólicos. (Sino por defecto

se copia el contenido del original)

-p Preserva intactos: Propietario, grupo, permisos y fechas

Cómo copiar ficheros (II)Cómo copiar ficheros (II)

39

• mv antiguo_nombre nuevo_nombre• Si movemos archivos entre sistemas de

ficheros diferentes, automáticamente se realiza una copia física para trasladar los datos, y después, borra los originales.

• En el mismo sistema de ficheros sólo se cambia el nombre, no se desplazan los datos.

• Permite cambiar archivos y directorios.

Mover ficheros y directoriosMover ficheros y directorios

40

• Borrar uno o múltiples ficheros con rm• También se puede borrar un directorio con

todo su contenido mediante un borrado recursivo.

• rm –r nombre_directorio• ¡Cuidado! Lo borrado NO se puede

recuperar

Cómo borrar ficherosCómo borrar ficheros

41

• La orden que se utilizar en Unix para crear un directorio es

mkdir nombre_directorio• Podemos crear el directorio que deseemos en un

path o camino que no tiene nada que ver con dónde va a estar este nuevo directorio, sin mas que especificar toda la ruta de creación del mismo.

Cómo crear un directorioCómo crear un directorio

42

• La orden que se utiliza en Unix para borrar un directorio es

rmdir nombre_directorio

• También se pueden eliminar múltiples directorios y utilizar comodines

• Un directorio se borra si está totalmente vacio

Cómo eliminar un directorioCómo eliminar un directorio

43

• Directorio actual .• Directorio padre ..• Directorio home ~

• Ej:cp fich1 ..

cp fich1 ~

cp fich2 ~/datos

Conceptos: directorio actual, padre y Conceptos: directorio actual, padre y homehome

44

• UsuariosDel propietario (u)

Del grupo (g)

Otros (o)

• PropiedadLectura (r)

Escritura (w)

Ejecución (x)

Permisos de ficherosPermisos de ficheros

45

• PropiedadLectura de ficheros (r)

Crear, borrar y modificar archivos (w)

Ver el contenido del directorio (x)

Permisos de directoriosPermisos de directorios

46

• Se puede utilizar + y – para conceder o denegar permisos.

• La orden que utiliza Unix para cambiar privilegios es chmod, a la que hay que añadir una serie de parámetros.

• Ej. chmod ug+x fichero_1 datos*• Da permiso de ejecución para usuario y grupo de los

ficheros indicados

Cómo cambiar permisosCómo cambiar permisos

47

• more Permite mostrar la información de un fichero o la que produzca otro programa por pantalla de forma que se vaya parando de pantalla en pantalla.

• Ej: ls –la | moreLa salida de ls se trasfiere a more y éste la va mostrando de

pantalla en pantalla.

• Para mostrar un fichero cat nombre_fich | more• Existen algunos UNIX donde directamente podemos

escribir more nombre_fichero

Inspección de archivos Inspección de archivos

48

• head –10 nombre_fich muestra las 10 primeras líneas de un fichero.

• tail –100 nombre_fich muestra las 100 últimas líneas de un fichero.

Visualización del comienzo y final de Visualización del comienzo y final de ficherosficheros

49

• Cada programa que ejecuta el ordenador es un proceso.

• El S.O. puede ejecutar varios procesos asignando pequeñas fracciones de tiempo a cada uno de forma que parece que todos funcionan simultáneamente.

• Algunos procesos pueden estar “congelados” de forma que se le dedica el tiempo a aquellos procesos que realmente necesitan “tiempo”.

Procesos (I)Procesos (I)

50

• Un proceso puede “crear” otro proceso.• Relación padre-hijo• Init es el proceso padre de todos.• A cada proceso se le asigna un número (PID)

process ID• Un “daemon” (demonio) es un proceso

residente que generalmente está a la espera de realizar alguna función. Ej: lpd es el “daemon” de impresión.

Procesos (II)Procesos (II)

51

• Si un proceso “padre” muere, también desaparecerán sus procesos hijos.

• Esto puede evitarse con nohup comando &

• En este caso es el “abuelo” que hará las veces de padre.

Procesos (III)Procesos (III)

52

• Es importante que una máquina UNIX disponga de mucha memoria RAM, para tratar de tener la mayor cantidad de información en RAM, incluidos los procesos en ejecución.

• UNIX permite memoria virtual.Es útil pero puede ralentizar considerablemente un

proceso (xosview)

Procesos (IV)Procesos (IV)

53

• En ejecución (Running)• Dormidos (Sleeping)

• En espera de Entrada/Salida (Waiting)• Zombies (Z)

Estados posibles de procesosEstados posibles de procesos

54

Planificación del procesosPlanificación del procesos

• El S.O. planifica en función de:La prioridad del proceso

Los requisitos de CPU en instantes anteriores

Si se pueden suspender un proceso por procesos de espera.

Si se deben atender interrupciones de periféricos (de disco, red local, puertos serie,...)

55

• En UNIX System V, ps –ef muestra información de todos los

procesos.

• En UNIX BSD, ps ax

Información de procesos (I)Información de procesos (I)

56

• Ejemplo de salida con psPID TTY STAT TIME COMMAND2403 ? S 0:00 smbd2424 ? S 0:00 in.telnetd2425 p0 S 0:00 -bash2471 p0 R 0:00 ps ax2472 p0 S 0:00 more 63 ? S 0:00 /usr/sbin/rpc.por• TIME: (Hora:Minutos consumidos de CPU)

Información de procesos (II)Información de procesos (II)

57

• top muestra información de los procesos de forma que se actualiza periódicamente.Aparecen ordenados en función del % de consumo de CPU. 2:14am up 2 days, 3:33, 1 user, load average: 0.07, 0.02, 0.0054 processes: 53 sleeping, 1 running, 0 zombie, 0 stoppedCPU states: 1.7% user, 9.6% system, 0.0% nice, 88.6% idleMem: 30824K av, 30112K used, 712K free, 20584K shrd, 12412K buffSwap: 124956K av, 2496K used, 122460K free 3992K cached

PID USER PRI NI SIZE RSS SHARE STAT LIB %CPU %MEM TIME COMMAND11009 root 18 0 716 716 556 R 0 11.4 2.3 0:00 top 1 root 0 0 108 68 48 S 0 0.0 0.2 0:02 init 2 root 0 0 0 0 0 SW 0 0.0 0.0 0:01 kflushd 3 root -12 -12 0 0 0 SW< 0 0.0 0.0 0:03 kswapd 4 root 0 0 0 0 0 SW 0 0.0 0.0 0:00 md_thread

Información de procesos (III)Información de procesos (III)

58

• Es un pequeño mensaje de un proceso a otro.

• La señales en realidad son números. Del 0 al 30.

• Cada número representa un tipo de señal, que suelen entender muchos procesos.

• El receptor puede “ignorar” la señal o atenderla.

Señales a procesos (I)Señales a procesos (I)

59

• kill envía una señal a un proceso.• Todos los procesos cuando reciben la señal 9

(SIGKILL) entienden que deben “desaparecer” .

• Otra señal útil es la 1 (SIGHUP) pues suele utilizarse en muchos “daemons” para reactulizar sus tablas.Ej: kill –1 389 ó kill –SIGHUP 389

Señales a procesos (II)Señales a procesos (II)

60

ComodinesComodines

• Como ocurre en DOS, ? * permiten actuar de comodines para uno o múltiple caracteres.

• UNIX amplia de forma que se puede especificar un conjunto de caracteres válidos [abz] o rangos [a-m] o excluir rangos [^a-m]

• ls [a-m]*• cp [ab]* /home/usuario

• rm c[^0-4]*

61

Entrada estándarEntrada estándar

• Es posible redireccionar la entrada de teclado y salida por pantalla de muchos programas a otro alternativo.

• comando < archivo_de_entradaEl contenido del fichero se dirige al comando

62

Salida estándarSalida estándar

• También podemos reencaminar la salida a un fichero.comando > fichero_salida

• Ej:ls –la > salida

• Podemos añadir a un ficherocomando >> fichero_salida

ls b* >>salida

• O bien utilizar tanto entrada como salidasort <fichero_desordeando > salida

63

Salida de erroresSalida de errores

• Sh permite redirigir las salidas correspondiente a errones a una salida distinta de la salida estándar con 2>

• rm prueba 2> erroresSi esta orden provoca un error (por que el fichero no

exista o no haya permiso ) dicho mensaje se enviará al fichero errores en lugar de la pantalla.

64

SalidasSalidas

• /dev/null es una especie de papelera• Actua como un fichero que siempre está

vacio. • De forma que las salidas que no deseamos

que aparezcan por pantalla o a un fichero se pueden enviar a dicho archivo.

• Ej: rm datos >/dev/null 2>/dev/null

65

Encauzamiento o “pipes”Encauzamiento o “pipes”

• Es posible que la salida estándar de un programa se envíe directamente a la entrada estándar de datos de otro programa.ls c* | more

echo “mi texto” | cat > fich3

echo “mi texto” > fich3

66

MensajesMensajes

• Echo permite sacar mensajes por pantallaecho “esto es una prueba”

• Podemos combinarlo con un redireccionamiento de la salida Echo “otra prueba” > prueba2En este caso se crea un fichero llamado prueba2

con el texto otra prueba.Las comillas “” permiten incluir espacios en el texto.

67

Variables de la ShellVariables de la Shell

• Las shell poseen variables que se pueden utilizar para:Configuración personal de nuestro entorno de

trabajo.

Información.

Transferir pequeños parámetros entre un proceso padre y otro hijo.

68

Variables del Shell (II)Variables del Shell (II)

• Set permite: Mostrar las variables y asignar valores.

set VARIABLE=valor• En realidad las variables contienen un texto de forma

que si necesitamos incluir espacios podemos indicar el inicio y final con “”

• Para que un hijo herede una variable del padre, previamente el padre debe exportarla.

69

Variables del Shell (III)Variables del Shell (III)

• Ej:SET TERM=vt100

TERM=vt100 (también se puede escribir sin SET)

export TERM

• Podemos ver el contenido o asignar a otra.echo $VARIABLE

VAR2 = ${TERM}”y otro contenido”

{} indican donde comienza y acaba el nombre de la variable para no confundirlo con el resto del texto.

70

Variables del Shell (IV)Variables del Shell (IV)

• unset variable elimina la variable.• Algunas variables de la shell:

HOME indica el directorio “home” del usuario.

PATH directorios donde buscar un comando (el directorio por defecto . debe estar para que pueda encontrar un comando en el directorio actual

TERM indicamos que tipo terminal

USER nombre del usuario (login)

PS1 prompt del sistema, $, se puede cambiar

71

Variables del Shell (V)Variables del Shell (V)

• Algunas variables propias de la shell:$? valor de salida del último comando.

$$ valor del número de identificación de proceso

$!valor del número de identificación de proceso del último hijo que se invocó.

• Ej:

echo $$

23763 (obtenemos el PID de la shell)

72

Caracteres especiales en Shell (I)Caracteres especiales en Shell (I)

• Barra invertida (\) : se toma el siguiente carácter literalmente.

• Comillas sencillas (‘’) : lo que va entre comillas sencillas se toma íntegramente.

• Comillas dobles (“”): Se interpretan $(variable) la barra invertida y comillas sencillas.

• Punto y coma (;): Separa comandos.• Comillas invertidas (``): Evalúa expresiones.

73

Caracteres especiales en Shell (II)Caracteres especiales en Shell (II)

• Ej:echo ; lsecho \; lsecho “;” lsecho $HOMEecho “mi home es $HOME” echo ‘mi home es $HOME’echo a b cecho “ a b c”echo ̀ ls`

74

Ejecución de órdenes en modo Ejecución de órdenes en modo subordinadosubordinado

• El UNIX permite ejecutar procesos de forma que trabajen en un segundo plano.

• comando & lanza el proceso en “background”

sort < entrada > salida &Nos muestra el PID del proceso creado

También nos avisará cuando acabe.

75

Control de trabajosControl de trabajos

• Podemos “supender” un proceso interactivo con Ctrl-Z.

• jobs nos permite ver los trabajosAparece una lista numerada de procesos.

• fg núm reactiva un proceso en “foreground”• bg num lleva el proceso a “background”

76

Ficheros de configuración de shFicheros de configuración de sh

• La shell puede ejecutar una serie de comandos automáticamente al iniciar una sesión de usuario (Equivalente al AUTOEXEC.BAT en DOS)

• /etc/profile definido por root se ejecutará siempre (se definen variables como TERM,...)

• .profile en nuestro HOME podemos editarlo y modificarlo

• .bashrc modifica los valores de la shell bash

77

Búsqueda de archivosBúsqueda de archivos

• find directorio –opciones criterios

Opciones más usuales:name: patrón de búsqueda del nombre

print: indica que se muestre el nombre

find / -name “pas*” –print

find .-name datos –print

78

Disco disponibleDisco disponible

• UNIX almacena la información en filesystems

• df muestra la información de cada fs. (Sean locales o remotos)

Filesystem 1024-blocks Used Available Capacity Mounted on

/dev/hda1 208260 142698 54808 72% /

79

Disco utilizadoDisco utilizado

• Se puede saber el espacio total ocupado por un conjunto de ficheros o subdirectorios.

du 9 ./default Desglosa por defecto

45 ./rc.d el tamaño de cada subdirectorio

12 ./ppp

10 ./slip

5 ./msgs al final indica el tamaño

401 . Total de todos incluidos

• La opción –s muestra el total sin desglosar los subdirectorios.

80

Búsquedas de texto Búsquedas de texto

• grep nos permite buscar cadenas de texto en un fichero, un conjunto de ficheros o la entrada estándar.

• Muestra todas las líneas donde aparece.grep cadena fichero

ps -ef | grep sendmail

• Para buscar en un conjunto de ficheros grep texto *.c

81

Contar elementos en ficherosContar elementos en ficheros

• wc hosts

• wc –c sólo cuenta caracteres• wc –l sólo cuenta líneas• wc –w sólo cuenta palabras

24 126 862

Líneas Palabras

Bytes

82

AlmacenamientoAlmacenamiento

Podemos reunir en un solo fichero varios ficheros de forma que es más practico para procesarlos (envío, copias de seguridad)

tar opciones lista• Opciones usuales:

x : extraec : crearv : ver los ficheros que se procesanf : indica el nombre del fichero

• Se pueden controlar tamaños de bloque, permisos,...

83

Almacenamiento (II)Almacenamiento (II)

Ej: ( es aconsejable acabar en .tar para recordar el formato)

tar cvf fich.tar c* : crea el fichero tar

tar recuerda la ruta indicada de almacenamiento (rel/abs)

tar cvf fich.tar . : almacenamiento relativo

tar cvf fich.tar /home/paco : almac. absoluto

tar xcf fich.tar : extrae fichero

tar tvf fich.tar : muestra el contenido

84

Compresión / DescompresiónCompresión / Descompresión

• Podemos comprimir el contenido de un fichero.• tar no comprime la información.• compress datos genera un fichero llamado

datos.Z (y elimina el original).• compress es estándar en UNIX y nos garantiza

portabilidad a otros sistemas.• Un fichero llamado nombre.tar.Z nos indica que

está comprimido con compress y que además utilizó tar.uncompress datos.Z :descomprime el fichero

85

Compresión/Descompresión (II)Compresión/Descompresión (II)

• Existen otros formatos de compresión (gzip, zip) que podemos encontrar en bastantes sistemas UNIX

gzip datos : genera un fichero llamado datos.z (y elimina el original).

gzip –d datos.z : descomprime el fichero

zip dt.zip datos : genera el fichero datos.zip

zip –k dt.zip datos : genera el fichero datos.zip compatible con el fomato zip de MSDOS.

unzip dt.zip :descomprime el fichero zip

86

Tareas (I)Tareas (I)

• Tipos: (el superusuario debe autorizar su uso)

Eventuales (at, batch)

Períódicas (cron)• Cada usuario tiene su propia listas para cron, at y batch• Aconsejable controlar las salidas hacia ficheros• Si no se especifican ficheros de salida, cualquier mensaje de

salida estándar o de errores se enviará por correo electrónico al usuario.

• batch es similar a at pero ejecutará los comandos cuando la carga del sistema lo permita (aproximadamente menor de 0.8)

87

Tareas (II)Tareas (II)

Para at y batch:• La secuencia de órdenes se introducen por la

entrada estándar

at expresión :podemos definir con expresión que se ejecute a una hora y día determinados.

atq : muestra nuestros procesos pendientes

atrm : podemos eliminar un proceso pendiente

88

Tareas (III) atTareas (III) at

• Expresiones:

now + n (minutes| hour|days|weeks)

(now | today | tomorrow)

4 pm : define una hora

4 pm Jul 29 : define fecha y hora• Ej: (el resultado la orden ls se enviará por mail)

$echo ls | at now + 1 minute

warning: commands will be executed using /bin/sh

job 1 at 1999-10-20 13:34

$atq

1 1999-10-20 13:34 a

$atrm 1

89

Tareas (IV) cronTareas (IV) cron

crontab nos permite definir cada tarea

crond es el daemon de control de tareas.crontab –e permite editar (por defecto usa el vi)1 * * * * /etc/cron.hourly

02 4 * * * /etc/cron.daily

22 4 * * 0 /etc/cron.weekly

42 4 1 * * /etc/cron.monthly

Min hora dia mes dia-semana

Podemos especificar numeros, rangos - ,

Ej: ejecutar a las 1 y 3 de la madrugada: 0 1,3 * * *

ejecutar a las 1,2,3, y 7 de la madrugada: 0 1-3,7 * * *

90

Redes de área LocalRedes de área Local

• Transmisión de información:Intercambio de datos. (Sistemas de ficheros,

correo electrónico, servidores de bases de datos,ftp)

Ejecución remota (telnet, ssh, cálculo)

Aplicaciones (WWW)

91

EthernetEthernet

• Define el nivel físicoCableado (Cable coaxial,UTP) (lím.distancia)

Velocidad de transmisión: 10/100 Mbit/s

• Formato de los paquetes: IEEE 802.3

Número ethernet: Ej: 00:60:50:23:25:5B (6 bytes expresados en hexadecimal)

Permite soportar múltiples protocolos

92

Verificaciones para Verificaciones para comprobar la red:comprobar la red:

ping

Tablas de enrutamiento:route

traceroute

tcpdump

/proc/net

93

Linux como servidor NFSLinux como servidor NFS

• NFS Servidor de ficheros: (ampliamente utilizado entre máquinas UNIX)/etc/exports

mountd

nfsd

94

Seguridad en LinuxSeguridad en Linux

- Limitación de acceso:/etc/hosts.allow

/etc/hosts.deny

- Limitación en ftp:/etc/ftpusers

/etc/ftpaccess

/etc/ftphosts

Acceso remoto de impresoras (lpd)

/etc/hosts.lpd

95

X-WindowsX-Windows

• Similar a windows• Concepto de servidor• Editores: xemacs

• Graficos: xmgrace, gnuplot, ..