primeros pasos con un sistema operativo - frbaafurfaro/clases/info1/...as´ı nos encontramos con...

59
Inform ´ atica I Primeros pasos con un Sistema Operativo Alejandro Furfaro Marzo 2011

Upload: others

Post on 10-Jun-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Primeros pasos con un Sistema Operativo - FRBAafurfaro/Clases/Info1/...As´ı nos encontramos con diferentes “nombres” de Linux: Debian, Ubuntu, Red Hat, Slackware, Mandriva, Susse,

Informatica I

Primeros pasos con un Sistema Operativo

Alejandro Furfaro

Marzo 2011

Page 2: Primeros pasos con un Sistema Operativo - FRBAafurfaro/Clases/Info1/...As´ı nos encontramos con diferentes “nombres” de Linux: Debian, Ubuntu, Red Hat, Slackware, Mandriva, Susse,

Temario

1 Sistema OperativoPrimeros conceptos

2 LinuxGeneralidadesEl shellComandos BasicosFile SystemProcesosMas acerca del Shell

3 Conclusiones

Alejandro Furfaro () Primeros pasos con un Sistema Operativo Marzo 2011 2 / 59

Page 3: Primeros pasos con un Sistema Operativo - FRBAafurfaro/Clases/Info1/...As´ı nos encontramos con diferentes “nombres” de Linux: Debian, Ubuntu, Red Hat, Slackware, Mandriva, Susse,

Sistema Operativo Primeros conceptos

¿Que es un Sistema Operativo?

DefinicionUn sistema operativo es una coleccion de programas que se encargande administrar los recursos del computador, proveyendo a losdiferentes usuarios que pueden estar logueados al sistema laposibilidad de utilizar los recursos de hardware y software del mismosin necesidad de conocer detalles escabrosos y de manera segurapara sı y para el resto.

Alejandro Furfaro () Primeros pasos con un Sistema Operativo Marzo 2011 3 / 59

Page 4: Primeros pasos con un Sistema Operativo - FRBAafurfaro/Clases/Info1/...As´ı nos encontramos con diferentes “nombres” de Linux: Debian, Ubuntu, Red Hat, Slackware, Mandriva, Susse,

Sistema Operativo Primeros conceptos

Caracterısticas de un SO

1 El sistema operativo se instala en la memoria del computadorcuando este se enciende

2 Toma el control permitiendonos ingresar al sistema (login), utilizaraplicaciones y a traves de estas acceder a los recursos dehardware del sistema.

3 Provee ademas una coleccion de funciones a las que se invocamediante llamadas predefinidas por el sistema y que devuelvenresultados de manera tambien definida.

4 Estas se conocen como API (Aplication Programming Interface),y son especificaciones de funciones en lenguaje C.

.

Alejandro Furfaro () Primeros pasos con un Sistema Operativo Marzo 2011 4 / 59

Page 5: Primeros pasos con un Sistema Operativo - FRBAafurfaro/Clases/Info1/...As´ı nos encontramos con diferentes “nombres” de Linux: Debian, Ubuntu, Red Hat, Slackware, Mandriva, Susse,

Sistema Operativo Primeros conceptos

Caracterısticas de un SO

5 La implementacion de las API dentro del Sistema Operativo, esdecir, la forma en que se resuelve la llamada efectuada desde unprograma de aplicacion, se conocen como System Calls.

6 El conjunto de programas que constituyen el Sistema Operativopropiamente dicho y la implementacion de las System Calls sedenomina kernel (nucleo).

7 Por lo general el sistema operativo posee una interfaz de usuariopor lo menos denominada Shell . El Shell es un interprete decomandos que se encarga de traducir los pedidos del usuario einvocando las System Calls apropiadas los lleva adelante.

.

Alejandro Furfaro () Primeros pasos con un Sistema Operativo Marzo 2011 5 / 59

Page 6: Primeros pasos con un Sistema Operativo - FRBAafurfaro/Clases/Info1/...As´ı nos encontramos con diferentes “nombres” de Linux: Debian, Ubuntu, Red Hat, Slackware, Mandriva, Susse,

Sistema Operativo Primeros conceptos

El Shell

8 Al inicio de los sistemas de computo la interfaz del shell era enmodo texto, y aun hoy se sigue utilizando debido a su agilidad y ala potencia de los comandos en muchos casos. Esta interfaz seconoce actualmente como modo consola.

9 Con el devenir de los progresos en materia de Hardware el shellpaso tambien a versiones GUI (Graphic User Interface). Este es elmodo nativo del Sistema Operativo Windows, aunque losprimeros antecedentes de GUI’s se registran en los sistemas X deUnix, y en las Mac.

.

Alejandro Furfaro () Primeros pasos con un Sistema Operativo Marzo 2011 6 / 59

Page 7: Primeros pasos con un Sistema Operativo - FRBAafurfaro/Clases/Info1/...As´ı nos encontramos con diferentes “nombres” de Linux: Debian, Ubuntu, Red Hat, Slackware, Mandriva, Susse,

Sistema Operativo Primeros conceptos

El Shell

Primer cuestion a destacar:El shell es solo una aplicacion encargada de la interaccion con elusuario. No es parte del sistema operativo . De hecho en el mundoUnix (y por ende Linux) cuando se menciona el kernel se habla delSistema Operativo, y viceversa.

Alejandro Furfaro () Primeros pasos con un Sistema Operativo Marzo 2011 7 / 59

Page 8: Primeros pasos con un Sistema Operativo - FRBAafurfaro/Clases/Info1/...As´ı nos encontramos con diferentes “nombres” de Linux: Debian, Ubuntu, Red Hat, Slackware, Mandriva, Susse,

Sistema Operativo Primeros conceptos

Arquitectura general de un S.O. UNIX Like

Alejandro Furfaro () Primeros pasos con un Sistema Operativo Marzo 2011 8 / 59

Page 9: Primeros pasos con un Sistema Operativo - FRBAafurfaro/Clases/Info1/...As´ı nos encontramos con diferentes “nombres” de Linux: Debian, Ubuntu, Red Hat, Slackware, Mandriva, Susse,

Linux Generalidades

¿Que es Linux?

LinuxEs una implementacion de un kernel basado en UNIX. Por lo tanto losentornos de operacion y desarrollo de aplicaciones son muy similares. Tal esası que cualquier programa escrito en UNIX puede compilarse y ejecutarseen Linux. Fue desarrollado originalmente por Linus Torvalds en laUniversidad de Helsinki, como trabajo de Tesis final. Luego de supresentacion y graduacion, Linus lanzo una invitacion a la comunidad deinternet para contribuir al desarrollo de un Sistema Operativo basado enUNIX, pero bajo la licencia GPL (General Public Licence) basada en elconcepto GNU (sigla recursiva que significa GNU’s Not Unix) impulsado porRichard Stallman. Ası crecio hasta transformarse en lo que es actualmente:Un Sistema Operativo completo, estable y sobre todas las cosas de fuentesabiertos. No utiliza codigo de ninguna implementacion comercial de UNIX.

