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, ..