Introducción al UNIX I

Anuncio
Allá hacia el año 1960 para introducir los programas tarjetas perforadas.
A partir de este año, en los laboratorios Bell se empieza a diseñar un sistema operativo que sea multitarea
y multiusuario.
Hay que decir que los ordenadores pueden ser:
Monotarea: el sistema operativo solamente puede ejecutar un programa a la vez.
Multitarea: el sistema operativo puede ejecutar varios programas "a la vez".
Monousuario: el sistema operativo solo puede ser usado por un usuario.
Multiusuario: el sistema operativo puede ser usado por varios usuarios.
Uno de los principios básicos de éste sistema es que sea multiusuario, y como consecuencia, deberá ser
multitarea, pues serÃ−a una tonterÃ−a tener un sistema multiusuario y monotarea, ya que si estuvieran varios
usuarios conectados a un mismo ordenador, solo uno de ellos podrÃ−a usar las aplicaciones o recursos del
equipo.
Ken Thomson y Denis Ritchie, de los laboratorios Bell, diseñaron un sistema multiusuario llamado
MULTICS, que se utilizó básicamente en ordenadores de gran tamaño.
Más tarde, hallá por 1969, y ya por su cuenta, éstos consiguieron que el sistema MULTICS funcionase
en una máquina pequeña. A este sistema se le llamó UNICS.
Este sistema operativo estaba escrito en ensamblador, por lo que solo funcionaba en la máquina desarrollada.
Por esta causa, hacia el 1973 decidieron reescribir todo el sistema operativo en C, un lenguaje de
programación superior, de manera que se pudiera utilizar en cualquier máquina, siempre y cuando ésta
dispusiera de un compilador especÃ−fico para transformar los comandos de C, en lenguaje máquina.
Con el paso del tiempo el sistema UNICS, pasó a llamarse UNIX.
Gracias a que los creadores de UNIX, dejaron el código fuente del sistema operativo abierto a todo el
mundo, y dárselo a las universidades, el sistema se ha ido expandiendo y mejorando con el paso del tiempo.
Esto es debido a que, debido a la liberación del código fuente, muchas universidades añadieron una
asignatura a impartir, de esta manera los estudiantes aprendÃ−an UNIX y podÃ−an crear sus propias
aplicaciones, además de que al acabar sus carreras i irse a trabajar, como éste era el sistema operativo que
conocÃ−an, era el sistema operativo que instalaban en las empresas en las que trabajaban. Aparte de que a las
empresas tampoco les costaba mucho dinero pues al ser un sistema libre, tan solo se debÃ−a pagar el soporte
del programa.
Años más tarde, en 1990, Linus Torvald adaptó el sistema UNIX para PC, que pasó a llamarse LINUX
en favor de su creador, que también decidió seguir con la filosofÃ−a del sistema UNIX y no registró el
sistema operativo.
Algunas de las caracterÃ−sticas de este sistema operativo son:
Su transportabilidad, pues al estar hecho en C, puede instalarse en cualquier máquina, siempre y cuando la
máquina tenga un compilador de C hasta el lenguaje máquina del propio ordenador.
1
Las medidas de seguridad que ofrece, pues se trata de un sistema multiusuario, y un usuario no tendrÃ−a que
poder borrar archivos o directorios de otro usuario.
Su capacidad multitarea, pues se permite realizar diferentes tareas a la vez (aunque más que a la vez, lo que
se hace es asignar y administrar tiempo de CPU a los diferentes recursos)
Se utiliza un sistema de archivos jerárquico, pues se parte de una raÃ−z y de allÃ− salen diferentes ramales.
Otra de las caracterÃ−sticas diferenciadoras del sistema es que trata los dispositivos como archivos, con lo
que las operaciones entrada/salida serán independientes al hardware.
Para entrar al sistema administrado por UNIX hace falta, en primer lugar, que el servidor y administrador del
sistema, esté conectado.
Una vez conectados se nos pedirá que introduzcamos nuestro login y nuestro password. Es importante
especificar que UNIX es un sistema que diferencia entre la escritura en minúsculas y mayúsculas, por lo
que el mismo nombre con un carácter cambiado por la misma letra en mayúscula o minúscula, el sistema
operativo pasarÃ−a a reconocerlo como una palabra diferente.
Si ponemos un login o password incorrecto, nos saldrá un mensaje: loging incorrect, y se nos ofrecerá la
posibilidad de volver a introducir los datos de entrada al sistema.
Una vez hayamos entrado en el sistema sale un mensaje como este:
Linux 2.0.30
Last login: Wed Jun 10 11:52:11 on ttyp1 from 192.168.1.9
No mail
En la primera lÃ−nea lo que se hace es informarnos de la versión de sistema operativo con el que estamos
trabajando.
En la lÃ−nea siguiente se nos informa de la última conexión (fecha, hora y desde que máquina lo
hicimos)
Por último se nos indica si hemos recibido algún mensaje
También aparece el prompt del sistema. Si somos un usuario el prompt es representado por el sÃ−mbolo
dólar $, mientras que si somos el administrador éste viene representado por la almohadilla (o matriz 2x2)
#.
En UNIX a diferencia de MS-DOS (sistema operativo por todos conocido), no existen unidades, sino que
está totalmente administrado y dividido en directorios.
Como antes hemos dicho, UNIX tiene una estructura jerárquica.
Al directorio principal o la raÃ−z, se le llama root y se le identifica con el sÃ−mbolo /.
De este directorio cuelgan una serie de subdirectorios, que son:
• bin: en el cual se guardan todos los archivos del sistema (los imprescindibles)
• lib: en el cual se guardan las diferentes librerÃ−as (=dll)
2
• etc: en el cual se guardan diferentes cosas (ejecutables prescindibles,...)
• home: en el cual se guardan los directorios propios de los usuarios
• dev: en el cual se guardan los ficheros de los dispositivos como por ejemplo el lp0 (impresora), fd0
(Floppy disk), sd0 (SCSI),...
• usr: en el cual se guardan los ejecutables de los usuarios.
En el sistema operativo UNIX podremos encontrar tres tipos de ficheros:
Los ordinarios, que son los ficheros normales donde se almacena la información, ejecutables,... (no usan
ningún tipo de extensión)
Los directorios, que se utilizan para contener ficheros u otros directorios
Los especiales, que son aquellos ficheros asociados a los dispositivos del sistema. (Y por los genera se
encuentran en el directorio dev)
Comandos
Exit
CTRL + D
Man
Passwd
Date
Cal
Who
Whoami
Pwd
Ls
Mkdir directorio
Rmdir directorio
Cd directorio
Cd ..
Mount destino origen
Cp origen destino
Rm archivo
Mv origen destino
Chmod propiedades archivo
Find archivo
Write usuari0
Talk usuario
More archivo
Cat archivo
Wc archivo
Ps
Kill PID
Df
Información
Salida del sistema
Salida de sistema, aplicaciones,...
Ayuda
Cambia el password de entrada al sistema
Nos muestra la fecha
Nos muestra el calendario
Nos muestra los usuarios conectados al sistema
Nos dice quien somos
Nos muestra la ruta en la que estamos
Lista los ficheros, archivos,...
Crea directorios
Borra directorios
Accedemos a un directorio
Salimos de un directorio
Monta dispositivos, carpetas,...
Copia archivos
Borra ficheros
Mueve los archivos o directorios
Cambia las propiedades de los archivos
Busca el archivo indicado
Para mantener conversaciones
Como Write (pero divide pantalla en dos)
Muestra el contenido de un fichero (con pausas)
Muestra el contenido de un fichero (sin pausas)
Nos muestra el número de lÃ−neas, palabras y caracteres del
fichero en cuestión
Informa de los procesos en marcha
Mata el proceso indicado
Nos muestra el espacio disponible del disco
3
Pine
Surge un menú para enviar correo electronico
Ping dirección IP
Comprueba funcionamiento de maquina indicada
Shutdown
Orden de desconexión del sistema (servidor)
Como en Ms-Dos, UNIX también dispone de los comodines (*) y las emulaciones de un carácter
indeterminado (?).
Por ejemplo:
Cat* = todos los archivos que empiecen pro cat
Cat?? = todos los archivos que empiecen por cat y tengan dos caracteres más
Dentro de la seguridad que debe proporcionar, podemos diferenciar diferentes niveles:
• seguridad frente a intrusos
para solucionar este problema, lo que UNIX hace es preguntarnos al iniciar la sesión nuestro login y nuestra
clave de acceso, de manera que si no estamos dado de alta dentro del sistema, no podremos entrar, a no ser
que tengamos el login y password correspondiente.
• seguridad en cuanto a la privacidad de la información almacenada
debe haber algún sistema para que ningún otro usuario entre en nuestras carpetas y acceda a todos nuestros
datos, pueda borrarlos,... Para evitar esto, UNIX dispone de una serie de permisos que se asignan a cada uno
de los archivos (incluye directorios), que el propietario de ellos puede modificar mediante la orden chmod.
La orden Chmod cambia los atributos de los ficheros. Estos atributos pueden ser:
r = permiso de lectura
w = permiso de escritura
x = permiso de ejecución
Estos atributos están agrupados de tres en tres [ (d) ---/---/--- ]
La primera letra (d), nos indica si estamos hablando de un directorio
Los tres primeros dÃ−gitos se refieren a los permisos que tiene el propietario, los siguientes tres dÃ−gitos se
refieren a los permisos que tiene el grupo y por último están los permisos dados al resto de usuarios (todos
los demás).
Un archivo con todos los permisos tendrÃ−a esta estructura rwx rwx rwx
Un archivo sin ningún permiso tendrÃ−a esta estructura --- --- --Para hacer el cambio tendremos que considerar que si concedemos una propiedad le asignaremos un numero
uno, mientras que si no se la damos le asignaremos cero.
De esta forma podremos formar tres números de tres dÃ−gitos (111 111 111), y cada uno se le puede asignar
un valor ( 7 7 7 ), contando en valor digital.
4
Para hacer cambios = chmod 740 carta.txt rwx r-- ---, asÃ− pues asignamos a este fichero llamado carta.txt las
propiedades de control total al propietario, solo lectura al grupo y ningún acceso al resto de usuarios.
Pasaremos ha comentar y dar ejemplos de las ordenes más utilizadas:
Mount: esta orden nos permite por ejemplo crear lo que es conocido en Ms-Dos como una unidad en una
carpeta. Para ello deberemos asignar el fichero, con la orden mount, aun directorio por nosotros creado.
Por ejemplo, si queremos ver el CD-ROM, en una carpeta llamada cdrom deberemos asignarle el fichero a
esta carpeta. Para ello haremos:
Mount /dev/hdb /cdrom
Ls: la opción listar tiene varias opciones:
• l = para ver los permisos de los ficheros
• a = muestra los archivos ocultos
• C = listado en forma de columna
• F = añade una marcador de *, si el archivo es ejecutable
Por ejemplo: ls -la, nos muestra todos los archivos (incluso ocultos) con sus respectivas propiedades.
Cp: contiene la opción -r que nos permite copiar un directorio junto con todos los subdirectorios que de él
cuelgan
Por ejemplo: cp -r /home/ferran/cuenta /home/ferran/raistlin, que copiará el directorio cuenta con sus
respectivos subdirectorios a otro directorio llamado raistlin
También podemos direccionar, para ellos utilizaremos < para direccionamiento de entrada, > para
direccionamiento de salida y >> para añadir datos conservando los datos anteriores.
Por ejemplo: cal 1979 > dates.txt copiamos los datos obtenidos a un fichero llamado dates.txt
Cuando ejecutamos el comando ps, aparece una pantalla como esta:
PID
TTY
TIME
COMMAND
28
04
0:20
Sh
272
04
0:03
Ps
Cuando efectuamos la orden kill, esta deberá ir acompañada por el número que hay bajo la columna PID.
Por ejemplo: kill 28
5
Descargar