Alejandro Furfaro () Primeros pasos con un Sistema Operativo Marzo 2011 9 / 59

Page 10: Primeros pasos con un Sistema Operativo - FRBAafurfaro/Clases/Info1/...As´ı nos encontramos con diferentes “nombres” de Linux: Debian, Ubuntu, Red Hat, Slackware, Mandriva, Susse,

Linux Generalidades

Desarrollo

1 Linus Torvalds se encarga junto con un grupo de desarrolladores de desarrollary mantener el kernel. Nada mas.

2 Las diversas y por cierto muy numerosas aplicaciones que se conocen paraLinux son producto de otros desarrolladores que adhieren a la licencia GeneralPublica (GPL).

3 Cualquier persona que quiera hacer una contribucion al desarrollo del kernel lopuede hacer pero el filtro final y control de consistencia con el resto del kernelqueda a cargo de Torvalds y su equipo. Ası funciona.

4 Un usuario sumamente experto, puede tomar los fuentes de la version de kernelque desee en http://www.kernel.org, descargarlos en su computador, bajar elcompilador gcc, de http://gcc.gnu.org, compilar el kernel, y descargarle lasaplicaciones que desee, pudiendo tener que compilar una por una o en algunoscasos encontrar ya disponible un paquete en los formatos mas comunes: rpm, odeb, por citar los mas populares.

Alejandro Furfaro () Primeros pasos con un Sistema Operativo Marzo 2011 10 / 59

Page 11: Primeros pasos con un Sistema Operativo - FRBAafurfaro/Clases/Info1/...As´ı nos encontramos con diferentes “nombres” de Linux: Debian, Ubuntu, Red Hat, Slackware, Mandriva, Susse,

Linux Generalidades

Distribuciones

Afortunadamente para los humildes mortales existen las distribuciones.

Linux se entrega al publico usuario mediante distribuciones, casi desde susinicios. (Igualmente la opcion de compilarlo existe, y esta muy bien que ası sea).

Diversas comunidades de desarrolladores se dedican a compilar la ultimaversion del kernel, agregarle los shells (texto y grafico), las aplicaciones, uninstalador customizado, testear el conjunto, y distribuirlo en forma de un sistemaoperativo instalable desde CD’s o DVD, o subir las imagenes de CD’s o DVD ainternet, a las que solo hay que bajarlas, quemar los discos, y a instalar.

Ası nos encontramos con diferentes “nombres” de Linux: Debian, Ubuntu, RedHat, Slackware, Mandriva, Susse, Knoppix, etc. Hay muchos mas. Lo que debetenerse siempre presente es que Linux es El kernel. Y este no varıaindependientemente de la distribucion (o distro como suelen decirle tambien)que adoptemos.

Alejandro Furfaro () Primeros pasos con un Sistema Operativo Marzo 2011 11 / 59

Page 12: Primeros pasos con un Sistema Operativo - FRBAafurfaro/Clases/Info1/...As´ı nos encontramos con diferentes “nombres” de Linux: Debian, Ubuntu, Red Hat, Slackware, Mandriva, Susse,

Linux El shell

La consola (aunque estemos en modo grafico)

Alejandro Furfaro () Primeros pasos con un Sistema Operativo Marzo 2011 12 / 59

Page 13: Primeros pasos con un Sistema Operativo - FRBAafurfaro/Clases/Info1/...As´ı nos encontramos con diferentes “nombres” de Linux: Debian, Ubuntu, Red Hat, Slackware, Mandriva, Susse,

Linux El shell

¿Con que se come?

El shell es un entorno que en principio resulta bastante arido. Si no seconocen algunos comandos basicos es muy difıcil comenzar a trabajar.Todo lo que tenemos es un sımbolo denominado prompt, quegeneralmente es el caracter $.Los comandos son en general sumamente potentes y poseen, por lotanto, una cantidad de opciones que resulta muy ingrato retener en lamemoria, especialmente para estudiantes de Ingenierıa que deberaneducar su mente para la deduccion racional y no para la memorizacionsistematica.man, por manual es el punto de partida para el principiante.Posee la documentacion de los comandos del sistema y tambien de unagran cantidad de funciones que forman parte de las system calls.Para invocarlo es man seguido del nombre del comando.

Alejandro Furfaro () Primeros pasos con un Sistema Operativo Marzo 2011 13 / 59

Page 14: Primeros pasos con un Sistema Operativo - FRBAafurfaro/Clases/Info1/...As´ı nos encontramos con diferentes “nombres” de Linux: Debian, Ubuntu, Red Hat, Slackware, Mandriva, Susse,

Linux El shell

man

Tip para principiantes:Recomendamos al lector principiante, en primer lugar tipear:

$ man man

Ahora sabemos como pedir ayuda.man es una aplicacion de uso muy frecuente.

Tip para principiantes:Lo recomendable es para cada comando que necesitemos utilizarlistar su documentacion en el man para ver las opciones disponibles ycomo aprovechar mejor sus posibilidades.

Alejandro Furfaro () Primeros pasos con un Sistema Operativo Marzo 2011 14 / 59

Page 15: Primeros pasos con un Sistema Operativo - FRBAafurfaro/Clases/Info1/...As´ı nos encontramos con diferentes “nombres” de Linux: Debian, Ubuntu, Red Hat, Slackware, Mandriva, Susse,

Linux Comandos Basicos

Antes que nada, otra vez el prompt

$ se denomina prompt (ındice), y solo es una indicacion de que elshell esta listo para recibir nuestros comandos.Puede modificarse su aspecto mediante procedimientos que noexplicaremos aun, pero si el lector observa con detenimiento elslide “La Consola”, vera que en la ventana de fondo negro elprompt dice:

alejandro@notebook : ˜ $

alejandro es mi userID, notebook es el nombre que le di a micomputador cuando instale Linux, y es una forma abreviada quenos proporciona Linux, para referenciar el home directory denuestro usuario.¿home directory?

Alejandro Furfaro () Primeros pasos con un Sistema Operativo Marzo 2011 15 / 59

Page 16: Primeros pasos con un Sistema Operativo - FRBAafurfaro/Clases/Info1/...As´ı nos encontramos con diferentes “nombres” de Linux: Debian, Ubuntu, Red Hat, Slackware, Mandriva, Susse,

Linux Comandos Basicos

Home Directory

Como todo sistema operativo, Linux organiza el disco duro denuestro computador en una estructura jerarquica de directorios (ocarpetas), dentro de los cuales existen mas directorios, oarchivos.Cada usuario posee lo que Linux denomina un Home Directory.Aquı es donde aparecemos cada vez que efectuamos un login.Es nuestra plataforma de despegue por defecto.Generalmente la ruta esta en /home/nombre del usuario.Este directorio se crea junto con el usuario en el sistema, ejemplo/home/juan, /home/luis, /home/rober.Los usuarios, juan, luis, y rober cada vez que pasen el loginingresando su nombre (userID) y password, arrancaran en susdirectorios “Home”.

Alejandro Furfaro () Primeros pasos con un Sistema Operativo Marzo 2011 16 / 59

Page 17: Primeros pasos con un Sistema Operativo - FRBAafurfaro/Clases/Info1/...As´ı nos encontramos con diferentes “nombres” de Linux: Debian, Ubuntu, Red Hat, Slackware, Mandriva, Susse,

Linux Comandos Basicos

Primeros comandos (Abran una consola por favor :) )

¿Como comprobar el directorio en el que nos encontramos?.

$ pwd

¿Como listar el contenido de un directorio?.

$ l s

Hay opciones que proveen una salida mas generosa.

$ l s − l s

¿Hay mas opciones?. Seguro:

$ man l s

Alejandro Furfaro () Primeros pasos con un Sistema Operativo Marzo 2011 17 / 59

Page 18: Primeros pasos con un Sistema Operativo - FRBAafurfaro/Clases/Info1/...As´ı nos encontramos con diferentes “nombres” de Linux: Debian, Ubuntu, Red Hat, Slackware, Mandriva, Susse,

Linux Comandos Basicos

Primeros comandos¿Como ingresamos a un directorio?.alejandro@notebook : ˜ $ cd Desktop /alejandro@notebook : ˜ / Desktop$

Observar el resultado en el prompt. Se va incluyendo la ruta dedirectorios para tener al usuario orientado acerca de donde seencuentra y evitar el uso del comando pwd.Generalmente ordenaremos nuestro trabajo en directorios demodo que necesitamos poder crearlos.$ mkdir i n f o i

¿Nos equivocamos con el nombre?$ alejandro@notebook : ˜ $ rm i n f o irm : no se puede bo r ra r infoi : Es un d i r e c t o r i oalejandro@notebook : ˜ $ rm −r i n f o i

Ya esta borrado. Observar que no pregunta si estamos segurosde querer borrarlo. Lo borra y ya.

Alejandro Furfaro () Primeros pasos con un Sistema Operativo Marzo 2011 18 / 59

Page 19: Primeros pasos con un Sistema Operativo - FRBAafurfaro/Clases/Info1/...As´ı nos encontramos con diferentes “nombres” de Linux: Debian, Ubuntu, Red Hat, Slackware, Mandriva, Susse,

Linux Comandos Basicos

Entradas . y ..

Listaro un directorio agregando la opcion ’a’ a ls.$ l s −l as

Aparecen dos nodos, que en el campo nombre llevan . y ..respectivamente. es la referencia al directorio actual... es la referencia al nodo padre del actual. ¿como se entiendeesto?, simple: Tipear en la consola$ cd . .

¿A donde fuiste a parar?Ahora tipea$ cd .

¿Y ahora donde estas parado?

Alejandro Furfaro () Primeros pasos con un Sistema Operativo Marzo 2011 19 / 59

Page 20: Primeros pasos con un Sistema Operativo - FRBAafurfaro/Clases/Info1/...As´ı nos encontramos con diferentes “nombres” de Linux: Debian, Ubuntu, Red Hat, Slackware, Mandriva, Susse,

Linux Comandos Basicos

Buscando archivos (o mas genericamente “nodos”)

No recuerdo en donde queda el archivo sources.list , y necesitomodificarlo. . .

Tipear en la consola:$ f i n d / −name sources . l i s t −p r i n t

Mientras esperamos el resultado, si tenemos apuro probemos elsiguiente comando

Tipear en otra consola:$ loca te sources

Termino find?. Seguro que no. . . ¿porque?find tarda un tiempo considerable debido a que busca en el discoen forma recursiva cada en cada directorio que dependa delpunto de origen de la busqueda. En cambio locate, es uncomando que usa bases de datos que mantiene el sistemaoperativo y es mas simple y rapido.

Alejandro Furfaro () Primeros pasos con un Sistema Operativo Marzo 2011 20 / 59

Page 21: Primeros pasos con un Sistema Operativo - FRBAafurfaro/Clases/Info1/...As´ı nos encontramos con diferentes “nombres” de Linux: Debian, Ubuntu, Red Hat, Slackware, Mandriva, Susse,

Linux Comandos Basicos

Buscando archivos (o mas genericamente “nodos”)

Cuando se quiere saber en donde se ubica un archivo quecontiene un binario ejecutable, existe un comando especıfico:which.

Tipear en la consola:alejandro@notebook : ˜ $ which l s/ b in / l salejandro@notebook : ˜ $

Aunque en general los programas estan en las siguientes rutas1 /bin: Binarios, programas utilizados durante el booteo del sistema.2 /usr/bin: Binarios de usuario, programas estandar disponibles para

usuarios.3 /usr/local/bin: Binarios locales, programas especıficos de una

instalacion.

Alejandro Furfaro () Primeros pasos con un Sistema Operativo Marzo 2011 21 / 59

Page 22: Primeros pasos con un Sistema Operativo - FRBAafurfaro/Clases/Info1/...As´ı nos encontramos con diferentes “nombres” de Linux: Debian, Ubuntu, Red Hat, Slackware, Mandriva, Susse,

Linux Comandos Basicos

Operando archivos (o mas genericamente “nodos”)

Crear con mkdir un directorio llamado info1 en el Home delusuario.Cambiar con cd a este directorio.¿Como copiamos aqui dentro archivos?

Tipear en la consola:alejandro@notebook : ˜ / i n fo1$ cp / e tc / passwd .alejandro@notebook : ˜ / i n fo1$ l s −l ast o t a l 124 drwxr−xr−x 2 a le jandro a le jandro 4096 ene 24 12:24 .4 drwx−−−−−− 92 a le jandro a le jandro 4096 ene 24 09:07 . .4 −rw−r−−r−− 1 a le jandro a le jandro 1525 ene 24 12:24 passwdalejandro@notebook : ˜ / i n fo1$

El archivo /etc/passwd contiene informacion de los diferentesusuarios que existen definidos en el sistema, sus UserID, y lascontrasenas (en realidad hay una x o un * en ese campo)

Alejandro Furfaro () Primeros pasos con un Sistema Operativo Marzo 2011 22 / 59

Page 23: Primeros pasos con un Sistema Operativo - FRBAafurfaro/Clases/Info1/...As´ı nos encontramos con diferentes “nombres” de Linux: Debian, Ubuntu, Red Hat, Slackware, Mandriva, Susse,

Linux Comandos Basicos

hablando de passwords....

Las contrasenas se encriptan mediante un algoritmo que tiene laparticularidad de generar una clave unica en el sentido directo,pero en el inverso (es decir tratando de descifrar la clave) arrojamas de un resultado, y todos diferentes del original.Una vez que se define la contrasena para un usuario, esta sealmacena encriptada en un archivo e configuracion.De modo que al logearnos, cuando introducimos la clave, la unicaforma de validarla es encriptarla y comparar los valoresencriptados buscando que sean iguales. Una vez encriptadanuestra password, nadie la podra descifrar.

Alejandro Furfaro () Primeros pasos con un Sistema Operativo Marzo 2011 23 / 59

Page 24: Primeros pasos con un Sistema Operativo - FRBAafurfaro/Clases/Info1/...As´ı nos encontramos con diferentes “nombres” de Linux: Debian, Ubuntu, Red Hat, Slackware, Mandriva, Susse,

Linux Comandos Basicos

¿Como cambio mi contrasena?

Con el comando passwd. Primero pide la contrasena actual, yluego la nueva en dos oportunidades para asegurarnos que latipeamos correctamente.Para ampliar informacion del comando, man passwd.Para conocer mas del archivo de configuracion: man 5 passwd¿Que es el 5?: El numero de capıtulo el man. El Capıtulo 5contiene informacion de los archivos de configuracion. Esto esporque en UNIX comandos, archivos de configuracion y systemcalls comparten en ocaciones el mismo nombre. Cada uno sedescribe en sendos capıtulos del man.Probar man -a passwd

Alejandro Furfaro () Primeros pasos con un Sistema Operativo Marzo 2011 24 / 59

Page 25: Primeros pasos con un Sistema Operativo - FRBAafurfaro/Clases/Info1/...As´ı nos encontramos con diferentes “nombres” de Linux: Debian, Ubuntu, Red Hat, Slackware, Mandriva, Susse,

Linux Comandos Basicos

Visualizando el contenido

Para mostrar el contenido de un archivo en la consola, elcomando es cat. Si el archivo es binario, la salida es unjeroglıfico, y si es texto, podemos leerlo.Cuando el contenido del archivo es muy extenso tal vez convengautilizar el comando paginador more .En ambos casos se tipea el comando seguido del nombre delarchivo. Cualquier duda... man .

Alejandro Furfaro () Primeros pasos con un Sistema Operativo Marzo 2011 25 / 59

Page 26: Primeros pasos con un Sistema Operativo - FRBAafurfaro/Clases/Info1/...As´ı nos encontramos con diferentes “nombres” de Linux: Debian, Ubuntu, Red Hat, Slackware, Mandriva, Susse,

Linux Comandos Basicos

Filros simples y otros comandos miscelaneos

Desde el inicio UNIX definio una serie de comandos para trabajar comofiltros en busquedas fundamentalmente de strings

Tipear en la consola:alejandro@notebook : ˜ / i n fo1$ grep roo t passwdroo t : x : 0 : 0 : roo t : / r oo t : / b in / bashalejandro@notebook : ˜ / i n fo1$

En ocasiones es util conocer cuantos caracateres y cuantas palabras hayalmacenados en un archivo.

Tipear en la consola:alejandro@notebook : ˜ / i n fo1$ wc passwd

33 49 1525 passwdalejandro@notebook : ˜ / i n fo1$

Repetir el comando con -l, -w, y -c.

Alejandro Furfaro () Primeros pasos con un Sistema Operativo Marzo 2011 26 / 59

Page 27: Primeros pasos con un Sistema Operativo - FRBAafurfaro/Clases/Info1/...As´ı nos encontramos con diferentes “nombres” de Linux: Debian, Ubuntu, Red Hat, Slackware, Mandriva, Susse,

Linux File System

Que es y quien lo maneja

Un file system es un conjunto de polıticas definidas para laorganizacion de la informacion en archivos dentro de un medio dealmacenamiento, de modo de permitir definir su ubicacion dentro deese medio y posibilitar el acceso a los datos contenidos por estos demanera simple y transparente a los detalles del hardware.

Los file system se definen siempre sobre los dispositivos dealmacenamiento masivo de informacion, como lo son los discos duros,los CD’s, DVD’s, por ejemplo.

El file system manager es una pieza de software de un sistemaoperativo que implementa las polıticas definidas para el file system.

Alejandro Furfaro () Primeros pasos con un Sistema Operativo Marzo 2011 27 / 59

Page 28: Primeros pasos con un Sistema Operativo - FRBAafurfaro/Clases/Info1/...As´ı nos encontramos con diferentes “nombres” de Linux: Debian, Ubuntu, Red Hat, Slackware, Mandriva, Susse,

Linux File System

Discos

Alejandro Furfaro () Primeros pasos con un Sistema Operativo Marzo 2011 28 / 59

Page 29: Primeros pasos con un Sistema Operativo - FRBAafurfaro/Clases/Info1/...As´ı nos encontramos con diferentes “nombres” de Linux: Debian, Ubuntu, Red Hat, Slackware, Mandriva, Susse,

Linux File System

Discos

Alejandro Furfaro () Primeros pasos con un Sistema Operativo Marzo 2011 29 / 59

Page 30: Primeros pasos con un Sistema Operativo - FRBAafurfaro/Clases/Info1/...As´ı nos encontramos con diferentes “nombres” de Linux: Debian, Ubuntu, Red Hat, Slackware, Mandriva, Susse,

Linux File System

El File System Manager.

Organiza esos sectores en archivos, directorios, enlaces, etc, y manteneractualizada la base de datos de los sectores que corresponden a cadaarchivo, directorio, enlace, etc. proporcionando una interfaz de mas alto nivel,y mas facil de manejar:

Puede ser accedido a traves de una red de datos (network file system)

Puede construirse en forma dinamica en la memoria RAM delcomputador en el momento en que arranca el Sistema Operativo ynunca residir en el disco. (Virtual file systems).

Puede Hostearse en cualquier medio de almacenamento magnetico uoptico. O sea en los discos locales del computador.

Puede tambien hostearse en una memoria Flash. Aunque no es optimosu funcionamiento, ya que la memoria para ser modificada debe antesser borrada, y no permite acceso secuencial como los discos. Muy utilen Embedded systems.

Alejandro Furfaro () Primeros pasos con un Sistema Operativo Marzo 2011 30 / 59

Page 31: Primeros pasos con un Sistema Operativo - FRBAafurfaro/Clases/Info1/...As´ı nos encontramos con diferentes “nombres” de Linux: Debian, Ubuntu, Red Hat, Slackware, Mandriva, Susse,

Linux File System

Elementos de un file System

Cada elemento de un file system, (nodo), recibe un nombre que lo identificara.

En general los nombres se conforman con caracteres alfanumericos, especialesy de puntuacion, aunque cada sistema operativo utiliza determinados caracterespara propositos especiales.

Existe un grupo de caracteres especiales que no pueden utilizarse en losnombres de los nodos.

Ademas del nombre, un file system almacena para cada nodo un conjunto deinformacion adicional, que se denomina Metadata.

Tamano (cuenta exacta de bytes que componen el mismo o la cantidad debloques de disco que ocupa).Timestamps de creacion, y ultima modificacion de cada nodo.Tipo de nodo, es decir, si se trata de un archivo, o de un device, o de undirectorio, o de un enlace, etc.Que usuario es dueno del archivo, a que grupos de usuarios es accesible ypara que propositos (solo lectura, lectura/escritura, ejecucion, etc).

Alejandro Furfaro () Primeros pasos con un Sistema Operativo Marzo 2011 31 / 59

Page 32: Primeros pasos con un Sistema Operativo - FRBAafurfaro/Clases/Info1/...As´ı nos encontramos con diferentes “nombres” de Linux: Debian, Ubuntu, Red Hat, Slackware, Mandriva, Susse,

Linux File System

Comandos asociados al File System

Tipear en la consola los siguientes comandos

alejandro@notebook : ˜ / i n fo1$ l s −l as

alejandro@notebook : ˜ / i n fo1$ l s − l s / dev / p ts

alejandro@notebook : ˜ / i n fo1$ l s − l s / dev / sda *

alejandro@notebook : ˜ / i n fo1$ l s − l s / dev / scd *

alejandro@notebook : ˜ / i n fo1$ l s − l s / dev / cd*

alejandro@notebook : ˜ / i n fo1$ l s − l s / dev / sdc *

Alejandro Furfaro () Primeros pasos con un Sistema Operativo Marzo 2011 32 / 59

Page 33: Primeros pasos con un Sistema Operativo - FRBAafurfaro/Clases/Info1/...As´ı nos encontramos con diferentes “nombres” de Linux: Debian, Ubuntu, Red Hat, Slackware, Mandriva, Susse,

Linux File System

Links

Tipear en la consola los siguientes comandos

alejandro@notebook : ˜ / i n fo1$ l n passwd passwordalejandro@notebook : ˜ / i n fo1$ l s − l s

Ambos elementos figuran con 2 en el campo cantidad de enlaces.Esto significa que los archivos passwd, y password son dos entradasdiferentes en el file system pero con un punto importante en comun:apuntan a la misma area del disco.

Tipear en la consola el siguientes comandos y ver el resultado

alejandro@notebook : ˜ / i n fo1$ rm passwd

Alejandro Furfaro () Primeros pasos con un Sistema Operativo Marzo 2011 33 / 59

Page 34: Primeros pasos con un Sistema Operativo - FRBAafurfaro/Clases/Info1/...As´ı nos encontramos con diferentes “nombres” de Linux: Debian, Ubuntu, Red Hat, Slackware, Mandriva, Susse,

Linux File System

Soft Links

Tipear en la consola los siguientes comandos

alejandro@notebook : ˜ / i n fo1$ l n −s passwd passwordalejandro@notebook : ˜ / i n fo1$ l s − l s

Ahora el tipo de entrada de passwd se altero, apareciendo el caracter’l’ para denotar que se trata de un soft link. Y la cantidad de enlacesde ambas entradas permanece en 1 ya que de hecho son estructurasdiferentes: passwd es un archivito que apunta a password , es decirque contiene su ruta absoluta: /home/alejandro/info1/password.Prestar tambien atencion al cambio del timestamp.

Alejandro Furfaro () Primeros pasos con un Sistema Operativo Marzo 2011 34 / 59

Page 35: Primeros pasos con un Sistema Operativo - FRBAafurfaro/Clases/Info1/...As´ı nos encontramos con diferentes “nombres” de Linux: Debian, Ubuntu, Red Hat, Slackware, Mandriva, Susse,

Linux File System

Modificando metadata de un nodo

Tipear en la consola los siguientes comandos

alejandro@notebook : ˜ / i n fo1$ chmod g+w password

La forma de uso es “ugoa“ (User, Group, Others, All), seguido de ’+’ o’-’ segun se quiera agregar o quitar ese permiso respectivamente.alejandro@notebook : ˜ / i n fo1$ chmod 644 password

alejandro@notebook : ˜ / i n fo1$ chgrp roo t password

chown permite cambiar el usuario dueno y el grupo a la vez. Siempreque se escriba userID:groupIDSi queremos tocar el timestamp, el comando es touch.chown solo se puede ejecutar como superusuario (sudo).

Alejandro Furfaro () Primeros pasos con un Sistema Operativo Marzo 2011 35 / 59

Page 36: Primeros pasos con un Sistema Operativo - FRBAafurfaro/Clases/Info1/...As´ı nos encontramos con diferentes “nombres” de Linux: Debian, Ubuntu, Red Hat, Slackware, Mandriva, Susse,

Linux File System

Revisando el estado de los File Systems

Tipear en la consola los siguientes comandos

alejandro@notebook : ˜ $ d fS . f i c h e r o s Bloques de 1K Usado Dispon Uso %Montado en/ dev / sda1 40827224 11054676 27698592 29 % /tmpfs 1034988 8 1034980 1 % / l i b / i n i t / rwudev 1030196 248 1029948 1 % / devtmpfs 1034988 3864 1031124 1 % / dev / shm/ dev / sda2 192279132 177851260 4660604 98 % / home/ dev / sr0 679392 679392 0 100 % / media / cdrom0

Si tuviese inconvenientes por utilizar algun file system de las versionesSystem V de UNIX, la opcion -v, salva las compatibilidades y proveeesta misma salida del comando anterior

Alejandro Furfaro () Primeros pasos con un Sistema Operativo Marzo 2011 36 / 59

Page 37: Primeros pasos con un Sistema Operativo - FRBAafurfaro/Clases/Info1/...As´ı nos encontramos con diferentes “nombres” de Linux: Debian, Ubuntu, Red Hat, Slackware, Mandriva, Susse,

Linux File System

el arbol de directorios

La estructura de directorios en Unix y Linux es una estructura unificada a partir de unRoot ”/” file system. Independientemente de donde se monten fısicamente losdiferentes File System todos los directorios se organizan bajo el Root file system.Veremos a continuacion los principales directorios que existen y cual es su propositoo contenido, bajo el File System Jerarquico de Linux. La descripcion aplica a lasdistribuciones Debian y Ubuntu. Si el lector lo compara con otras distribuciones puedeencontrar eventualmente alguna pequena diferencia con la estructura siguiente.Como primer cuestion se observa que el caracter ’/’ es el conector entre directorios.Esta convencion fue introducida por UNIX en 1969. Cuando aparece el DOS en 1980,copia el concepto jerarquico y muchısimos otros conceptos y elementos para manejarel file system FAT 12 con el que se inicio. Sin embargo adopto como conector elbackslash:’\’. Obviamente Windows continuarıa con esta notacion, con lo cual ahorael original parece estar al reves del universo. Paradojas de un exito comercial.

Alejandro Furfaro () Primeros pasos con un Sistema Operativo Marzo 2011 37 / 59

Page 38: Primeros pasos con un Sistema Operativo - FRBAafurfaro/Clases/Info1/...As´ı nos encontramos con diferentes “nombres” de Linux: Debian, Ubuntu, Red Hat, Slackware, Mandriva, Susse,

Linux File System

el arbol de directorios

“/“ RootLa estructura de Directorios comienza con el Root file system ”/”, y sereconoce como la raız de toda la estructura de directorios./boot

Contiene los archivos del Boot loader incluyendo Grub o Lilo, el Kernel, elscript initrd que es el inicializador general del sistema, y los archivos deconfiguracion system.map./sys

Contiene archivos relacionados con el Kernel, el Firmware, y el sistema engeneral./sbin

Contiene los binarios esenciales para la Administracion del Sistema (sbinderiva de System BIN), que en general son herramientas para operacion yperformance del Sistema Operativo.

Alejandro Furfaro () Primeros pasos con un Sistema Operativo Marzo 2011 38 / 59

Page 39: Primeros pasos con un Sistema Operativo - FRBAafurfaro/Clases/Info1/...As´ı nos encontramos con diferentes “nombres” de Linux: Debian, Ubuntu, Red Hat, Slackware, Mandriva, Susse,

Linux File System

el arbol de directorios

/binContiene los binarios esenciales para uso del sistema por arte de losusuarios: cat, ls, cp etc./lib

Contiene los archivos de bibliotecas para todos los binarios contenidos en losdirectorios /sbin y /bin./dev

Contiene archivos esenciales para el sistema que permiten acceder a losDevice Drivers./etc

Contiene archivos de configuracion fundamentales del Sistema Operativo,como por ejemplo la configuracion del sistema de red, y tambien deaplicaciones importantes como el servidor X para implementacion de lasinterfaces graficas de usuario por ejemplo.

Alejandro Furfaro () Primeros pasos con un Sistema Operativo Marzo 2011 39 / 59

Page 40: Primeros pasos con un Sistema Operativo - FRBAafurfaro/Clases/Info1/...As´ı nos encontramos con diferentes “nombres” de Linux: Debian, Ubuntu, Red Hat, Slackware, Mandriva, Susse,

Linux File System

el arbol de directorios

/homeTodos los directorios home de los usuarios “cuelgan“ de este directorio, aexcepcion del usuario root cuyo directorio home esta en /root. El home decada usuario contiene archivos de configuracion personalizados, como porejemplo el archivo .profile./media

Es un directorio en el que se montan dispositivos removibles como Flashmemories, pen drives, camaras fotograficas, telefonos celulares 2G y 3G, yademas algunos dispositivos internos del computador tales como discosflexibles (floppy disk), CD’s, y DVD’s./mnt

Es un punto de montaje1 genericos para file systems temporarios./opt

En Linux se reserva para instalar Paquetes de Software opcionales (optproviene de OPTional).

Alejandro Furfaro () Primeros pasos con un Sistema Operativo Marzo 2011 40 / 59

Page 41: Primeros pasos con un Sistema Operativo - FRBAafurfaro/Clases/Info1/...As´ı nos encontramos con diferentes “nombres” de Linux: Debian, Ubuntu, Red Hat, Slackware, Mandriva, Susse,

Linux File System

el arbol de directorios

/usrUser data directory. Contiene aplicaciones y utilidades especıficas para losusuarios. Existe una muy importante cantidad de fle systems que puedenmontarse en Linux’. En ellos nuevamente podemos encontrar directorios bin,sbin, y lib. Se montan a partir de aquı en donde ademas pueden tener undirectorio include para disponer allı de todos los archivos include quenecesitan./usr/sbin

Contiene binarios del sistema y utilidades de red, que no son ni crıticos niesenciales./usr/bin

Contiene binarios para comandos de usuarios, que no son ni crıticos niesenciales.

Alejandro Furfaro () Primeros pasos con un Sistema Operativo Marzo 2011 41 / 59

Page 42: Primeros pasos con un Sistema Operativo - FRBAafurfaro/Clases/Info1/...As´ı nos encontramos con diferentes “nombres” de Linux: Debian, Ubuntu, Red Hat, Slackware, Mandriva, Susse,

Linux File System

el arbol de directorios

/usr/libAquı estan los archivos que contienen las librerıas de codigo que necesitanlos archivos binarios residentes en los directorios /usr/bin y /usr/sbin./usr/share

Es un directorio para alojar datos y archivos de configuracion independientesde la plataforma./usr/local

Tiene datos especıficos para la plataforma, correspondientes a aplicaciones.

Alejandro Furfaro () Primeros pasos con un Sistema Operativo Marzo 2011 42 / 59

Page 43: Primeros pasos con un Sistema Operativo - FRBAafurfaro/Clases/Info1/...As´ı nos encontramos con diferentes “nombres” de Linux: Debian, Ubuntu, Red Hat, Slackware, Mandriva, Susse,

Linux File System

el arbol de directorios

/varMuchas veces se suele montar como un File System separado a partir de ’/’.Contiene logs del sistema, spools de impresion, tareas scheduladas (atravnes del crontab,at) procesos en ejecucion (/var/run), y demas recursosespeciales del sistema./tmp

Mantiene archivos temporarios que se limpiaran cuando se reinicie elsistema. Existe ademas un /var/tmp con igual proposito, pero que tiene comodiferencia la capacidad de mantener esos archivos a salvo aunque se reinicieel sistema./proc

Es un pseudo file system que reside en memoria RAM generado por elsistema cuando arranca y mantenido a posteriori en tiempo real. Mantieneestados del kernel y de los procesos en archivos de texto planos facilmenteaccesibles, y no siempre bien documentados.

Alejandro Furfaro () Primeros pasos con un Sistema Operativo Marzo 2011 43 / 59

Page 44: Primeros pasos con un Sistema Operativo - FRBAafurfaro/Clases/Info1/...As´ı nos encontramos con diferentes “nombres” de Linux: Debian, Ubuntu, Red Hat, Slackware, Mandriva, Susse,

Linux File System

Montaje de un file system

En los sistemas UNIX los file system pueden ser locales,cuando residen en cualquiera de los discos del equipo quehostea el Sistema Operativo, o pueden residir en un equiporemoto al que el equipo local accede a traves de una red dedatos. En cualquier caso los file system se pueden montar(es decir hacerlos accesibles) o desmontar (es decir,volverlos invisibles a todos los usuarios, mediante doscomandos: mount y umount .

Alejandro Furfaro () Primeros pasos con un Sistema Operativo Marzo 2011 44 / 59

Page 45: Primeros pasos con un Sistema Operativo - FRBAafurfaro/Clases/Info1/...As´ı nos encontramos con diferentes “nombres” de Linux: Debian, Ubuntu, Red Hat, Slackware, Mandriva, Susse,

Linux File System

Montaje automatico de un file system

El sistema monta siempre dos file systems: / y /swap. Estos sonvitales para su existencia. Cualquier otro file system que deseamosmontar desde el inicio se debe declarar en un archivo del sistemaespecial para estos fines:alejandro@notebook : ˜ $ cat / e tc / f s t ab# / e tc / f s t ab : s t a t i c f i l e system in fo rma t i on .## < f i l e system><mount po in t> <type> <opt ions> <dump> <pass>proc / proc proc d e f a u l t s 0 0/ dev / sda2 / ext3 e r r o r s =remount−ro 0 1/ dev / sda5 none swap sw 0 0/ dev / scd0 / media / cdrom0 udf , iso9660 user , noauto 0 0/ dev / sda1 / mnt / windows n t f s−3g d e f a u l t s 0 0alejandro@notebook : ˜ $

Alejandro Furfaro () Primeros pasos con un Sistema Operativo Marzo 2011 45 / 59

Page 46: Primeros pasos con un Sistema Operativo - FRBAafurfaro/Clases/Info1/...As´ı nos encontramos con diferentes “nombres” de Linux: Debian, Ubuntu, Red Hat, Slackware, Mandriva, Susse,

Linux Procesos

Proceso y programa... ¿es lo mismo?

Un proceso es una instancia de ejecucion de un programa.Entonces: ¿cual es la diferencia?. No es trivial.Tomemos como ejemplo el comando ls. Por un lado es un programa escritoen lenguaje C. Sin embargo siendo UNIX y LINUX sistemas multiusuario ypueden existir en un momento varias personas ejecutando ls en formasimultanea. Cada instancia de ejecucion de ls es un proceso diferente.El sistema operativo asigna a cada proceso una serie de atributos: prioridad(esto implica que porcentaje del tiempo de uso de la CPU tendra asignada enrelacion al resto de los procesos que se ejecutan en el sistema), areas dememoria, recursos, y otros parametros que necesita cada sistema operativopara administrar su ejecucion.

Alejandro Furfaro () Primeros pasos con un Sistema Operativo Marzo 2011 46 / 59

Page 47: Primeros pasos con un Sistema Operativo - FRBAafurfaro/Clases/Info1/...As´ı nos encontramos con diferentes “nombres” de Linux: Debian, Ubuntu, Red Hat, Slackware, Mandriva, Susse,

Linux Procesos

Listando procesos

Tipear en la consola los siguientes comandos

alejandro@notebook : ˜ $ ps

TTY es el Numero de Terminal en la que se esta llevando a cabo la sesion dela que se ha creado el proceso.PID es un entero positivo de 16 bits que sirve para identificar el proceso.TIME el tiempo de CPU consumido hasta aqui por el proceso.CMD es el comando que se ejecuto en la sesion de shell iniciada en la TTYpaara crear el proceso en cuestion.

alejandro@notebook : ˜ $ ps −e l f

Alejandro Furfaro () Primeros pasos con un Sistema Operativo Marzo 2011 47 / 59

Page 48: Primeros pasos con un Sistema Operativo - FRBAafurfaro/Clases/Info1/...As´ı nos encontramos con diferentes “nombres” de Linux: Debian, Ubuntu, Red Hat, Slackware, Mandriva, Susse,

Linux Mas acerca del Shell

Everything is a file!. o mejor (KISS)

UNIX fue pensado desde su inicio de manera tal de fomentar una altareutilizacion de codigo.

Por ello es que el paradigma “everithing is a file”es un factor dominanteen el diseno del sistema.

Se trata como archivos, por ejemplo, a los dispositivos de E/S, lo cualsimplifica dramaticamente su uso. Por ejemplo: para acceder a la placade audio del equipo hay que manejar el “archivo”/dev/dsp.

Escribiendole informacion como a un archivo comun y corriente,hacemos que el parlante de nuestro equipo reproduzca lo que le hemosescrito.

Esta concepcion hace que con un grupo de 13 system calls resolvamosel acceso no solo a los archivos propiamente dichos sino a todo tipo derecursos. ¡Incluida la Entrada Salida!.

Al trabajar con codigo reutilizable, resolvemos muchos mas problemascon las mismas pocas rutinas, minimizando la probabilidad de erroresen el codigo.

Alejandro Furfaro () Primeros pasos con un Sistema Operativo Marzo 2011 48 / 59

Page 49: Primeros pasos con un Sistema Operativo - FRBAafurfaro/Clases/Info1/...As´ı nos encontramos con diferentes “nombres” de Linux: Debian, Ubuntu, Red Hat, Slackware, Mandriva, Susse,

Linux Mas acerca del Shell

file descriptor

En suma, cada vez que trabajemos con un archivo, o un dispositivo, ocualquier recurso que se pueda acceder con estas 13 system calls,obtendremos una referencia al mismo que se llama file descriptor. Estoes: Un numero entero positivo de 16 bits. Una vez obtenido se usa paratodos los accesos que se necesite hacer al elemento referenciado porel.

Ası cada proceso creado posee tres file descriptor por default ni bien escreado:

0 stdin (acronimo de standard input, que se refiere al teclado y cuyovalor es 0)

1 stdout (acronimo de standard output, que se refiere a la pantalla ycuyo valor es 1)

2 stderr (acronimo de standard error, que generalmente se refiere ala pantalla y cuyo valor es 2)

Alejandro Furfaro () Primeros pasos con un Sistema Operativo Marzo 2011 49 / 59

Page 50: Primeros pasos con un Sistema Operativo - FRBAafurfaro/Clases/Info1/...As´ı nos encontramos con diferentes “nombres” de Linux: Debian, Ubuntu, Red Hat, Slackware, Mandriva, Susse,

Linux Mas acerca del Shell

file descriptors standard

La salida default de un proceso es la pantalla. Es decir, cada vez quedeba enviar una salida, un resultado, un mensaje o lo que fuere alusuario, lo hara en la pantalla de la consola que tiene asignada elproceso. Esta consola no es otra que aquella desde cuyo shell seejecuto el comando que derivo en el referido proceso.

Lo mismo ocurre con los mensajes de error ya que la salida estandar deerror es la pantalla.

Y la entrada default del proceso (es decir, el dispositivo por el que elproceso esperara algun comando del usuario por default) es el teclado.

Alejandro Furfaro () Primeros pasos con un Sistema Operativo Marzo 2011 50 / 59

Page 51: Primeros pasos con un Sistema Operativo - FRBAafurfaro/Clases/Info1/...As´ı nos encontramos con diferentes “nombres” de Linux: Debian, Ubuntu, Red Hat, Slackware, Mandriva, Susse,

Linux Mas acerca del Shell

Conectando procesos

Uno de los operadores que introdujo el shell es ’|’, conocido como pipe.

¿De donde proviene ese nombre?. Una de las acepciones en ingles depipe es tubo. Y ası se comporta este comando.

Tipear en la consola los siguientes comandos

alejandro@notebook : ˜ $ l s − l s / dev | more

alejandro@notebook : ˜ $ l s −l as / dev | grep ram | more

alejandro@notebook : ˜ $ ps −ef | grep bash

Alejandro Furfaro () Primeros pasos con un Sistema Operativo Marzo 2011 51 / 59

Page 52: Primeros pasos con un Sistema Operativo - FRBAafurfaro/Clases/Info1/...As´ı nos encontramos con diferentes “nombres” de Linux: Debian, Ubuntu, Red Hat, Slackware, Mandriva, Susse,

Linux Mas acerca del Shell

Terminando procesos

Aprovechemos la salida de ps -ef |grep [nombre del proceso]

Ası podemos identificar el PID de un proceso que esta causandoproblemas, y...

Tipear en la consola los siguientes comandos

alejandro@notebook : ˜ $ ps −ef | grep dumb500 5572 3885 0 00:07 pts /1 00:00:00 dumb500 5576 3885 0 00:07 pts /1 00:00:00 grep dumbalejandro@notebook : ˜ $ k i l l 5572alejandro@notebook : ˜ $ ps −ef | grep dumb500 5576 3885 0 00:07 pts /1 00:00:00 grep dumbalejandro@notebook : ˜ $

A diferencia de otros casos de uso habitual, kill es inapelable. En elcaso de “resistencia”o “rebeldıas”por parte del proceso, la opcion-9 es . . . insecticida.

Alejandro Furfaro () Primeros pasos con un Sistema Operativo Marzo 2011 52 / 59

Page 53: Primeros pasos con un Sistema Operativo - FRBAafurfaro/Clases/Info1/...As´ı nos encontramos con diferentes “nombres” de Linux: Debian, Ubuntu, Red Hat, Slackware, Mandriva, Susse,

Linux Mas acerca del Shell

Redirecciones

Tipear en la consola los siguientes comandos

alejandro@notebook : ˜ $ ps −ef | grep dumb500 5572 3885 0 00:07 pts /1 00:00:00 dumb500 5576 3885 0 00:07 pts /1 00:00:00 grep dumbalejandro@notebook : ˜ $ k i l l 5572alejandro@notebook : ˜ $ k i l l 5572bash : k i l l : (5572) − No e x i s t e e l procesoalejandro@notebook : ˜ $

Alejandro Furfaro () Primeros pasos con un Sistema Operativo Marzo 2011 53 / 59

Page 54: Primeros pasos con un Sistema Operativo - FRBAafurfaro/Clases/Info1/...As´ı nos encontramos con diferentes “nombres” de Linux: Debian, Ubuntu, Red Hat, Slackware, Mandriva, Susse,

Linux Mas acerca del Shell

Redirecciones

Tipear en la consola los siguientes comandos

alejandro@notebook : ˜ $ cd I n fo1alejandro@notebook : ˜ / i n fo1$ k i l l 6698 > out . t x t 2>e r r . t x talejandro@notebook : ˜ / i n fo1$ cat out . t x talejandro@notebook : ˜ / i n fo1$ cat e r r . t x talejandro@notebook : ˜ / i n fo1$ k i l l 6698 > out . t x t 2>e r r . t x talejandro@notebook : ˜ / i n fo1$ cat out . t x talejandro@notebook : ˜ / i n fo1$ cat e r r . t x tbash : k i l l : (6698) − No e x i s t e e l procesoalejandro@notebook : ˜ / i n fo1$

Alejandro Furfaro () Primeros pasos con un Sistema Operativo Marzo 2011 54 / 59

Page 55: Primeros pasos con un Sistema Operativo - FRBAafurfaro/Clases/Info1/...As´ı nos encontramos con diferentes “nombres” de Linux: Debian, Ubuntu, Red Hat, Slackware, Mandriva, Susse,

Linux Mas acerca del Shell

Combinando salidas

Si queremos que ambas salidas vayan al mismo archivo el operador'⟩& 'nos permite redireccionar un file descriptor a otro.alejandro@notebook : ˜ / i n fo1$ k i l l 6698 > k i l l . t x t 2>&1

Tipear en la consola los siguientes comandos

alejandro@notebook : ˜ $ cd I n fo1alejandro@notebook : ˜ / i n fo1$ l s −l as / dev > devicesalejandro@notebook : ˜ / i n fo1$ l s −l asalejandro@notebook : ˜ / i n fo1$ cat <Nombres | s o r t >NombresAZalejandro@notebook : ˜ / i n fo1$ cat <Nombres | s o r t −r >NombresZAalejandro@notebook : ˜ / i n fo1$ tac NombresAZ > NombresZAalejandro@notebook : ˜ / i n fo1$ echo $HOME >> devicesalejandro@notebook : ˜ / i n fo1$ cat devices

Alejandro Furfaro () Primeros pasos con un Sistema Operativo Marzo 2011 55 / 59

Page 56: Primeros pasos con un Sistema Operativo - FRBAafurfaro/Clases/Info1/...As´ı nos encontramos con diferentes “nombres” de Linux: Debian, Ubuntu, Red Hat, Slackware, Mandriva, Susse,

Linux Mas acerca del Shell

$HOME?. Wellcome to the ENVIRONMENT!

El shell ademas de los comandos hasta ahora explicados (ymuchısimos otros que se aprenden utilizando el sistema yteniendo un espıritu inquieto), posee operadores que leotorgan un gran poderıo. Ademas existe algo llamadoENVIRONMET, que no es otra cosa que una coleccion devariables internas del sistema que se pueden modificardesde el shell y sirven para adoptar comportamientos defaultante determinadas situaciones o para configurar la sesionque llevamos adelante.

Alejandro Furfaro () Primeros pasos con un Sistema Operativo Marzo 2011 56 / 59

Page 57: Primeros pasos con un Sistema Operativo - FRBAafurfaro/Clases/Info1/...As´ı nos encontramos con diferentes “nombres” de Linux: Debian, Ubuntu, Red Hat, Slackware, Mandriva, Susse,

Linux Mas acerca del Shell

Combinando salidas

HOME es una variable del ENVIRONMET que contiene el path delhome directory del usuario. El operador ’$’ sirve para acceder alcontenido de una variable de entorno desde el shell.Tipear en la consola los siguientes comandos

alejandro@notebook : ˜ $ echo HOME

alejandro@notebook : ˜ / i n fo1$ echo $HOME

¿Que paso?

Tipear en la consola el siguiente comando

alejandro@notebook : ˜ $ p r i n t env PATH

Alejandro Furfaro () Primeros pasos con un Sistema Operativo Marzo 2011 57 / 59

Page 58: Primeros pasos con un Sistema Operativo - FRBAafurfaro/Clases/Info1/...As´ı nos encontramos con diferentes “nombres” de Linux: Debian, Ubuntu, Red Hat, Slackware, Mandriva, Susse,

Linux Mas acerca del Shell

PATH

La variable de entorno PATH fue creada en UNIX paraescribir en ella las rutas en las que el shell buscara alcomando requerido por el usuario si no se provee en elmismo el path absoluto. ¿Que es el path absoluto?. Es laruta (path) completa del archivo desde el directorio raız hastael subdirectorio en el que se encuentra. Por ejemplo/bin/bash, es el path absoluto de nuestro shell. La verdad esque nunca recordamos la ruta completa de un ejecutableası que escribimos su nombre “a secas”. La variable PATHtiene entonces las rutas de los comandos mas comunes delsistema. El shell buscara en esas rutas y si no lo encuentraarrojara el mensaje correspondiente pos stderr. PATH secompone de rutas separadas por el caracter ’:’

Alejandro Furfaro () Primeros pasos con un Sistema Operativo Marzo 2011 58 / 59

Page 59: Primeros pasos con un Sistema Operativo - FRBAafurfaro/Clases/Info1/...As´ı nos encontramos con diferentes “nombres” de Linux: Debian, Ubuntu, Red Hat, Slackware, Mandriva, Susse,

Conclusiones

Que aprendimos?

A movernos en un sistema operativo, nada menos.A entender como manejarnos en un file system.A comprender su estructura y la relacion de los recursosdisponibles, con los usuarios.A configurar algunas cosas de nuestro sistema.Que nos falta mucho por aprender, pero que es cuestion deutilizar Linux y familiarizarse.

Alejandro Furfaro () Primeros pasos con un Sistema Operativo Marzo 2011 59 / 59