Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Sistemas Operativos

Descargar como doc, pdf o txt
Descargar como doc, pdf o txt
Está en la página 1de 69

Sistemas Operativos

Tema 1: CONCEPTO BASICO DE SISTEMA OPERATIVO

1. Concepto

Dos tipos de S.O. :


- Windows
- U.N.I.X

El sistema operativo se define como el soporte lógico que controla el


funcionamiento del equipo físico.
El Sistema operativo pertenece a la parte de Software.

2. Funciones del Sistema Operativo

- Controla el Hardware de la maquina, los programas y


los datos.
- Maneja las asignaciones de porciones de recursos
físicos a cada programa individual.
- Maneja directamente el hardware para conseguir una
operación eficiente al mismo tiempo que garantiza un
buen tiempo de respuesta.
- Hace posible que los distintos programas compartan la
maquina sin interferirse.
- Maneja las entradas y salidas de los distintos
dispositivos.
- Maneja la creación y mantenimiento de ficheros,
facilitando la carga y ejecución de los programas,
compartiendo entre ellos el tiempo y la memoria
disponible.

3. Objetivos del Sistema Operativo

- Facilitar el trabajo al usuario


- Facilitar el dialogo y la comunicación entre el usuario
y la maquina.
- Mejorar la comunicación con lenguajes de alto nivel.
- Facilitar información de un sitio a otro
- Seguridad y fiabilidad del sistema operativo.
- Estructuración de ficheros de todo tipo.
- Control sobre los recursos consumidos por cada
programa.
- La intervención de los usuarios debe reducirse al
mínimo posible.
- Rendimiento económico del sistema debe optimizarse.

lunes, 18 de octubre de 1999

Evolución Histórica

El primer S.O datan de 1955, desarrollado por General Motors, y se realizan


para reducir los tiempos de espera de la unidad central de proceso (CPU , Central
Process Unit) entre dos trabajos consecutivos. Estos, trabajan en monoprogramación.

1ª Generación de S.O

 Al sistema operativo solo se le pide ayuda en operaciones de entrada y de


salida de datos y la traducción de lenguajes ensambladores.
 Admón.. del Hardware la realiza un operador, que normalmente era el que
había construido la maquina.

2ª Generación de S.O

 Surge el IOCS ( Input Output Control System ) que independiza el programa


del dispositivo.

3ª Generación de S.O

 Marca la Evolución de los Sistemas Operativos.


 Se produce un abaratamiento de la memoria principal.
 Se aumenta la velocidad de los periféricos.
 Se introducen canales para manejar periféricos a nivel físico de forma
independiente a la CPU. Un canal es un dispositivo que libera trabajo a la
CPU.
 Aparece la programación en tiempo real o tiempo compartido, técnicas de
aprovechamiento del procesador.
 Primeros conceptos sobre redes de ordenadores.

4ª Generación de S.O

 Se produce un abaratamiento de los procesadores


 Lo micros evolucionan
 Surge el Ordenador personal: Terminal inteligente de una red de
ordenadores. Se conectan ordenadores para ganar tiempo.
 Surgen las bases de datos relacionales, de gran importancia debido al
volumen de datos.
 Inteligencia artificial: sistemas expertos, automatización de oficinas, redes
locales, etc..
Los primeros S.O se cargaban enteros en memoria, dejando poca para los
demás programas. Por eso surgen los S.O de disco, que cargan a memoria los
programas de control que mas utiliza el usuario dejando el resto de
programas en disco. El núcleo del sistema operativo es la parte del mismo
que esta cargado en la memoria.

Sistemas operativos en disco:

- Núcleo: Parte del S.O cargada en memoria.


- S.O de disco: Parte que del S.O que se almacena en un
disco, y que cuando es necesitada, se carga como un
programa más.

Estructura de un S.O

- Programas de Control: Tienen a su cargo las funciones


de supervisión y aministración de los recursos del
sistema. Son el Núcleo del S.O.
- Programas de Proceso: Encargados de facilitar el
trabajo a los usuarios. ( Editores, traductores,
utilidades, etc.. )
- Programas de Aplicación: Los más utilizados por los
usuarios se desarrollan apoyándose en los programas
de proceso y se ejecutan bajo la supervisión de los
programas de control.

Tipos de Programa de Control:


- Cargador de Inicialización o IPL
- Supervisor
- Controlador de Trabajos
- Controlador de Datos
- Administrador de Memoria

Tipos de Programa de Proceso:


- Editores
- Traductores:
1. Ensambladores
2. Compiladores
3. Intérpretes
- Utilidades
Tipos de Programa de Aplicaciones:
- Verticales:
1. Nominas
2. Contabilidad

- Horizontales:
1. Hoja de Calculo
2. Sistemas Gráficos

martes, 19 de octubre de 1999

Explicación de los programas de control:

 Cargador de Iniciación o IPL(Initial Program Loaded): Programa que se


encuentra en la memoria ROM, se ejecuta por circuitería y su misión es
buscar en las unidades de disco el sistema operativo y cargarlo en memoria.
Los S.O se cargan siempre en el mismo sector para que el IPL lo pueda
localizar sin problemas.

 Supervisor: Programa encargado del control del sistema. Sus funciones son:

- Cargar los programas en la memoria principal.


- Colocar las aplicaciones que ejecutamos en la
memoria.
- Comunicación con el usuario.
- Comunicación con el controlador de trabajos cada vez
que halla que ejecutar un programa.
- Comunicación con el controlador de datos cada vez
que se realiza una operación de IO ( Input – Output)

 Controlador de trabajos: Cargado en memoria por el supervisor cada vez que


el usuario solicita la ejecución de un programa y su función consiste en
controlar el incio, la ejecución y la finalización de los programas,
devolviendo el control al supervisor al finalizar la tarea.
 Controlador de datos: Programa que procesa todas las operaciones de entrada
y de salida, comunicándose con los distintos periféricos.
 Administrador de Memoria: Controla los accesos a memoria. ( Es necesario
para aprovechar mas de 1MB de memoria ). En MSDOS si no se carga el
Himem.sys estaremos trabajando con 1MB de memoria.
Explicación de los programas de Proceso:

 Editores: Ayudan al programador para crear o modificar programas fuente.


 Traductores: Son programas que convierten un programa fuente en codigo
maquina. Tipos:
 Ensambladores: Traducen lenguajes de bajo nivel( similares
al lenguaje maquina ). Por cada instrucción de lenguaje de
bajo nivel se genera una instrucción en lenguaje maquina.
 Compiladores: Traduce todo el programa fuente antes de
ejecutarlo ( Traduce lenguajes de alto nivel corrigiendo
errores sintácticos).
 Intérpretes: Traduce una instrucción antes de ejecutarla,
posteriormente traduce la siguiente y la vuelve a ejecutar y asi
sucesivamente. De una instrucción de lenguaje de alto nivel se
generan varias instrucciones en lenguaje maquina.
 Utilidades: Son programas aportados por el sistema operativo para el
tratamiento de ficheros y dispositivos.

Definición de Proceso: Programa en ejecución, junto con un entorno


asociado. Una instrucción detrás de otra. Cada instrucción de lenguaje maquina
es un proceso independiete.

Bloque de control de procesos: Un proceso se representa por un conjunto


de datos que incluye el estado de proceso en cada momento ( Los recursos
utilizados, los registros, las variables, etc... )Denominándose toda la
información, bloque de control de procesos.

Un bloque de control de procesos tiene unos objetivos:

- Localización de la información sobre el proceso por


parte del sistema operativo. El S.O tiene que tener la
posibilidad de localizar el proceso.
- Mantener registrados los datos del proceso en el caso
de tener que suspender temporalmente su ejecución o
reanudarla.
Un bloque de control de procesos contiene la siguiente
información:

- Estado del Proceso: Esta información debera estar


siempre cargada en la memoria principal. Contiene
información relativa al contenido del controlador de
programas. El contador de programas es un contador
de instruccione que ejecuta un programa. El estado de
los procesos puede ser de los siguientes tipos:

 Activos: Aquellos que compiten por el procesador o estan en condiciones de


hacerlo. Dentro de estos podemos distinguir:
 En ejecución: Estado en el que se
encuentra un proceso cuando tiene el
control del procesador.
 Preparado: Dispuestos para ser
ejecutados.
 Bloqueados o en espera: No pueden
ejecutarse por necesitar algun recurso
que no esta disponible.
 Inactivos: Aquellos que no pueden competir por el procesador. Podemos
distinguir:
 Suspendido: Proceso suspendido en
espera de un evento sin que halla
desaparecido las causa de su bloqueo.
 Preparado: Proceso suspendido sin
tener causas por las que estar
bloqueado.
- Estado del procesador en cuanto a la prioridad de
proceso. Todos los procesos tienen una prioridad.
- El modo de ejecución.
- Estado de los registros internos del ordenador.
- Estadísticas de tiempo y ocupación de recursos para la
gestión de la planificación del procesador.
- Ocupación de la memoria interna y externa para el
intercambio.
- Recursos en uso, ficheros en uso y privilegios en uso.
EJERCICIO: Clasificar en que estado estan los siguientes procesos:

El proceso 1.1 esta es Ejecución El 2.2 esta Preparado


El proceso 1.2, 1.3 y 1.4 esta en Espera El 2.3 y 2.4 esta en Espera
El proceso 1.5 esta Preparado El 2.6 esta Preparado
El proceso 1.6 y 1.7 esta en Espera El 2.7 y el 2.8 en Espera
El proceso 1.8 esta Preparado El 2.9 esta Preparado
El proceso 1.9 y 1.10 esta en Espera El 2.10 esta en Espera

El 3.3 esta Preparado


El 3.4 y 3.5 esta en Espera
El 3.6 y 3.7 esta enPreparado
El 3.8 y 3.9 esta en Espera.
lunes, 25 de octubre de 1999

LOS DRIVERS

 Definición: Es el software formado por un conjunto de archivos y tablas que


ejecutan y controlan todas las operaciones de entrada y salida sobre cualquier
periférico conectado al ordenador. Son particulares para cada dispositivo.
Una vez cargados pasan a formar parte del núcleo del S.O.
 Funciones:
 Definir las características del dispositivo al S.O.
 Inicializar los registros asociados al periférico, en el
momento del arranque del S.O
 Habilitar y deshabilita el dispositivo para un proceso.
 Procesar todas las operaciones de Entrada y de Salida
solicitadas por un proceso.
 Cancelar todas las operaciones de Entrada/Salida en el
momento que sea necesario y por cualquier motivo.
 Procesar todas las interrupciones hardware generadas por el
dispositivo.
 Tratar los errores y estado del dispositivo haciendo la
correspondiente comunicación con el usuario.

LOS FICHEROS

 Definición: Colección de datos estructurados de una forma particular y


empleada con un determinado propósito.
 Clasificación:
 Según su forma de utilización:
o Ficheros de Entrada: Cuya información es
introducida a la memoria del ordenador, y son
creados con anterioridad al proceso que los
utiliza.
o Ficheros de Salida: Almacenan la información
que sale de la memoria en los soportes de
almacenamiento externo. Se crean durante la
ejecución de un programa.
o Ficheros de Entrada y Salida: Combinan las
dos acciones, introducen y obtienen
información de la memoria.

 Según su función:
o Ficheros Maestros: También denominados
permanentes, y son aquellos cuyo contenido es
esencial para la aplicación que los utiliza.
Varios tipos:
1. De Situación: Contienen en cada
momento la información actualizada,
utilizándose en procesos de tiempo real.
2. Constantes: Aquellas cuya información
no suele alterarse debido a la naturaleza
de los datos que contiene. Son
utilizados sobre todo para consultas.
3. Históricos: Contienen información
acumulada a lo largo del tiempo,
obtenida de los ficheros de situación y
son utilizados para la obtención de
estadísticas.

o Ficheros de Movimiento: Aquellos cuya


información modifica la de los ficheros
maestros, lo que conlleva la actualización de
los mismos.

o Ficheros de Trabajo: También denominados


de maniobra, son los que utiliza el sistema para
contener resultados intermedios de un proceso.
Finalizado este proceso el propio sistema los
borrara. ( Archivos Temporales )

martes, 26 de octubre de 1999

CARACTERÍSTICAS DE LOS FICHEROS DE DATOS

 El Tamaño: Se calcula en función de las longitudes de los registros,


multiplicado por el numero de registros que contenga. Ej.:

 El Crecimiento: Indica el incremento o decremento del tamaño del fichero.


Ej.:
 La Volatilidad: Indica en %, el movimiento de registros que tiene el fichero.
Ej.:

Si el % es Alto se dice que el Fichero es Volátil, si es bajo se dice que es


Estático.

 La Actividad: Muestra el % de registros que son accedidos en el proceso


normal de un fichero.

martes, 02 de noviembre de 1999

WINDOWS 95

 Definición: Sistema operativo gráfico, basado en tecnología de 32 bits,


diseñado para conseguir que el usuario maneje el ordenador de forma
sencilla y rápida.

Windows 95 es una evolución de MS-DOS:

MSDOS, son las siglas de Microsoft Disk Operation System.


Características de Windows 95

 Compatibilidad con dispositivos y aplicaciones diseñadas sobre 16 bits.


 Facilidad con la que se ejecuta cualquier aplicación.
 Facilidad para conmutar entre aplicaciones abiertas.
 Posibilidad de utilizar hasta 255 caracteres como nombres de ficheros y
carpetas.
 Facilidad para gestionar objetos a través del explorador.
 W95 es un sistema orientado a objetos.
 Ofrece un mayor rendimiento en aplicaciones Windows y en aplicaciones
DOS.
 El soporte Plug & Play facilita la tarea de instalar y configurar un nuevo
hardware.
 Incorporación de aplicaciones integradas que permiten la comunicación con
otros ordenadores.

Requerimientos Hardware

- PC
- Mínimo un 386DX
- Mínimo 4 MB de RAM
- Entre 35 y 45 MB de HD
- Disquetera 3,5 High Density
- Raton
- VGA o Superior

Windows 95 puede ser instalado desde disquetes sin necesidad del CD.

Hardware Opcionales

- Impresora
- MODEM
- Tarjeta de Sonido y Altavoces.

viernes, 05 de noviembre de 1999

ENTORNO NO GRAFICO DE WINDOWS 95

El S.O W95, evoluciona de su antecesor MS-DOS ( Microsoft Disk


Operating System). Y al igual que este, W95 sigue estructurando la información
de carpetas en forma de árbol.

Un entorno no gráfico siempre es necesario, aunque no se use


habitualmente, puede ser vital cuando el sistema grafico no puede ser
inicializado, o tiene algún fallo de configuración que solo puede ser reparado
mediante un sistema no gráfico.
Cuando abrimos una ventana MSDOS en w95, o reiniciamos el sistema
en MSDOS, los primero que nos aparece en pantalla es algo como esto C:\>, se
denomina PROMPT, y nos marca el directorio o carpeta donde actualmente
estamos situados.

Estemos en la unidad que estemos, siempre partimos de un directorio


raíz, que se representa con el carácter ‘\’. Por eso se dice que es una estructura
jerárquica de niveles.

Toda carpeta o directorio tiene un nombre, y si estamos situados en una


carpeta, el PROMPT nos dirá su ruta ( PATH) y el nombre de la misma.

Creación, posición y borrado de carpetas en modo no gráfico.

Comandos para trabajar con directorios:

 <MKDIR> O <MD> : Nos permiten crear un directorio. Su modo de uso:

MD [unidad:]nombre_de_directorio

 <RMDIR> O <RD> : Comando que elimina carpetas o directorios. Para


borrar una carpeta tiene que estar vacía, y además no podemos estar
posicionados en ella.

 <CHDIR> O <CD> : Estos comandos nos permiten posicionarnos en un


directorio, avanzando con <CD> o retrocediendo con <CD..> para retroceder
un nivel, <CD...> para retroceder dos niveles, y <CD\> para posicionarnos
en el directorio raíz de la unidad.

 <DELTREE> : Borra un directorio o carpeta y todo su contenido (todos sus


posibles ficheros). Una vez borrado un directorio, la información y ficheros
que este contenía no podrán ser recuperados. Si hacemos un DELTREE al
directoria raíz, estaríamos borrando todo el contenido de la unidad.

Se puede utilizar un nombre de ruta o PATH, para indicar al comando,


donde se tiene que situar dicho comando para ejecutar la acción. Esto nos
ahorra tener que situarnos nosotros en dicha carpeta para ejecutar el
comando sobre la carpeta en la que queremos trabajar.

Con esta colección de comandos podemos manejar las estructuras de


directorios o carpetas.
Cada carpeta que creamos nueva, genera dos nuevas entradas:

. <DIR>
.. <DIR>

El punto hace referencia al propio directorio. El punto, punto hace


referencia al directorio principal. Estos puntos representa de forma gráfica el
nivel de carpeta o directorio en el que esta colocada dicha carpeta.

En una ruta o PATH, jamás podrán existir espacios en blanco, ya que la


estructura de archivos es una estructura rígida.

Comandos para la gestión de ficheros.

 <DEL> : Este comando, elimina solo ficheros, pero en ningún caso puede
usarse para eliminar directorios o carpetas. Su modo de uso:

DEL [unidad:]Nombre_del_Fichero

Posibles usos de DEL:

< DEL *.* > Para borrar todos los nombres de ficheros con todas las
extensiones. Es decir, borrar todos los ficheros.

< DEL F*.*> Para borrar todos los archivos que comiencen por F, dando
igual los caracteres siguientes a la F y la extensión de los archivos.
Los *´s representan todos los caracteres posibles a partir de donde
están situados.

< DEL F?.*> Para borrar todos los archivos que comienzan por F y que
tienen un carácter desconocido seguido de la F, dando igual su extensión. Este modo del
uso de DEL no borra todos los archivos que comiencen por F, si no todos los archivos
que comiencen por F y que sigan de tan solo un carácter que no es conocido.

La interrogación a diferencia del *, solo sustituye el carácter donde esta


situada.
jueves, 11 de noviembre de 1999

LOS DISCOS

Se componen de:

 PISTAS
 SECTORES
 CILINDROS

Todos los discos tienen una estructura similar. Están divididos en pistas y
sectores. En el caso de un multipack ( un disco duro, donde hay mas de un plato)
aparece un tercer elemento que son los cilindros.

PISTAS: Círculos concéntricos que van desde el exterior al interior. Las


pistas están numeradas, a la mas exterior se la denomina “Pista 0” que es donde
se encuentra la FAT(File Alocation Table). En la FAT se graba la pista, el sector
y en el caso de los multipack el cilindro, que corresponde a la dirección donde se
han grabado los datos.

SECTORES: Porciones de pistas. Sirven como unidades de


direccionamiento. Cada vez que leemos un disco estamos leyendo sectores
dentro de alguna pista. En cada sector entran 512 Kb, tanto en la pista cero,
como en la ultima pista.

Cuanto mas pequeño sea el sector, mas densidad de grabación tiene, por
lo que la densidad del sector es directamente proporcional al tamaño del mismo.

CILINDROS: Solo aparecen en multipack (discos con mas de un plato).


Un cilindro nos indica las mismas pistas y sectores en todos los discos, es decir,
pistas y sectores que coinciden en un mismo plano.

DISCOS FLEXIBLES

Discos 3 ½ de 1,44 Mb: Tienen 80 Pistas, numeradas de la pista cero a la pista


79. Se componen de 18 sectores.

Discos 3 ½ de 720 Kb: Tienen 80 pistas, numeradas de la pista cero a la pista 79.
Se componen de 9 sectores.

Los discos duros no tienen una cantidad fija de sectores y pistas, ya que
depende de los fabricantes y de la capacidad del disco.
COMANDOS

<CLS>: Abreviatura de Clean Screen, su única utilidad es la de borrar la


pantalla. Su modo de uso es tan simple como escribir el comando CLS.

<COPY>: La utilidad de este comando es la de duplicar datos de un sitio origen


a un sitio destino. Su modo de uso:

C:\> COPY [unidad:]nombre_fichero [unidad:]nombre_fichero

Ej.:

C:\> COPY AUTOEXEC.BAT A:\PEPE.BAT

En este caso además de copiar el fichero autoexec.bat en la unidad A,


estaríamos renombrando el archivo como PEPE. Esto ocurre cuando
especificamos un archivo destino con un nombre diferente al de origen.

Otros parámetros de COPY:

Unidad PRN: :Este unidad hace referencia a la impresora. Si esta unidad


es introducida como destino en un comando COPY, el destino de la copia será
sacar por impresora el contenido del archivo origen.

Ej.:

C:\> COPY *.BAT PRN:

Unidad CON: : Esta unidad hace referencia a la pantalla, de modo que si


usamos esta unidad como destino en un comando COPY, el contenido del
archivo origen será representado en pantalla.

Parámetro NUL: Este parámetro o dispositivo suele usarse para ocultar


la información de salida por pantalla de un programa. Si utilizamos este
parámetro como destino en un comando COPY, no estaremos haciendo nada, ya
que estamos duplicando la información en ninguna parte. Si este mismo
parámetro se utiliza como destino en el comando MOVE, estaremos borrando
información, ya estamos moviendo datos a ninguna parte.

lunes, 15 de noviembre de 1999

<MOVE> : En lugar de copiar ficheros, los mueve. Su modo de uso, es igual al


de copy. Ej.:

C:\>MOVE *.BAT C:\DOS\


<XCOPY> : Este comando se diferencia del copy, en que también puede copiar
estructuras con carpetas y subcarpetas. Su modo de empleo es el siguiente:

Ej.:

C:\>XCOPY <ORIGEN> <DESTINO>

Colocando el indicador “/S” después del destino, copiaremos las


carpetas, subcarpetas y todos los ficheros contenidos en ellas.

<TYPE> : Mediante este comando podemos visualizar el contenido de un


fichero. Podemos visualizar cualquier tipo de fichero.
[unidad:] nombre_fichero

Ej.: Para ver el contenido del archivo config.sys

C:\>TYPE CONFIG.SYS

El comando “type”, solo puede representar un único archivo por


ejecución, por lo que si cuando ejecutamos este comando, le indicamos que visualice
varios archivos producirá un error. Ej.:

C:\>TYPE *.BAT

Si queremos visualizar el contenido de mas de un archivo en pantalla,


deberemos utilizar el siguiente comando:

C:\>COPY *.BAT CON:

<REN> Este comando sirve para renombrar un fichero. Su modo de uso:

[unidad:]nombre_fichero nuevo_nombre

Ej.:

C:\>REN C:\>CONFIG.SYS PEPE.BAT

En este comando, no podemos señalar la ruta de destino, ya que se


entiende que va ha ser la misma que la de origen, si la utilizáramos el programa
o comando nos daría error. Ej.:

C:\>REN C:\CONFIG.SYS C:\PEPE.BAT

Este forma de llamada a REN daría error.


<DIR> : Este comando visualiza el contenido de un disco. Muestra el nombre,
las extensiones, la fecha y hora de creación o modificación y también el tamaño
de los archivos existentes en el disco duro. Debido a que los monitores en modo
no gráfico, disponen de 23 líneas, la representación en pantalla esta limitada.
Para solucionar este problema utilizamos el parámetro “/P”. Ej.:

C:\> DIR /P

Este comando lo que hace es mostrarnos el contenido de 23 en 23 líneas,


pidiéndonos confirmación cada 23 líneas para representar las 23 siguientes.

Para mostrar la información en columnas utilizamos el parámetro “/W”.


Este parámetro nos muestra únicamente los nombres, omitiendo toda clase de
detalles como son el tamaño, la fecha, etc.. Ej.:

C:\>DIR /W

Para ver el contenido de todos los directorios, subdirectorios y archivos


que estos contienen, utilizamos el parámetro “/S”. Ej.:

C:\>DIR /S

Si queremos utilizar DIR como un comando de búsqueda, deberemos


indicar un nombre de fichero, con una ruta donde el comando DIR deberá buscar
el archivo en cuestión. Ej.:

C:\>DIR archivo.bat /S
Este comando buscaría el archivo.bat en todo el disco duro, incluyendo
las subcarpetas de todos las estructuras.

Si deseamos visualizar solo los directorios o archivos que no tengan


ninguna extensión usaremos la forma:

C:\>DIR C:*.

Si solo deseamos visualizar los directorios, usaremos esta forma:

C:\DIR /A:D

Si deseamos visualizar los archivos de sistema, que existen en el disco


duro utilizaremos la siguiente forma:

C:\>DIR /A:S

Si deseamos visualizar los archivos de solo lectura, que existen en el


disco duro, utilizaremos la siguiente forma:

C:\>DIR /A:R
Cuando hacemos un DIR, la información sale ordenada tal y como figura
en la FAT(File Alocation Table). Si queremos visualizar la información
ordenada por el nombre y no por la FAT, utilizaremos la siguiente forma:

C:\>DIR /O:N

IMPORTANTE: Los nombres de ficheros en el entorno no gráfico de


Windows 9x, soportan un nombre de 8 caracteres y una extensión de 3. Si en
Windows 9x creamos un archivo que supere en el nombre los ocho caracteres, en
un entorno no grafico el nombre del fichero contendría el símbolo ALT 126 en el
carácter numero siete.

FICHEROS DE ENTORNO BATCH O BAT

Son ficheros ejecutables del S.O y se comporta prácticamente igual que


un EXE y un COM en cuanto a su llamada, ya que para ejecutar un BAT, tan
solo deberemos hacer referencia a su nombre. Sin embargo lo que diferencia un
BAT de un programa normal, es que un programa cuando produce un error
detiene su ejecución sin finalizar el mismo, mientras que un BAT no finaliza
hasta que no ejecuta la última instrucción. En un archivo BAT cada línea es una
instrucción y se ejecutan por orden descendente, es decir de arriba abajo.

El BAT más famoso por excelencia es AUTOEXEC.BAT, ya que es el


responsable de la configuración del sistema bajo MSDOS.

Mientras un BAT este en ejecución, el usuario no tendrá el control de la


maquina, ya que se omitirá el PROMPT hasta la finalización del mismo.

Dentro de un archivo BATCH, podremos ejecutar:

- Comandos propios del S.O .


- Llamadas a Programas ejecutables (EXE, COM).
- Comandos propios de los ficheros BATCH.
- Comentarios del programa.

Para crear un fichero BATCH debemos ayudarnos de un editor ASCII(American


Standard Code Information Interchange)

martes, 16 de noviembre de 1999

En cada línea del archivo BAT ha de ir un comando de MSDOS.


COMANDOS PROPIOS DE FICHEROS BATCH

 <ECHO> Este comando sirve para utilizar comentarios externos, es decir,


visibles para el usuario. Su modo de uso es el siguiente:

echo comentario

Ej.:
CLS
ECHO Creando Carpetas...
MD \1
MD \2
TYPE FICHERO

 <ECHO OFF> Este comando desactiva la salida de las ordenes en pantalla.


Para que esta línea tampoco aparezca hay que precederla de una @. Su modo
de uso es el siguiente:

@echo off

Ej.:

@echo off
CLS
MD \1
MD \2

 <ECHO.> Este comando produce una línea en blanco o salto de línea. Su


modo de uso es echo seguido de un punto.
echo.

Ej.:

@echo off
CLS
MD \1
MD \2
echo.
echo.
echo Esto es un comentario que aparece dos líneas después.

 <REM> Establece comentarios internos para el programador en un


programa BAT. Usaremos tantos REM como líneas usemos para el
comentario. Ej.:

REM Esto es un comentario interno


REM que sigue en esta línea.
 <PAUSE> Produce una parada momentánea durante la ejecución de un
programa.

Ej.:

@echo off
cls
MD \1
MD \2
ECHO Las carpetas han sido creadas con éxito.
Pause

 PARÁMETROS SUSTITUIBLES: Se hace referencia a ellos dentro del


programa, pero se declaran en la llamada al propio programa BAT. Estos
parámetros van precedidos del símbolo “ % ”, y tienen un rango del 0 al 9,
siendo el 0 el propio nombre del BAT.

Ej.:

C:\>NOMBRE C1 C2 C3

NOMBRE.BAT

@echo off
md \%1
md \%2
md \%3

Donde %1 seria igual C1, %2 a C2 y C3 a %3. En definitiva funcionan


como las variables en un exe. Un parámetro puede ser utilizado las veces necesarias en
un mismo programa BAT.

Al ejecutar este BAT, y poner los tres parámetros en la línea de


comandos al llamar al programa, que en este caso serian tres nombres de directorios, el
BAT crearía tres directorios con el nombre que le hayamos indicado, en el caso del
ejemplo crearía tres directorios con el nombre de C1, C2 y C3.

 <IF> Es utilizado para evaluar condiciones lógicas dentro de un programa


BAT. También puede ser utilizado para saber si el usuario ha escrito los
parámetros necesarios en la línea de comando del DOS.

Su forma de uso:

IF %1 = = VIS TYPE %2

Otro ejemplo:

IF X%1 = = X Salto
/* Este se utiliza para saber si se han escrito parámetros suficientes */
 <GOTO> El goto y un nombre de etiqueta precedido por dos puntos
produce un salto incondicional hasta la etiqueta. Identificamos una etiqueta
mediante los dos puntos que la preceden. Esto hace que un programa
BATCH pueda tener finales diferentes.

El salto incondicional puede ser ascendente o descendente, es decir puede


salta de una línea posterior a la etiqueta o desde una línea anterior a la
misma.

Ejemplo de GOTO:

@echo off
cls
if not %1 == A goto si
echo %1 es igual a A.
Goto end
:si
echo %1 no es igual a A
goto end
:end

En el caso de que el usuario no escriba parámetros se entenderá que no sabe


utilizar el programa y por tanto será buena una sección de ayuda.

VERIFICAR CARPETAS O FICHEROS CON EL CONDICIONAL IF

 Verificar ficheros:

Podemos comprobar la existencia de cualquier fichero de la forma:

IF [NOT] EXIST file_name COMANDO

 Verificar carpetas:

Podemos verificar carpetas de la siguiente forma:

IF EXIST %1\NUL GOTO SI

Esto se debe a que todas las carpetas existentes contienen un NUL,


independientemente de que contengan ficheros o no, basta con que exista un
directorio con el nombre especificado.
EJERCICIO: Desarrollar un programa BATCH que reciba como parámetro un nombre
de fichero o directorio, y en el caso de ser un fichero visualizar su contenido en pantalla,
en el caso de que sea un directorio visualizar su estructura en pantalla:

@ECHO OFF
CLS
IF X%1=X GOTO AYUDA
IF EXIST %1\NUL GOTO DIRECT
IF EXIST %1 GOTO FILE
ECHO EL DIRECTORIO O ARCHIVO NO EXISTE
GOTO FIN
:DIRECT
DIR %1 /P
ECHO DIRECTORIO HA SIDO VISUALIZADO
PAUSE
GOTO FIN
:FILE
TYPE %1
ECHO FICHERO HA SIDO VISUALIZADO
PAUSE
GOTO FIN
:AYUDA
ECHO ESCRIBA UN NOMBRE DE ARCHIVO O DIRECTORIO
GOTO FIN
:FIN
ECHO PROGRAMA FINALIZADO

jueves, 25 de noviembre de 1999

PARÁMETROS INFINITOS

Para no tener que hacer un reconocimiento por cada parámetro( verificar


si existe y que tipo de parámetro es), utilizamos el comando SHIFT y un bucle.
El comando SHIFT se encargara de ir desplazando el numero del parámetro para
que todos vayan pasando por el bucle. Esto lo hace restando una posición a todos
los parámetros cada vez que se ejecuta, de modo que el parámetro dos pasa a ser
el parámetro uno y el parámetro 1 pasa a ser el parámetro 0.

Si queremos procesar en cada bucle una pareja de parámetros deberemos


ejecutar el SHIFT dos veces, uno debajo de otro.

Ej.:
@echo off
cls
if x%1= =x goto ayuda
:inicio
if x%1= =x goto fin
if exist %1\nul goto visual1
if not exist %1 goto error
type %1
pause
goto salto
:visual1
dir %1
pause
:salto
shift
goto inicio
:ayuda
echo Temas de Ayuda
pause
goto fin
:error
echo Tipo de error
pause
goto salto
:fin
echo Mensaje de Salida

Ejercicio:

Hacer un programa que reciba un numero indeterminado de parejas de


parámetros, siendo cada parámetro el nombre de un fichero. El primer
parámetro será el origen de una copia y el segundo el destino. En caso de que
el destino exista se informará al usuario y no se realizara la copia.

@echo off
cls
if %1x==x goto ayuda
if %2x==x goto error
:inicio
if %1x==x goto salida
if %2x==x goto error
if not exist %1 goto error
if exist %2 goto existe
copy %1 %2
:salto
shift
shift
goto inicio
:error
echo Falta la pareja Destino
goto salida
:ayuda
echo Temas de ayuda
goto salida
:salida

REDIRECCIONAMIENTO

Modificar la entrada o salida estándar ( PANTALLA)de un comando:

Esta función se puede realizar con el comando > . Ej.:

TYPE FICH.TXT > PRN

Este comando enviaría toda la información que contiene el archivo de


texto FICH a la impresora.

Siempre deberemos indicar tras el símbolo de redireccionamiento un archivo o


dispositivo donde serán expuesto los datos.

Si utilizamos un signo de direccionamiento y ponemos como destino un


archivo existente, machacará su contenido, si el archivo no existe lo creara
automáticamente. Para que no sobrescriba un archivo existente deberemos utilizar dos
signos de direccionamiento de la siguiente forma:

TYPE AUTOEXEC.BAT >> AUTOEXEC.BAK

Si ponemos como destino la unidad NUL, la representación de los datos


no se realizara en ningún caso. Tampoco creará ningún archivo.

COMANDO FOR

Existe un comando FOR para usar en los archivos BATCH:

FOR %%A IN (...............) DO ECHO %%A

El comando FOR repite el comando DO tantas veces como elementos


existan dentro de los paréntesis.
INSTALACIÓN DE WINDOWS 95

Lo normal es que se instale en otro sistema operativo. Windows puede ser


instalado bajo MSDOS 3.2x o superior. Por lo que se puede instalar directamente desde
MSDOS.

Durante la instalación deberemos facilitarle un nombre de usuario, un nombre


para la estación de trabajo y si hay establecidos grupos de trabajo, también nos pedirá
un nombre para el grupo de trabajo.

Existen cuatro tipo de instalaciones:

 Instalación típica: Es la instalación predeterminada y se recomienda


normalmente por la mayoría de los usuarios. La intervención del usuario es
mínima. En este tipo de instalación se nos pide:

1. Directorio de Instalación
2. Identificación del usuario y del equipo, y si trabajamos
en red también el de grupo.
3. Confirmación para crear un disco de inicio.

 Instalación portátil: Se recomienda para usuarios que utilizan PC portátiles,


incluye ficheros y programas adecuados para este tipo de equipos. En esta
instalación figurará el icono de mi maletín en el escritorio. Se instala
software para el intercambio de información mediante un conector de red o
cable.

 Instalación Compacta: Es la opción utilizada para los usuarios que tienen un


espacio limitado en el disco duro, instala únicamente los programas
necesarios para ejecutar Windows 95. Esta instalación ocupa unos 19 MB.

 Instalación personalizada: Opción para usuarios que desean seleccionar


configuraciones de aplicaciones personalizadas. Se deben especificar los
componentes de la red y configurar los distintos dispositivos. Solo instalara
aquellos programas que hemos seleccionado.

PROCESO DE INSTALACIÓN DE WINDOWS 95

1. Modificación de los registros de inicio:

Windows 95 guarda el S.O que había antes de instalar w95. Si instalamos w95
en un disco duro que no este gobernado por ningún S.O, w95 se limitará a
instalar sus archivos de instalación propios.

La instalación cambiará los nombres de los archivos de inicialización de


MSDOS existentes y copia los ficheros IO.SYS y MSDOS.SYS. Mueve y
modifica los registros y la pista de inicialización para que señalen al nuevo
fichero <<IO.SYS>>.
W95 guarda los archivos IO.SYS y MSDOS.SYS en un sector diferente,
por lo que habrá que decirle al IPL la dirección de los nuevos archivos. La
primera vez que se inicia la estación de trabajo, se lleva a cabo la configuración
adicional de la pila de inicialización. Un vez se finaliza la instalación el sistema
solicita ser reinicializado.

Para que un S.O reconozca los cambios deberemos reinicializar la


maquina.

Una vez que Windows 95 ha copiado todos sus ficheros al disco duro,
realiza una sustitución de los archivos CONFIG.SYS y AUTOEXEC.BAT por
los ficheros que permiten que el cargador de inicialización o IPL acceda de
modo real a los discos duros, una vez inicializado se carga el fichero WIN.COM
que cargará el S.O al completo.

Con MSDOS, el S.O era configurado mediante los archivos


CONFIG.SYS y AUTOEXEC.BAT. En w95 estos dos archivos pasan a un
segundo plano y cobran mas importancia los archivos WIN.INI y SYSTEM.INI
que forman parte del registro de configuración de Windows 95.

Windows 95 usa los ficheros CONFIG.SYS y AUTOEXEC.BAT para


agregar información sobre la pagina de códigos y la distribución del teclado.

Windows 95 administra la memoria sin necesidad de cargar el gestor


HIMEM.SYS mediante el archivo de configuración CONFIG.SYS ya que
HIMEM.SYS es cargado mediante Windows 95 automáticamente al iniciarse.

Ahora no es necesario AUTOEXEC.BAT para el arranque de Windows


95, ya que es W95 quien pasa el entorno inicial al COMMAND.COM con los
directorios WINDOWS y \WINDOWS\COMMAND ( o el directorio donde esta
instalado el S.O).

Los ficheros antiguos de MSDOS los guarda con extensión *.DOS.


(config.dos, autoexec.dos, command.dos).

Estos archivos se deben a la inseguridad que hubo con W95 en los dias
posteriores a su lanzamiento, ya que no se sabía con seguridad si iba a funcionar
correctamente.

INTRODUCCIÓN A LA ARQUITECTURA DE W95

Un procesador 80386 o superior puede dar soporte a varios niveles de


privilegios para código ejecutable. Los distintos anillos proporcionan diferentes tipos de
protección y niveles de privilegio. W95 nos ofrece los distintos niveles:
Windows 95 tienes los anillos 1 y 2 pero no los utiliza. La transición entre
anillos tarda una cantidad de tiempo relativamente grande, haciendo que algunos
procesadores puedan tardar hasta diez veces más en completar la transición del anillo
que en ejecutar el código que llama la transición.

Puesto que se proporciona suficiente protección mediante la utilización de dos


anillos, w95 optimiza la velocidad y la protección utilizando los anillos 0 y 3. Windows
NT también utiliza los anillos 0 y 3. ( El anillo 1 y 2 solo funcionan como filtros pero
no se utilizan para nada.

CONTROLADORES EN EL SISTEMA WINDOWS

Un controlador es un conversor de software que acepta los diversos comandos


del sistema operativo y los convierte en un comando especifico para un determinado
elemento del hardware.

Cuando usamos un comando del S.O, el controlador lo adapta automáticamente


al dispositivo al que esta dirigido. Hace que podamos trabajar con el. La utilización de
controladores permiten que las aplicaciones sean independientes al hardware que las
usa. Por tanto podemos cambiar el hardware sin que afecte a la aplicación en cuestión.

Los controladores conectan Windows al hardware y proporcionan independencia


al dispositivo, si instalamos nuevo hardware podemos crear un nuevo controlador sin
que sea necesario reinstalar el sistema operativo.
TIPOS DE CONTROLADORES UTILIZADOS POR WINDOWS

 Controlador del Sistema


 Controlador del Teclado
 Controlador del Ratón
 Controlador de la Pantalla
 Controlador del Sonido
 Controlador de Comunicaciones
 Controlador de la Impresora
 Adaptador de Red

TIPOS DE CONTROLADORES COMPATIBLES PARA WINDOWS

Se utilizan para conservar la compatibilidad con las aplicaciones existentes. Son


los siguientes:

 Modo Real de MSDOS: Se carga en ficheros con extensión SYS.


Normalmente en CONFIG.SYS
 Modo Real de Windows 16 Bits: Se carga en ficheros con extensión INI y
DRV.
 Windows en Modo protegido: Se graba en ficheros con extensiones VXD o
386.

Todos estos controladores se encuentran en la ruta \WINDOWS\SYSTEM y


se utilizan para asumir aplicaciones ya existentes para sistemas operativos mas
antiguos.

Si un nuevo controlador no da soporte a un dispositivo, el controlador de


MSDOS del archivo CONFIG.SYS se queda en un lugar y continua
funcionando.

Los controladores en modo real son controladores para ejecutarse bajo


MSDOS y no son tan seguros ni tan sólidos como los controladores en modo
protegido.

En modo protegido la protección la da el procesador. Los controladores


en modo protegido aprovechan la arquitectura de los 80386 y superiores,
permitiendo así un acceso mas rápido al dispositivo, sin utilizar los 640Kb
inferiores de la memoria. ( MSDOS y Windows en modo real se cargan en los
primeros 640kb.

REGISTRO DE CONFIGURACIONES

Lugar donde el sistema y las aplicaciones almacenan datos, por tanto es


una base de datos jerárquica y en forma de árbol que se almacena en dos
ficheros.
Los ficheros reales que se utilizan pueden variar en función de la
configuración del sistema pero se dividen en un fichero que contiene las
configuraciones especificas de la maquina, normalmente se llama
SYSTEM.DAT y un fichero que contiene configuraciones específicas del
usuario, normalmente USER.DAT.

El registro de configuraciones tiene seis claves:

 HKEY_CLASSES_ROOT: Contiene la configuración del software y permite


que Windows se ejecute o imprima desde una aplicación cuando se relaciona
un fichero de datos especificado.
 HKEY_USERS: Clave de los usuarios y contiene información a cerca de
todos los usuarios de la estación de trabajo.
 HKEY_CURRENT_USER: Contiene la configuración específica del
usuario para el sistema y las aplicaciones, se crea en tiempo de ejecución a
partir de la información que se carga desde la entrada de ese usuario en el
registro de configuraciones de la clave HKEY_USERS ( Se crea una clave
para cada usuario que figura en el HKEY_CURREN_USERS).
 HKEY_LOCAL_MACHINE: Clave de la maquina local, contiene
especificaciones para la estación de trabajo, los controladores y otras
configuraciones del sistema. Es información especifica de la maquina a cerca
del hardware, las asignaciones de los puertos y la configuración actual del
software. NO CONTIENE INFORMACIÓN DE USUARIOS.
 HKEY_CURRENT_CONFIG: Contiene información a cerca de la
configuración actual del hardware conectado a la estación de trabajo. Se
utiliza principalmente cuando existen varias configuraciones para la estación
de trabajo y la información contenida en el registro de configuraciones en la
clave HKEY_LOCAL_MACHINE.
 HKEY_DYN_DATA: Contiene la información del estado dinámico de los
diversos dispositivos, dicha información se genera cada vez que se inicia el
sistema y se utiliza como parte de la información de medida del rendimiento
y también para la configuración PLUG AND PLAY. (REGEDIT.EXE).

EQUIPOS VIRTUALES EN WINDOWS 95

Es un entorno creado por el sistema operativo y por el procesador que


simula los recursos de todo el equipo. MSDOS necesitaba todos los recursos
para ejecutar una aplicación. W95 simula a las aplicaciones MSDOS que
tiene disponibles todos los recursos del sistema.

Se presenta ante una aplicación como si se tratara de un equipo completo.


Por ello las aplicaciones tienen acceso virtual al hardware y a todos los
demás recursos.
Los equipos virtuales hacen que la programación sea más sencilla, de
forma que el programador no tiene que preocuparse de hacer un seguimiento
del uso del hardware o de otras aplicaciones, siendo el sistema operativo
quien realiza el seguimiento de las aplicaciones y del hardware,
determinando de que recursos puede disponer cada aplicación.

Un equipo virtual esta diseñado para trabajar en el anillo tres, todas las
aplicaciones basadas en Windows 95, funcionan en un equipo virtual
(Comparten un equipo virtual).

Windows 95 genera otro equipo virtual por cada aplicación basada en


MSDOS(1 por cada aplicación DOS y una para todas las aplicaciones de
W95).

El equipo virtual basado en aplicaciones de Windows 95 se denomina


Equipo Virtual del Sistema y va ha contener:

 Los componentes del sistema base:


 Núcleo
 S.O
 Usuarios
 Id. Grupo
Y contiene además un espacio de direcciones compartido
por aplicaciones basadas en 16 bits, y otro espacio de direcciones
separado para cada aplicación basada en Windows de 32 bits.

APLICACIONES BASADAS EN MSDOS

Esperan disponer de acceso directo y exclusivo al hardware, cada


aplicación basada en MSDOS, y que se ejecuta en Windows 95 utiliza un equipo virtual
distinto. Ya que necesita de todos los recursos del sistema.

APLICACIONES BASADAS EN WINDOWS 16 BITS

Comparten un único espacio de direcciones en el equipo virtual del sistema,


siendo posible que una aplicación de 16 bits entre en la memoria RAM de otra
aplicación basada en Windows de 16 bits. Siendo esto necesario para permitir la
compatibilidad con las aplicaciones de 16 bits existentes, que esperan poder interactuar
entre si, compartiendo la memoria de esta forma.

APLICACIONES BASADAS EN WINDOWS 32 BITS

Cada aplicación tiene su propio espacio de direcciones en el equipo virtual del


sistema y estos espacios están protegidos por el hardware (Normalmente por el
procesador). Por tanto no pueden entrar en la memoria RAM de otra aplicación de
forma exclusiva.
PROCESOS Y TAREAS

Enfocado a Windows 95:

Procesos: Un proceso es esencialmente una aplicación, y cada proceso


tiene memoria y acceso a los recursos del sistema. Un proceso para Windows 95
es una aplicación o un programa (Conjunto de todas las instrucciones de las que
se componen). Es un programa ejecutable que define los datos y el código
inicial.

Un espacio de direcciones de memoria en el que se almacenan los datos y


el código del proceso, los recursos del sistema, y al menos una tarea para
ejecutar el código. Cada proceso ejecuta al menos una tarea.

Las aplicaciones basadas en MSDOS y Windows de 16 bits tienen una


sola tarea por proceso, de modo que si ejecutamos una aplicación de este tipo, vamos a
tener una aplicación en espera, en ejecución o bloqueada.

Las aplicaciones de 32 bits pueden tener varias tareas por proceso, de


modo que mientras se esta ejecutando un proceso de impresión, podemos editar un
fichero de texto.

Tareas: Unidad de ejecución, es el componente real de un proceso que se


ejecuta en un momento dado. Además una tarea que se ejecuta utiliza el espacio de
direcciones del proceso y los recursos asignados a dicho proceso.

¿ Que comprende una tarea ?

Comprende un estado del procesador que incluye el puntero de la


instrucción actual. La tarea guarda la instrucción en ejecución.

Windows 95 dispone de una pila para utilizarla cuando se ejecuta en


modo usuario (Pila se define como una estructura de datos en memoria) y ademas tiene
una pila cuando se ejecuta para ser utilizado en modo núcleo. Utiliza la pila para
ejecutar procesos del anillo 0 o del anillo 1.

En un programa de múltiples tareas el programador tiene la


responsabilidad de garantizar que las tareas no se interfieran una con otras, esto puede
conseguirse utilizando recursos compatibles, de forma que no se entre en conflicto con
una tarea que esta utilizando un determinado recurso.

TIPOS DE MULTITAREA

Dos tipos:
- Multitarea con asignación prioritaria
- Multitarea con asignación cooperativa
Dependiendo de una aplicación u otra utiliza un tipo de multitarea o el otro.

MULTITAREA DE ASIGNACIÓN PRIORITARIA

Cada tarea se ejecuta durante un periodo de tiempo preestablecido o


hasta que otra tarea con prioridad superior este preparada para
ejecutarse(Básicamente es un tiempo compartido, con la diferencia que una
aplicación con preferencia se ejecuta antes que las de menos preferencia).

La planificación la lleva a cabo el Sistema Operativo sin la participación


de la aplicación. Esto es así para evitar que una aplicación pueda monopolizar el
procesador.

Para impedir que tareas de diferentes procesos accedan a un recurso que


no se pueda compartir la aplicación puede establecer semáforos para bloquear el
recurso hasta que se deje de ejecutar y el recurso quede libre. ( Un semáforo es
un indicador para informar que recursos están disponibles).

Las aplicaciones basadas en MSDOS y Windows 32 bits utilizan la


multitarea con asignación prioritaria, las aplicaciones MSDOS eran monotarea y
por tanto serían incompatibles con Windows 95 si no incorporasen este tipo de
multitarea.

MULTITAREA CON ASIGNACIÓN COOPERATIVA

También denominada sin asignación prioritaria, una tarea se ejecuta hasta


que renuncia voluntariamente al procesador, la aplicación determina cuando deja de
ejecutarse la tarea, las aplicaciones de 16 bits se ejecutan en este tipo de multitarea.

El repartidor de multitarea con asignación prioritaria trata a todas las


aplicaciones de 16 bits como una única tarea. Esta multitarea es necesaria para mantener
la compatibilidad con las aplicaciones de 16 bits que esperan poder controlar sus propia
ejecución.

MEMORIA VIRTUAL EN WINDOWS 95

Windows 95 virtualiza la memoria de la misma forma que virtualiza la


maquina y los controladores. Esto permite que las aplicaciones se comporten como si
tuvieran su propia memoria RAM física.

La memoria virtual es la forma en que un programa ve a la memoria(Ya


que la tienen toda virtualmente). A cada aplicación se la asigna un espacio de
direcciones virtuales exclusivo, que será el conjunto de direcciones de memoria que
utilizará para la paginación.
Las aplicaciones acceden a memoria a través de direcciones virtuales que
el administrador de memoria de Windows 95 asigna a direcciones físicas que
comprenden ubicaciones de la memoria RAM o del HD.

El S.O puede asignar más memoria de la que esta físicamente disponible


en la estación de trabajo utilizando las posibilidades de paginación en función de la
demanda del procesador.

Para ese fin el código del programa y los datos que se encuentran en la
memoria física pueden trasladarse a un fichero de intercambio real que se encuentra en
el HD.
El fichero de intercambio cambia de tamaño según las necesidades del
sistema, si el espacio de la unidad de disco empieza a escasear, se disminuye el tamaño
del fichero, si por el contrario a espacio suficiente y se necesita memoria se aumenta el
tamaño del fichero.

PLUG & PLAY (CONECTAR Y LISTO)

Es tanto una filosofía de diseño como un conjunto de especificaciones sobre la


arquitectura específicas de PC´s. Se trata de un conjunto independiente de
especificaciones desarrollado por un grupo de fabricantes de Hardware y de empresas
de Software.

La finalidad del PLUG & PLAY es permitir el cambio de la configuración sin


que sea necesaria la intervención del usuario. El sistema determina cual es la
configuración óptima y las aplicaciones se ajustan automáticamente con el fin de
aprovechar al máximo la nueva configuración.

Para las funciones Plug & Play Windows 95 incluye los siguiente componentes:

 El administrador de configuraciones: Es el software que controla el proceso


de configuración y mediante el cual puede establecerse la comunicación con
todos los componentes que participan en dicho proceso.
 El árbol de Hardware: Es una base de datos de información almacenada en la
memoria RAM que se utiliza para configurar el sistema.
 Enumerador de Bus: Son controladores para identificar todos los dispositivos
de un bus concreto así como sus requisitos de recursos.
 Arbitro de Recursos: Son controladores que asignan recursos a todos los
dispositivos.
Arbitro de Recursos

Parte del sistema operativo que asigna tipos específicos de recursos a los
dispositivos que solicitan los mismos recursos. Si diferentes dispositivos
necesitan los mismos recursos, los dispositivos deben ser capaces de
proporcionar al sistema operativo información acerca de los requisitos de
recursos alternativos.

Siendo el Sistema Operativo quien utiliza esta información para


identificar una configuración que funcione. Son cuatro los recursos que controla
el arbitro de recursos:

1. Líneas de solicitud de interrupción (IRQ´s)


2. Canales de acceso directo a memoria (DMA´s)
3. Direcciones de memoria
4. Direcciones de puertos de E/S

Administrador de Configuraciones

Coordina todo el flujo de operaciones llevada a cabo por todo los


componentes implicados en la configuración.

Coordina la comunicación entre los enumeradores de Bus, el árbol de


hardware, el registro, los controladores de dispositivos y el arbitro de recursos.

Notifica a los controladores de dispositivos y a las aplicaciones cualquier


cambio presente o pendiente en la distribución del sistema. Para trabajar o configurar
algo de manera manual lo haremos mediante el Administrador de Dispositivos.

ADMINISTRADOR DE SISTEMAS DE ARCHIVOS INSTALABLES

Cada sistema operativo tiene un sistema de archivos diferente. El administrador


IFS(Install File System ) se encarga de la interacción de los sistemas de ficheros.

Los controladores de los sistemas de ficheros son componentes del anillo 0. Si


falla el sistema de archivos, estará fallando inevitablemente el sistema entero.

Windows 95 incluye tres sistemas de ficheros:

 VFAT: Tabla de asignación de ficheros virtual de 32 Bits.

 CDFS(CD Files System): Sistema de archivos del CDROM.

 REDIRECTOR: Se utiliza para el acceso a redes.


VFAT

Es el acceso a ficheros de 32 bits característico de Windows 95, se trata


de un fichero FAT de MSDOS virtual a 32 bits. El fichero VFAT.VxD es el
controlador que se encarga de la virtualización y utiliza código de 32 bits para el
acceso a todos los ficheros. Utiliza la FAT del MSDOS pero ampliada.

COMPATIBILIDAD DE NOMBRES LARGOS

La longitud máxima de Windows 95 es de 255 caracteres, pero además le


asigna un nombre corto de 8 caracteres mas 3 de la extensión. Windows 95 no
diferencia entre mayúsculas y minúsculas, pero si las respeta.

La ruta máxima que puede indicarse es de 260 caracteres.

El nombre de cada archivo es exclusivo. Para convertir un nombre largo


a un nombre corto Windows 95 coge los seis primeros caracteres e introduce el símbolo
“ ~ “ , le pone un indicador de frecuencia y coloca la extensión. Ej.:

Trabajo de Ciencias.Doc –> Nombre Largo

Trabja~1.Doc -> Nombre Corto

FINAL DEL PRIMER CUATRIMESTRE


SISTEMA OPERATIVO UNIX

1. ANTECEDENTES DE UNIX

 1969: Ken Thompson de los laboratorios BELL desarrolla la primera versión


de este S.O. Unix podría funcionar con un solo usuario. Ken, desarrollo este
sistema para gobernar su propia maquina, pero con el tiempo este sistema
llegaría a los PC.

 1971: Se rescribe el UNIX en lenguaje B. En este mismo año Dennis Ritchie


expande el lenguaje B dando paso al lenguaje C.

 1973: Se vuelve a rescribir UNIX pero ahora en lenguaje C, dando lugar a la


versión UNIX 5.

 1975: Aparece la versión UNIX 6 para entornos de investigación y


educación, además se comienzan a desarrollar los primeros permisos de
utilización( jerarquía de usuarios ).

 1977: Se vuelve a rescribir el UNIX, dando paso a la versión UNIX 7, esta


versión se lleva también a los PC.

 1981: Aparece la versión UNIX III, es una actualización del UNIX 7. Esta
nueva versión incluye versiones de utilidades para el mantenimiento de
programas y es plataforma para los versiones XENIX III y XENIX V (Xenix
es un UNIX orientado al mundo del PC.).

 1983: Aparece la versión UNIX 5 ( también llamada UNIX SYSTEM 5) y


que es la esta actualmente en el mercado. El S.O ha seguido evolucionado
hasta ahora.

2. CARACTERÍSTICAS DEL ENTORNO UNIX

 Portabilidad: Es posible adaptar fácilmente el S.O a diferentes ordenadores


de distintos fabricantes. Puede ser un PC o un equipo grande.
 Propósito General: Es un S.O al que se le pueden aplicar muchos y
diferentes entornos de usuario.
 Multitarea: Permite la ejecución simultanea de varias tareas.
 Tiempo Compartido: A cada tarea se le asigna un tiempo de ejecución.
 Multiusuario: Mas de un usuario pueden acceder al sistema al mismo
tiempo. Vamos a utilizar una conexión al servidor para el intercambio de
ficheros, además para el intercambio de información utilizaremos el
protocolo FTP ( File Transfer Protocol ).
 Unix al igual que Windows 95 trabaja con el código ASCII( American
Standard Code )
 Interactivo: Cualquier usuario puede comunicarse con el sistema y recibir
respuesta inmediata a su solicitud de ejecución. Hay veces que algún
demonio se esta ejecutando y relentiza el funcionamiento normal de la
maquina.
 Fácil modificación y mantenimiento: Se debe a que es un S.O escrito en
lenguaje C, además es un sistema operativo abierto, por lo que podemos
modificar libremente los comandos y realizar su mantenimiento.
 Estructura de Archivos: Utiliza una estructura jerárquica en forma de arbol
que permite una fácil organización de ficheros, tanto del sistema como del
usuario.
 Tenemos un directorio raíz, un directorio particular para cada usuario,
donde el usuario podrá realizar todas las operaciones en el, sin embargo
fuera de el solo lo que permita el administrador.
 Comunicaciones: Se pueden establecer redes de comunicación UNIX a
UNIX, por medio de unas utilidades aportadas por el propio S.O ( Usa
protocolo TCP/IP).
 Background Process: Consiste en pasar un proceso al estado preparado para
que se ejecute cuando la CPU esté desatendida, devolviendo inmediatamente
el control al usuario.

 Aporta facilidades para la automatización de procesos de oficina:


o Cada usuario tiene un correo dentro del
sistema.
o Dispone de un Noticiario para dar noticias a
todos los usuarios.
o Servicio de Mensajería en tiempo real(CHAT).
o Permite la transferencia de archivos entre
usuarios.

3. ESTRUCTURA DE UNIX

Tiene una estructura de tres niveles y tiene forma de anillos ( Forma


envolvente).
La shell es diferente dependiendo del nivel de usuario.

KERNEL: También denominado núcleo del sistema operativo, en el se


gestionan los recursos del ordenador y se ocupa de los discos, cintas,
impresoras, terminales, líneas de comunicación, y cualquier otro dispositivo.
Cada vez que conectamos un terminal se lo tenemos que decir al S.O,
creando un fichero por cada terminal.( Todo lo que se conecta al sistema esta
representado por un fichero de configuración).

Las funciones del Kernel:

- Control de Acceso a discos.


- Control de Acceso a terminales y dispositivos de E/S
- Control de los procesos.
- Manejo de la memoria.

SHELL: Intermediario entre el usuario y el Kernell, y se encarga de


interpretar los comandos tecleados por el usuario y ejecutarlos. Existen
distintos tipos de Shell que dependen del nivel del usuario, por lo que
existen distintos intérpretes de comandos. ( El nivel lo asigna el
administrador cuando crea el usuario). Los distintos interpretes:

- Bourne Shell: Es la shell estándar, la mas corriente.


Nos permite hacer cosas importantes y tiene dos tipos
de PROMPT:
1. $ : Lo utiliza el usuario final
2. # : Lo utiliza el Súper Usuario.

- C Shell : Es la shell utilizada en programación C, se


debe a que los comandos son similares a los del
lenguaje. Su prompt es el % . Para usuarios que
programen o actualicen el sistema.
- Virtual Shell: Exclusiva del S.O, enfocada a entornos
virtuales.
- Restricted Shell: Es una shell en la que se restringen
los comandos a utilizar.
- UUCP Shell: Shell especial orientada a la transmisión
de datos ( Cuando queremos conectar dos equipos
UNIX). Lo que hace es que dependiendo del usuario
hará unas cosas u otras dentro del sistema.

APLICACIONES: Las aplicaciones siempre se ejecutan por encima de


la shell. Se divide en:

- Lenguaje C, cobol, fortran, etc..


- Utilidades ( Herramientas y comandos que incluye el
sistema operativo para facilitar la labor al usuario.)
- Otras aplicaciones que serán incluidas por el
administrador en el sistema operativo.

4. CONCEPTOS BÁSICOS

4.1 Concepto de Usuario: Es el propietario o creador de un


fichero o directorio. Persona que puede conectarse al sistema.
Podemos ceder la propiedad de un fichero o directorio a otro
usuario perdiendo los derechos sobre dicho objeto.
4.2 Concepto de Administrador: Encargado de mantener el
funcionamiento eficiente del sistema. Se encarga de las
siguientes funciones:

 Encendido y apagado lógico del sistema.


 Instalar nuevas releases ( versiones ).
 Instalar nuevo software.
 Configuración de dispositivo y usuarios.
 Optimización del sistema.
 Copias de seguridad ( Backup ).
4.3 Concepto de Súper usuario: Es un usuario especial que tiene
permitido el acceso a las propiedades de todos los usuarios y
puede realizar cualquier actividad. En muchos entornos el
súper usuario también es el administrador.
4.4 Concepto de Grupo: Conjunto de usuarios que están dados de
alta en el sistema con las mismas restricciones, permisos y
propiedades bajo un mismo nombre.
Todo usuario pertenece a un grupo de trabajo. Al crear un
usuario se le asigna una Shell, un directorio y un grupo de
trabajo.
4.5 Concepto de Resto: Todos los usuarios que no pertenecen al
grupo del propietario de un fichero. Para los usuarios
pertenecientes a un mismo grupo el resto se refiere a todos los
usuarios ajenos a dicho grupo.
ALMACENAMIENTO DEL S.O EN EL HD

Principales directorios:

/ ROOT: Directorio Raíz, de este directorio parten todos los demás


directorios, este directorio siempre existe. Se representa con la barra / y no con \ como
en Windows 9x, en ningún caso se utilizara la palabra ROOT para acceder al directorio
raíz.

 Directorio < bin >: Contiene ordene o comandos del sistema. Cualquier
librería del sistema esta dentro de este directorio.
 Directorio < dev >: En este directorio se encuentran los drivers o
dispositivos periféricos conectados al sistema, ya que cualquier periférico
que este conectado al mismo tiene un fichero de configuración en este
directorio, por lo que si no existe el archivo dentro del directorio no existe el
periférico.
 Directorio < etc >: En el se encuentran ficheros del sistema y configuración,
este directorio contiene a su vez directorios y archivos que pueden ser
modificados, pero que en ningún caso pueden ser borrados.
 Directorio < lib >: En este directorio se encuentran las librerías del sistema.
Podemos encontrar programas que podemos añadir al S.O.
 Directorio < tmp >: Almacena ficheros temporales creados por el sistema.
Existen más directorios temporales ( Para poder añadir una disquetera sobre
ellos ).
 Directorio < usr >: Normalmente se encuentran los directorios de trabajo de
los usuarios que están dados de alta en el sistema y existe un directorio de
trabajo por cada usuario, donde este podrá hacer lo que quiera. Además este
directorio contiene:
 Directorio < adm >: Contiene ficheros de administración.
 Directorio < bin >: Al estar enlazado con el directorio < bin >
ubicado en el directorio root, siempre van a contener ambos
los mismos directorios y ficheros.
 Directorio < lib >: Al igual que el anterior es un enlace con el
directorio < lib > ubicado en el directorio root.
 Directorio < spool >: Contiene directorios y ficheros
relacionados con la cola de impresión.

Cuando conectamos al servidor, este nos sitúa automáticamente en el


directorio correspondiente a nuestro username y password. A este directorio se
le denomina directorio de conexión.( Cada usuario dispone de su propio
directorio de conexión ).

PERMISOS EN UNIX

Todos los ficheros o directorios del sistema tienen tres tipos de permisos
que indican el tipo de operación que se puede realizar sobre ellos. Dependiendo
de si es un fichero o un directorio se podrá hacer una cosa u otra.

Los permisos son los siguientes:

 Permiso de lectura < r >: Para un fichero significa poder leer el contenido
del mismo ( si este es código ASCII o ANSI ). En el caso de un directorio, va
ha significar que los archivos que estén dentro del directorio no están
protegidos contra lectura, y por tanto, podremos listar el contenido del
mismo y ver el contenido de los ficheros contenidos en dicho directorio.
 Permiso de escritura < w >: En un fichero significa que podemos modificar
el contenido de un fichero, al igual que podemos eliminarlo. En el caso de un
directorio nos permite añadir ficheros y borrarlos, también podríamos borrar
el directorio.
 Permiso de ejecución < x >: En el caso de n fichero nos permite ejecutarlo
siempre y cuando este fichero sea ejecutable. En el caso de un directorio,
significa que nos permite posicionarnos dentro del directorio para ejecutar
cualquier programa que este contenga.

Si el sistema no nos permite modificar un archivo del sistema, realizamos


una copia del fichero, al haber creado nosotros dicha copia, somos
propietarios de ese fichero, por lo podemos hacer con el lo que queramos, y
por tanto trabajar libremente sin restricciones.

Cada fichero del sistema dispone de 9 permisos:

3 para el propietario del fichero o directorio.


3 para el grupo de trabajo.
3 para el resto de los usuario.

El propietario de cada fichero configura estos permisos.


FORMATO GENERAL DE LOS COMANDOS

 Un comando se compone generalmente de :

Nombre del comando: Indica a la shell que debe hacer o


ejecutar.

Opciones: Son caracteres que modifican las acciones de los


comandos y que van precedidas por un guión. En UNIX todas las
opciones que indiquemos en la línea de comandos, irán precedidas por un
solo guión que abarcará a todas ellas.

Ej.:
$ comando –abcd

Argumentos: Serán nombres de ficheros o directorios sobre los


que va a actuar el comando. Los comandos de UNIX admiten más de un
argumento. Los argumentos se separan por blancos.

Además podemos ejecutar mas de un comando en la línea de comandos,


separando cada comando con un punto y coma, ejecutándose de izquierda a derecha
todos ellos.
Ej.:

$ comando ; comando2 ; comando3 ; comando4 –abcd

En el entorno UNIX cuando llegamos al margen de la pantalla ( columna


80 ), este no salta automáticamente de línea, si no que tendremos que indicárselo
manualmente, escribiendo la contrabarra y pulsando ENTER. El S.O, nos dejará
terminar la línea de comandos en la siguiente línea, donde aparecerá el prompt
secundario representado por el símbolo >, sin empezar a ejecutar ningún comando,
hasta que no pulsemos ENTER.

Ej.:

& comando ; comando2 ; comando3; comando4 ; comando5 ; \ ENTER


> comando5 ; comando6 ; ENTER

Si el comando que ejecutamos contiene algún error UNIX salta al siguiente y


continua con la ejecución de la línea de comandos. Además de eso, si algún comando
que ejecutemos tiene parte de comillas, y por algún casual se nos olvidará cerrar las
comillas el S.O detectaría el error y nos pasaría al prompt secundario ( > ) para corregir
la línea de comandos.

La combinación de teclas CONTROL + SUPRIMIR para la ejecución de


cualquier proceso o ejecución, devolviendo el control del sistema al prompt.
FICHEROS EN UNIX

El sistema entiende tres tipos de ficheros:

- Ordinarios: Un fichero ordinario es aquel que


contiene datos secuenciales, que puede ser un fichero
de texto, de datos, de la shell, o bien un fichero
ejecutable. Estos ficheros son normalmente creados
por el usuario.

- Directorios: Este tipo de ficheros son entendidos por


el sistema como ficheros que contienen información
sobre los ficheros que se encuentran a nivel inferior.

- Especiales: Estos ficheros se identifican con los


dispositivos físicos que tiene el sistema. Ya que cada
dispositivo conectado al sistema debe tener un fichero
de identificación, de lo contrario el dispositivo no será
detectado.

En UNIX, como en todos los S.O, no puede haber dos nombres de


ficheros iguales, incluyendo en el nombre del fichero todo el path que
abarca el mismo. De modo que no puede haber dos ficheros iguales en
un mismo directorio.

NORMAS DE NOMBRADO DE FICHEROS

La longitud del nombre no es problema pero no puede contener


blancos, además los ficheros en UNIX no tienen extensión tal y como
la tienen en MSDOS o Windows 9x.

Ej.:

/ empleados.madrid

Madrid no sería una extensión si no que formaría parte del


nombre del archivo al igual que el punto.

A la hora de nombrar ficheros el sistema es Case Sensitive, por


tanto dos fichero con el mismo nombre, uno escrito en mayúsculas y
otro con minúsculas no sería iguales para el sistema. Ej.:

/ FICH1
/ Fich1
/ fich1
Son tres ficheros diferentes e independientes.

Los nombres de ficheros no deben empezar por caracteres


especiales, tales como guión bajo y alguno mas que veremos mas
adelante.

En ningún caso deben usarse en los nombres de ficheros los


siguientes caracteres:

^ , [ ] , * , ( ), < >, ; , & , ¿ ? , ¡ !, \ , # , @ , |

Ya que todos estos caracteres tienen un valor especial para el


sistema. De cualquier forma, y a pesar de que no deben utilizarse para
nombrar archivos, si que podemos hacerlo, ya que hay formas para
poder llamar a este tipo de nombres de archivo.

Nota: Si creamos un archivo que contenga en su nombre un


carácter comodín, no podríamos trabajar con el, ya que sería
imposible llamarle correctamente, si no fuese por la contrabarra ‘\’,
que poniéndola delante de cualquier carácter especial, convierte a este
en un carácter normal.

COMANDOS DE UNIX

Todos los comandos han de escribirse en minúsculas, ya que el sistema


operativo UNIX es case sensitive ( Sensible a mayúsculas y a minúsculas ).

 clear: limpia la pantalla ( similar al cls de MSDOS ).


 banner <ARGUMENTO> : El argumento lo pone en letras mayúsculas.
Acepta más de un argumento, y entran unos 10 caracteres por línea, no es un
comando de gran uso, pero el administrador lo usa para advertir al usuario
que debe recoger sus documentos en la impresora u otros avisos relevantes.
 cal [mes] [año]: Es un calendario del mes actual. Lo puede sacar entre el año
0 y el 9999. Si no le indicamos parámetros, nos dará el calendario del mes
actual.
 echo <ARGUMENTO>: Visualiza en pantalla el argumento ( Tiene
argumentos para tabular, saltar de línea, y otras utilidades a la hora de
programar).
 date : Saca la fecha y la hora del sistema. La hora y la fecha solo puede ser
modificada por el administrador. El administrador configura el formato
inicial que posteriormente podrá ser modificado por cualquier usuario o
grupo de trabajo.

Para modificarlo:

Date [+formato]
Donde en formato, podremos incluir cadenas de caracteres, cerrando el
formato entre comillas. Los códigos de formato pueden ir fuera de las
comillas sin causar ningún error.

Los códigos de formato son los siguientes:

%d: Muestra el día del mes actual.


%m: Muestra el mes del año actual.
%y: Saca el año en dos dígitos.
%D: Saca el formato mm / dd / yy
%T: Añade la hora con el formato hh: mm: ss
%r: Añade AM/PM a la hora.
%j: Saca el número correspondiente al numero de día que ocupa
un día dentro de un año, este lógicamente deberá estar entre 1 y 365 o 366 si
es bisiesto).
%w: Número que ocupa un día dentro de una semana. Siendo el
Domingo el 7.
%a: Saca los tres primeros caracteres del nombre del día de la
semana.
%n: Produce un salto de línea.

Ej.:

Date ‘ Hoy es: %d / %m / %y ‘

 ls : Visualiza el contenido de un directorio.

ls [opciones] [Argumentos]

La información aparece en columnas y ordenada alfabéticamente, pero en


ningún caso diferencia entre ficheros y directorios. Trata por defecto de la misma forma
los directorios que los ficheros.

Este comando, admite varios argumentos, por lo que podemos listar en


una misma línea de comando, el contenido de diferentes directorios. Ej.:

$ ls /bin /etc

Este comando acepta los siguientes argumentos:

o - F: Diferencia entre ficheros y directorios. A los nombres de


directorios les añade una barra al final y añade un * al nombre de los
ficheros que tienen permiso de ejecución.
o - s: Saca el nombre de los ficheros y directorios y su tamaño en
bloques ( Cantidad que el S.O es capaz de leer en un solo golpe del
disco duro). Los bloques tienen tamaño de 512 bytes. Por cada
archivo reserva como mínimo 2 bloques ( 1 Kbyte) para cada fichero,
de este modo puede crecer de tamaño sin problemas.
o - R: Muestra el contenido del directorio y subdirectorio que pueda
tener. Ej.:

$ ls –R /

Mostraría un listado completo de todo el disco duro.

Por cada directorio que no pueda leer nos manda un mensaje de


error avisando de un permiso de lectura denegado.
o - a: Muestra los ficheros ocultos y para el sistema todo fichero oculto
es aquel que empieza por un punto. Además de esto muestra los
ficheros normales. El fichero oculto más común es <profile>.
Este archivo es un archivo de configuración personalizado
para cada usuario, figura en todos los directorios de conexión. No
puede ser borrado ya que si este archivo esta ausente, no
podremos conectar con el sistema.

En este archivo podemos incluir mensajes de bienvenida,


programas que queremos ejecutar al iniciar, etc... ya que funciona
como un fichero de configuración personalizada que el sistema
ejecuta al iniciar la sesión.

o - l : Muestra la salida larga de un directorio. Muestra la máxima


información que el sistema puede ofrecernos acerca de un archivo o
directorio.

- rw_r__r__ 1 1 tbx primero 1360 12:27 12/12 Hola

En la primera columna figura si el archivo es un archivo o


un directorio, si es un archivo figurará un guion y si es un
directorio figurará una d.

En la segunda columna figuran los permisos, que se


agrupan de tres en tres. Los tres primeros indican los permisos
para el propietario, los tres siguientes indican los permisos para el
Grupo y los tres siguiente para el resto.

La tercera columna indica el numero de enlaces que tiene


el archivo. Todo fichero tiene como mínimo un enlace al propio
fichero y un directorio tiene como mínimo dos enlaces, un a si
mismo y otro al directorio padre.

A continuación aparece el propietario del fichero y


posteriormente el grupo del fichero. Después el tamaño en bytes
del fichero.
En la siguiente columna hora y fecha de la última
modificación. Si hay un fichero que ha pasado un año desde su
creación, el numero del año figurará en el fecha. Por último figura
el nombre del fichero o directorio.

 ln: Permite enlazar ficheros y directorios. ( Enlazar es parecido a crear un


acceso directo al fichero o directorio enlace en otro directorio que es el
enlazado).

Ej.:
ln [opciones] Argumento1 Argumento2

Ej.:

ln fich1 fich2

Un fichero enlazado no tiene por que llamarse igual que el


fichero de enlace. La propiedad y los permisos del fichero enlace
se conservan en el fichero enlazado. Para enlazar un fichero
habría que tener permiso de lectura / escritura ( + r + w).

Para enlazar un directorio se utiliza el parámetro –s.

Ej.:

ln –s dire1 dire2

Cuando hacemos un ls –l los nombres de los directorios


aparecen con una l delante y después el directorio enlazado y el
enlace.

 mail : Comando de correo electrónico. Sirve para la comunicación con los


usuarios dentro del sistema. También podemos dejarnos un mail para
nosotros a modo de recordatorio, ya que al iniciar la conexión nos advertirá
de que tenemos correo.

Todo usuario tiene un buzón que se encuentra en el directorio en


el que se encontrará un archivo en /var/mail/nombre_usuario.

Para recibir correo deberemos tener un mensaje como


mínimo, después bastará con ejecutar la orden ‘ mail ‘,
apareciendo como primer mensaje el mensaje mas nuevo.

En la cabecera nos dará los detalles y desde donde se ha


enviado el mail, y posteriormente a la cabecera se encuentra el
cuerpo del e-mail.

Después del cuerpo del mensaje podremos utilizar


comandos relacionados con el mail:
ENTER: Visualiza el siguiente mensaje.
d : Borra el mensaje que acabamos de visualizar.
- : Visualiza el mensaje anterior, siempre que este exista.
P : Repite el mensaje que acabamos de visualizar.
S [fichero] : Guarda el mensaje en un fichero y además lo
borra del buzón de correo.

Cuando el cuerpo del mensaje contiene símbolos


desconocidos, el cuerpo del mensaje no aparecerá, y nos mostrará
el error correspondiente.
Para visualizar el texto del mensaje, deberemos utilizar
este comando para mandar el cuerpo del mensaje a un archivo,
donde podremos leerlo correctamente.

Cuando utilizamos esta técnica, no machacamos el archivo


de direccionamiento, si no que se efectúa una concatenación.

w [ fichero ]: Igual que la anterior, pero este no graba la cabecera


del correo en el archivo destino.

q : Abandona el servicio de correo. Con este comando podemos


salir cuando lo deseemos sin necesidad de terminar de leer todos
los mensajes.

* : Muestra todos los opciones o argumentos del programa mail.

Ejemplo:

$ mail – p : Saca el mail completo, todos los mensajes


recibidos, uno detrás del otro, sin paginación por defecto, sería como visualizar
el contenido del fichero.

/ var / mail / nombre_usuario

Para enviar un mail solo tenemos que poner la orden y el usuario


al que queramos enviar el mensaje. A partir de aquí escribiremos el
mensaje.

Si queremos salir sin enviar el mensaje CONTROL + SUPR .

Para finalizar y enviar ponemos un punto en la siguiente línea y


pulsamos ENTER. O en vez del punto también podemos usar CONTROL
+ D.
No se puede borrar el contenido de una línea que hemos dejado
atrás escribiendo. Deberemos borrar el mensaje y escribirlo de nuevo con
CONTROL + SUPR.

 passwd : Permite cambiar la contraseña del usuario en cuestión. Cada


usuario solo puede cambiar la suya propia y en ninguna caso la de cualquier
otro usuario.

El administrador aunque no sabe las contraseñas de los usuarios, si que


puede cambiarlas.

Como una medida de seguridad, el sistema pedirá una nueva contraseña


cuando esta cumpla un tiempo de caducidad, en ese momento habrá que
renovarla por otra que sea al menos un 50 % diferente.

Para cambiar la contraseña deberemos indicar primero la antigua y


posteriormente la nueva, pidiendo después una confirmación de la
misma.

 sleep tiempo : Produce un retardo de tiempo en segundos.

Ej.:

Echo Mensaje; sleep 5

Este comando sacaría un mensaje en pantalla y esperaría 5


segundos.

El tiempo se establece en segundos, el tiempo puede ir entre 1 segundo


y 65636 segundos.

La única forma de romper esta espera es con las siguientes


combinaciones de teclas:

CONTROL + D
CONTROL + SUPR

 who : Muestra información sobre los usuarios que están conectados al


sistema con el siguiente formato.
Las opciones de este comando son las siguientes:

o u : Añade a la información un punto y una cifra numérica, donde el


punto índica el tiempo de inactividad del terminal:

 Inactividad en el último minuto. Sino hemos hecho


nada en el último minuto en lugar del punto aparecerá
en pantalla el tiempo de inactividad.
 La cifra es numero del proceso asignado a la shell.
Cuando entramos al sistema, a nuestro intérprete de
comandos se le asigna un número, que sirve como
matricula a todas las ejecuciones que producimos.
o T: Además de lo anterior saca un + o un - . Estos símbolos indican el
estado del terminal, si esta abierto muestra el símbolo + permitiendo
el tráfico interactivo de mensajes. De lo contrario muestra el -.

 cat : Equivalente al type de MSDOS, visualiza el contenido de uno o varios


ficheros dependiendo de los argumentos que pongamos en su llamada. Ej.:

$ cat fich1 /etc/fich2 fich3

Visualizaría el contenido del fichero uno después el del fichero


dos y posteriormente el del fichero tres, sin distinguir entre el contenido de un
fichero y el contenido del otro. Por tanto no usa paginación a la hora de mostrar
la información.

Al igual que en MSDOS podemos usar redireccionamiento de salida


hacia cualquier nombre de fichero, lo que nos permite la edición o copia de un
fichero.

También nos permite la edición de un fichero, ya que si ejecutamos cat y


un redireccionamiento hacia un fichero, nos pasara al segundo prompt para
poder escribir tantas líneas como deseamos, para terminar de escribir pulsaremos
CONTROL + D.

Todas las líneas que hayamos escrito quedarán guardadas en el archivo


de direccionamiento.
Ej.:

$ cat > fichero


texto 1
texto 2
texto 3

CONTROL + D

Si solo ponemos un redireccionamiento el contenido del fichero destino


será sobrescrito, si ponemos dos símbolos de redireccionamiento, la nueva
información se concatena en el archivo destino.

Este comando solo entiende caracteres ASCII.

 cp: Copia uno o varios ficheros a un destino que debe ser obligatoriamente
un directorio, y además será indicado como último argumento. Ej.:

$ cp Argumento1 Argumento2 Directorio_Destino

Si indicamos varios argumentos y un destino, todos los archivos


serán copiados a un único directorio destino, ya que solo puede indicarse
un destino por llamada al comando. Ej.:

$ cp fich1 fich2 fich3 Destino

Copiaría los ficheros fich1, fich2, y fich3 al directorio Destino.

 mv: Mueve los ficheros o directorios. Ej.:

$ mv / dir

 rm: Borra únicamente ficheros, si un usuario no pone los permisos


correspondientes, el sistema no pide confirmación. Cuando borramos un
fichero, esto no puede ser recuperado.
Evidentemente no podremos borrar un archivo del que no dispongamos
de permiso de lectura – escritura.

Admite más de un argumento y solo puede borrar ficheros.

Ej.:

$ rm /fich1

 mkdir: Comando que sirve para crear uno o varios directorios. Para ello
usaremos el siguiente formato:

Ej.:
$ mkdir dire1 dire2 dire1/dire11

Tiene una opción que es la –p , y que permite crear rutas completas de


un solo golpe. Ej.:

$ mkdir –p dire1/dire11

Estamos creando de un golpe dire1 y dentro de dire1 dire11.

 rmdir: Este comando elimina directorios. Para que esto sea posible el
directorio deberá estar vacío y no podremos estar posicionados dentro del
mismo. Al igual que mkdir, también tiene la opción –p para borrar rutas
completas. Ej.:

$ rmdir –p dire1/dire11

Borra tanto dire1 como dire11. También podemos combinar con


la –p la –s que hace que el sistema muestre en pantalla las acciones que
esta ejecutando.

Si queremos borrar el directorio y todo el contenido del mismo,


deberemos usar la opción –r. Ej.:

$ rmdir –r /dir1

 cd: Comando que nos sirve para posicionarnos en un directorio determinado.


Sus argumentos son los siguientes:

cd .. : Con blanco entre el cd y los dos puntos, nos posiciona en


un nivel de directorio inferior.

cd / : Nos posiciona en el directorio raíz del disco duro.

cd /etc : Nos posiciona en la ruta indicada.

cd : Nos muestra el directorio de conexión.

 pwd: Nos muestra la ruta actual, el path completo.

CARACTERES COMODINES EN UNIX

* : Suple por cualquier cadena desde donde ha sido escrito. Ej.:


$ ls / f*e

Muestra los ficheros que empiezan por f y terminan por e.

$ ls / *.*

Muestra todos los ficheros que tengan un punto en la cadena.

? : Suple un carácter en la posición en la que se encuentra la interrogación. Ej.:

$ cat f ?

Mostraría el contenido de todos los archivos que comiencen por f, y


consten de dos letras. (f1, ff, fe, fg, etc..).

[ ] : Sustituyen por un solo carácter en la posición donde se encuentra,


admitiendo rangos. Ej.:

$ cat f [1234]

Mostraría el contenido de los ficheros:


f1, f2 , f3, f4

Podemos usar el guión para establecer el rango:

$ cat [a-j]

Incluso, podríamos incluir una coma para ejecutar varios argumentos:

$ cat f[a-j , x-z]

Mostraría todos los ficheros, cuya posición de carácter coincida


con los rangos especificados en la línea de argumentos.

También podemos hacer que este comando muestre los archivos cuyo
rango de caracteres no se cumpla. Esto lo haremos mediante el cierre de
exclamación. Ej.:

$ cat [ !Rango]

REDIRECCIONAMIENTOS DE COMANDOS

Un redireccionamiente sirve para modificar la salida o entrada


estándar de un comando determinado. Al igual que en el entorno no
gráfico de Windows 95, para los redireccionamientos usaremos el los
símbolos mayor o menor, dependiendo de si lo que queremos cambiar es
la entrada o la salida estándar del comando.
Todo redireccionamiento une un comando con un fichero
determinado.

 Redireccionamiento de Entrada: <

$ mail 1mbx < fich1

Con este comando le mandamos el contenido de un fichero


al usuario 1mbx.

 Redireccionamiento de Salida: >

$ cat fich1 /etc/x > fich_destino

Guarda el contenido de los ficheros fich1 y x en el fichero


fich_destino. Si no usamos un redireccionamiento de
salida doble, el contenido del fichero destino será
machacado.

 Redireccionamiento Doble de Salida: >>

$ cat fich1 >> fich_destino

Este tipo de redireccionamiento no machaca el contenido


del fichero destino.

 Redireccionamiento de Error: 2>

$ cat fich /etc/x 2> fich1

Todos los errores que se produzcan ejecutando la


línea de comandos, no saldrán por la salida estándar, si no
que se guardarán en el fichero destino, machacando el
contenido del mismo, si este ya existía.

 Redireccionamiento Doble de Error: 2>>

Es exactamente igual que el anterior, sin embargo no


machaca el contenido del archivo destino, si no que si este
existe, concatena la información.

TRANSFERENCIAS

Un transferencia sirve para utilizar la salida de un comando, como la entrada de


otro. Esto lo hacemos mediante los tubos, que se sacan con la combinación de
teclas ALT + 1.
Ej.:

$ Comando1 | Comando2

Podemos hacer un cat de un fichero y entubarlo a un mail


de un usuario. De este modo le estaremos enviando un archivo vía
correo electrónico.

Ej.:

$ cat fich1 | mail 1mbx


$ banner hola | write 1mbx

Existe un comando llamado more, que se encarga de hacer una


paginación de cualquier comando que use la salida estándar. El modo de uso de
este comando es el siguiente:

$ ls –lR | more

Muestra un dir completo del disco duro paginado.

OTROS COMANDOS ÚTILES

 grep [Opciones] patrón Argumento1

Este comando busca en los ficheros especificados como argumentos las


líneas que coinciden con el patrón indicado y las muestra en pantalla. Es
capaz de localizar tanto cadenas como subcadenas. Este comando es sensible
a mayúsculas y minúsculas. Ej.:
$ grep 1ma /etc/x

Este comando muestra las líneas del archivo x que contengan la


cadena alfanumérica “1ma”. Si especificamos una cadena con blancos
deberemos encerrarla entre comillas.

Acepta las siguientes opciones:

- v : Visualiza las líneas que no contienen la cadena.


- n : Visualiza las líneas que contienen la cadena y el
numero de la línea en la que esta posicionada dentro
del fichero.
- c : Devuelve el número de líneas que contienen la
cadena patrón.
- i : No diferencia entre mayúsculas y minúsculas.
- l : Se utiliza cuando se ponen comodines dentro de los
argumentos.
Aunque no hace falta, es conveniente poner siempre las comillas
al patrón.

Este comando acepta todos los comodines de búsqueda,


además de los siguientes:

- . : El punto es equivalente a la “?”. Sustituye en su


posición por cualquier carácter.
- [ ]: Sustituye por el rango en la situación donde se
encuentra. Ej.: 1ma [a-z]
- ^ : Es equivalente a la “!” ya que niega una
determinada condición. Ej.: 1ma[^a-z]

El comodín “*” también puede ser utilizado aunque no


tiene mucho sentido ya que grep por defecto hace búsqueda de
subcadenas. Para buscar una carácter especial, como siempre,
deberemos precederlo de la contra barra “ \ ”.

Si precedemos de un símbolo de dólar “$” a la cadena


patrón, grep mostrará en pantalla las líneas que terminen por esa
cadena o subcadena.

Por lo contrario si la cadena patrón es precedida por el


símbolo circunflejo “ ^ “, grep mostrará en pantalla aquellas
líneas que comiencen por esa cadena o subcadena.

 fgrep [opciones] Argumento1 ...

Es igual que el comando grep, pero con la diferencia que este no


admite comodines, y convierte a estos en valores literales de la cadena.
Las opciones de este comando son las siguientes:

- f : Esta opción indica a grep que busque las cadenas


contenidas en un determinado fichero,
correspondiendo cada línea a una cadena determinada.
Ej.:
$fgrep –f fichero_con_cadenas fichero_de_busqueda

Este comando tiene una opción para buscar varias cadenas,


una por una, y que nos vaya mostrando las líneas que tienen el
patrón por pantalla. Esta opción se realiza de la siguiente manera:

a) Tecleamos $fgrep “Cadena1


b) Al dejar las comillas abiertas indicamos al
comando que no hemos terminado de escribir
los argumentos, por lo que nos aparecerá el
prompt secundario.
c) En el prompt secundario escribiremos las
cadenas que queramos separadas por ENTER,
cerrando las comillas cuando deseemos
terminar.

Ej.:

$fgrep “Cadena1 ENTER


> Cadena2 ENTER
> Cadena3 ENTER
> Cadena4 ”

 egrep “Cadena1 | Cadena2 | Cadena3”

Este comando hace lo mismo que los anteriores, pero permite


especificar varias cadenas en una sola línea de comandos. Cada cadena
muestra unos resultados diferentes.

Estos tres comandos pueden ser entubados como entrada de


cualquier otro comando UNIX. Ej.: $ ls – l | grep “^d” Este ejemplo
hace un listado de los ficheros y directorios del path actual y lo entuba
como entrada al comando grep, que depura los resultados y muestra las
líneas que comienzan por d que en este caso coincide con los directorios.

 chmod permisos_Propietario Pemisos_Grupo Pemisos_Resto Argumentos..

Este comando permite modificar los permisos existentes en ficheros y


directorios. Este comando puede ser utilizado de dos formas diferentes:

o Notación Octal: Siempre asigna permisos.


o Notación Simbólica: Pone o quita permisos.

La diferencia entre asignar permisos y poner o quitar permisos es


que mediante una asignación deberemos establecer los valores de todos
los permisos.

Mientras para añadir o quitar un permiso podremos hacer


referencia directa a ese permiso dejando el valor de los demás permisos
como estaban.

Notación Octal:

De esta forma le indicamos los permisos mediante tres dígitos


representados en forma octal, y que por tanto, cada dígito representa tres estados
binarios, esto es debido a que a cada numero octal le corresponde un número
binario compuesto por tres dígitos. La tabla octal es la siguiente:
rwx
0-> 0 0 0 Quita todos los permisos
1-> 0 0 1 Solo permiso de ejecución.
2-> 0 1 0 Solo permiso de escritura,
3-> 0 1 1 Permisos de escritura y ejecución
4-> 1 0 0 Solo permiso de Lectura
5-> 1 0 1 Permisos de Lectura y ejecución
6-> 1 1 0 Pemisos de Lectura y Escritura
7 ->1 1 1 Asigna todos los permisos

Cuando un permiso tiene valor 1 asignamos el permiso, si este tiene


valor 0 damos ausencia de permiso.

Para asignar los permisos en notación octal lo haremos de la siguiente


forma:

$ chmod 735 fich fich2

Este comando lo que hace es dar todos los permisos al propietario ( 1 1


1), permisos de escritura y ejecución al grupo (0 1 1)y permisos de lectura y
ejecución al resto. Estos permisos son asignados a los archivos fich y fich2.

Si queremos cambiar los permisos de un directorio deberemos estar en su


directorio inmediato o directorio padre.

Notación Simbólica:

Para hacerlo en notación simbólica:

$chmod Quien Que Permiso Argumentos....

Quien puede ser:


- u : el propietario del archivo o directorio.
- g : el grupo.
- o : el resto de usuarios.
- a : si queremos referirnos a todos.

Que puede ser:


- + : Para añadir permiso.
- - : Para quitar un permiso.
- = : Para asignar permisos.

Los permisos pueden ser:


- r : Permiso de Lectura
- w : Permiso de Escritura
- x : Permiso de Ejecución

Ejemplo de un cambio de permisos en forma simbólica:


$chmod u + rxw , g = wx , o = rx fich
En el ejemplo anterior se puede distinguir poner registros al
propietario del grupo, o asignar permisos al grupo y al resto. Cuando
utilizamos el operador de asignación “=”, considera que los permisos a
los que no se ha hecho referencia deben estar ausentes.

 wc [opciones] Argumento ...

Este comando es capaz de contar las líneas, palabras o caracteres


de cualquier fichero o ficheros. Por defecto si ejecutamos el siguiente
comando:

$wc fichero

Obtendremos en pantalla: 17 líneas 50 palabras 800 caracteres fichero

Por cada fichero que pongamos en argumentos nos devolverá una


línea independiente de información.

Las opciones de este comando, todas en minúsculas, son las


siguientes:

- l : Solo cuenta el numero de líneas ( Para distinguir


una línea de otra se fija en el carácter ENTER).
- w : Solo cuenta el numero de palabras, que estén
separadas entre enter, espacios o tabulaciones.
- c : Cuenta los caracteres. En unix todo se cuenta como
un carácter, de modo que los blancos, enter y
tabulaciones serán contados como caracteres.

Este comando es aun más util se lo entubamos a otro comando. Por


ejemplo para saber los usuarios que hay conectados al sistema:

$who | wc –l

 more [opciones] Argumento...

Este comando ya ha sido explicado por encima anteriormente, ahora


veremos todas las posibilidades que nos ofrece.

Cuando pulsamos ENTER en mitad de una paginación salta línea a línea.


Si pulsamos SPACE salta directamente a la siguiente página.

Las opciones de este comando son las siguientes:

- Nº entero: Esta opción permite visualizar un número


de líneas determinado. Ej.: $ more –10 fichero
- c : Limpia la pantalla antes de comenzar cada
paginación.
- + Nº Entero: Mediante esta opción indicamos a more
la línea del archivo por donde deseamos que empiece a
leer. Ej.:
$more –10c +25 fichero

Este comando visualiza de 10 líneas en 10 líneas


borrando pantallas y visualiza a partir de la línea
25 del fichero que le hemos indicado.

 pg [opciones] Argumento....

Complemento de more. Hace lo mismo, paginar la información. Pero


además este dispone de un prompt interno, donde pagina cualquier
información en pantalla, esto nos permite recorrer el fichero hacia delante
o hacia atrás.

Para salirnos del prompt solo deberemos teclar “q“

 head [opciones] Argumento ...

Muestra la primera parte de un fichero, por defecto muestra las 10


primeras líneas, aunque mediante las opciones podemos cambiar este
parámetro. Las opciones son las siguientes:

- Nº Entero: Numero de líneas que queremos visualizar


de la cabecera del archivo.
 tail [opciones] Argumento ...

Visualiza el final del fichero. Por defecto sacas las 10 últimas lineas.
Tiene las siguientes opciones:

- Nº Entero: Numero de líneas que queremos visualizar


- + Nº Entero: Permite sacar desde la línea indicada
hasta el final del fichero.
- l : Es la opción por defecto. Visualiza el numero de
líneas establecidas.
- c : Visualiza los caracteres.
- b : Visualiza en bloques (512 bytes)

 tee [opciones]

Redirecciona la salida de un comando a un fichero a la vez que saca los


datos por pantalla ( Salida estándar ). Ej.:

$ grep “pepe” fichero | tee lineas.pepe

Saca por pantallas las líneas del archivo fichero que contienen la
cadena pepe y además las almacena en el fichero líneas.pepe.
Este comando por defecto machaca el contenido del archivo de
destino. Sin embargo esta opción puede ser modificada mediante las
opciones.

Estas son las opciones para este comando:

- a : Para que el comando no machaque el contenido del


archivo destino y concatene la información deberemos
indicar esta opción en la llamada al comando.

Ej.:

$grep “pepe” fichero | tee lineas.pepe | grep “luis”

Visualiza las líneas que contienen Pepe y Luis y solo guarda las líneas
que contengan la cadena “pepe”.

 comm [opciones] Argumento1... Argumento2...

Permite localizar partes comunes dentro de dos ficheros, básicamente,


compara dos ficheros línea a línea. Visualiza las diferencias tabuladas.

Líneas que pertenecen al primer fichero y que son


diferentes a las del segundo.
Líneas que pertenecen al segundo fichero y que
son diferentes a las del primero.
Líneas comunes a ambos ficheros

Las opciones para este comando son las siguientes:

- 1 : Visualiza las líneas exclusivas del fichero2 y las


comunes de ambos ficheros.
- 2: Visualiza las líneas comunes entre ambos ficheros.
- 3: Visualiza las líneas exclusivas del archivo 1 y las
líneas comunes.

Otros comandos relacionados: diff y cmp . diff compara líneas y cmp


compara por caracteres y devuelve la información de cual es el primer
carácter diferente. Informa de la posición del primer carácter diferente.

 cut [opciones] Argumentos:

Este comando sirve para visualizar por columnas o


campos, recorta líneas de un fichero por columnas o campos. Tiene como
salida estándar la pantalla y no modifica el contenido del fichero origen.

Podemos cortar columnas o campos, dependiendo de


nuestro interés. Estos son las opciones que acepta:
- c : Corta columnas. Ej.:
$cut –c10 archivo
Muestra el carácter diez de todas las lineas que
componen el archivo. Podemos indicar más de una posición de la
siguiente forma:
$cut –c10,11,12 fichero
Esto mostraría los caracteres 10,11 y 12 de cada línea del
fichero. También podemos indicar un rango:
$cut –c10-12 fichero
Mostraría todos los caracteres comprendidos entre el 10 y
el 12 de cada lineas, ambos incluidos. Si queremos indicar desde
un número hasta el final:
$cut –c10- fichero
Mostraría todos los caracteres a partir del 10 y hasta que
termine la línea de cada línea del archivo en cuestión.

- f : Esta opción corta campos situados en línea de un


fichero, para ello deberemos indicarle el separador de
campos que se ha utilizado para crear la estructura del
archivo. Ej.:
$cut –d: -f2 empleados

De esta manera le indicamos que el separador son


los dos puntos. Si el separador es un carácter especial, el
separador deberá ir entre comillas. El ejemplo anterior
cortaría el campo numero dos de cada línea del fichero
empleados y lo mostraría en pantalla.
Si queremos utilizar el blanco como separador,
deberemos indicarlo entre comillas, ej.:
$cut -d “ “ –f2 empleados

De la misma forma que para cortar columnas, para cortar


campos se pueden indicar un solo campo, varios, un rango
o desde un campo hasta el final.

 paste [opciones] Argumentos:

Este comando pega lineas de varios ficheros formando una


sola línea. Su salida estándar es la pantalla. Ej.:

Por defecto separa las columnas por una tabulación.


Ejemplo de su forma de uso:
$paste A B
Sacaría por pantalla el resultante del grafico anterior.
Si en vez de un tabulador como separador, queremos
utilizar uno propio, deberemos indicárselo con –d. Ej.:
$paste –d: A B
Este comando generaría el siguiente resultante:

Podemos indicar varias fuentes, y de todas ellas al final generará


un solo resultante. Ej.:

$paste A B C D

Si queremos indicar un separador para cada campo, deberemos


indicar tantos separadores como se vayan a utilizar después del –
d. Ej.:
$paste –d:$% A B C D

Este comando usaría los dos puntos para separar los


campos A y B, usaría el dólar para separar los campos B y C, y el
porcentaje para separar el campo C del D. Ej.:

A:B$C%D

Este sería otro ejemplo:


$cut –f2 –d: empleados | paste –d: - sueldos > fichero

Este comando juntaría en una sola línea, el campo numero


dos de cada línea del archivo empleados, y las lineas del fichero
sueldos, separando ambas por dos puntos. El guión que hay
después del –d sirve como variable, e indica donde ira
posicionada la información que procede de la transferencia
( Entubado ).

ESTRUCTURA DEL FICHERO <PASSWD>

Este fichero es de contraseñas, esta escrito en código ASCII, y puede ser


visualizado mediante un cat. Se encuentra en el directorio de ficheros del
sistema y configuración del mismo ( / etc / passwd ) y tiene una línea por
cada usuario que este dado de alta en el sistema.

En el se encuentra información separada en campos por el símbolo dos


puntos. Ej.:
( Siguiente Página )
FORMATO DEL FICHERO <Group>

Este fichero contiene los grupos existentes en el sistema, esta escrito en


código ASCII, y se encuentra en el directorio de archivo y configuración del
sistema (/ etc / Group). Tiene una línea por cada grupo existente. Ej.:

 Umask: (el sistema establece una máscara o código para la creación de


ficheros).
Establece una máscara para la asignación de permisos a la hora de crear
un fichero. La máscara es un número de tres dígitos, donde el primero es
para el usuario, el segundo para el grupo y el tercero para el resto.
Los números oscilan entre el 0 y el 7, y la máscara por defecto es 022.
Cuando se crea un directorio tendrá como máximo la máscara 777, y como la
máscara por defecto es 022:
 Para el usuario se mantienen, por el 0, los permisos R, W, X.
 Para el grupo se quita el permiso dos, el de W.
 Para el resto se quita también el permiso de escritura.
A la hora de crear un fichero, como máximo se puede crear con permisos de
Lectura y escritura. Sigue el mismo funcionamiento que el de los
directorios, pero con la máscara 666.

 Find: busca en la estructura de árbol ficheros o directorios que


cumplan algún criterio. Una vez localizado permite realizar una acción sobre
ellos. Se divide en:

1. DIRECTORIO INICIAL DE BÚSQUEDA.


2. CRITERIO DE BÚSQUEDA.
3. ACCIÓN.

DIRECTORIO INICIAL DE BÚSQUEDA.

Es aquel en el que se va a empezar la búsqueda, que las hace por ramas.


Desde el primer fichero al último, hacia abajo. Siempre hay que ponerle
un punto de partida.

Por ejemplo: para buscar desde el directorio actual: con el . (punto).


Con : (dos puntos) desde el directorio padre.

CRITERIO DE BÚSQUEDA

Son las características que cumplirán los ficheros o directorios. Existen:

- Name “fichero”: busca ficheros que coincidan con el nombre que va entre
comillas.
1. -size + ó – número: busca ficheros que tengan un determinado número de
bloques.
2. -size + ó – número [c]: Por ejemplo “-size +3c” Indica que buscamos
caracteres en vez de bloques.
3. -atime + ó – número: selecciona ficheros o directorios a los que se ha
accedido hace un número de días.
4. -mtime + ó – número: igual que atime, pero para ficheros que se han
modificado.

5. -type tipo-fichero: indica que tipo de fichero se está seleccionando. Con


F indicamos ficheros y con D directorios.

6. -user login: busca ficheros o directorios de un determinado usuario.

7. -group grupo: busca ficheros o directorios de un determinado grupo.

8. -perm nº nº nº : busca ficheros que tengan los permisos indicados en


octal.

9. -links + ó – nº: busca ficheros que tengan un determinado número de


enlaces.
Se puede poner más de un criterio, por ejemplo: find . –size +3 -user
pepe
El operador que une a dos o más criterios es el AND, como es por
defecto no hace falta ponerlo, pero si se quiere poner se prepresenta por
-a.
Si queremos poner un OR, ponemos -o, si ponemos una ! significa un
NOT.

Para dar prioridad a un criterio se pone entre paréntesis:

Find . \(-size +3 –o –user pepe\) –type f

La barra \ se pone siempre delante de un símbolo especial, para borrar el


valor especial que posee.

ACCIONES.

Hay una acción por defecto que es -print que visualiza la ruta de los
ficheros o directorios que cumplen los criterios.

- exec comando: ejecuta el comando cada vez que


encuentra el fichero o directorio que cumpla los
criterios.

Por ejemplo: find . –size –10c -exec rm {} \;

Las llaves hacen referencia a los criterios nombrados, y el punto y coma (;) es para
separar los ficheros cuando los visualice.

- ok comando: hace lo mismo que el exec, con la


diferencia de que pide confirmación de ejecución del
comando.

 id: Muestra el identificador del usuario y el grupo al que pertenece. Ej.: $id

SALIDA: uid = 1mbx (503) gid = primero (103)

 logname: Devuelve el nombre del usuario que esta en el terminal. Ej.: $logname

SALIDA: 1mb2

 sort: Muestra por pantalla las lineas de un fichero de forma ordenada.

Ej.: $sort [opciones] Argumento...


Podemos ordenar por un campo determinado indicándole el separador de
campos mediante la opción –t y el separador. Ej.:

$sort –t: +2 empleados

Mediante esta orden, sacaríamos por pantalla las lineas del fichero empleados,
ordenadas por el campo numero 3 del fichero, esto se debe a que SORT
EMPIEZA A CONTAR DESDE EL CAMPO 0.

También podemos ordenar por más de un campo:

$sort –t: +2 +3 empleados

Indicamos los campos con un + delante y el numero del campo por el que
queremos ordenar, en este caso al ser dos, dejamos un espacio obligatorio entre
ambos campos.

Si queremos ordenar por un campo numérico, por ejemplo por los


sueldos de los empleados, lo indicaremos con +n cuando indiquemos el número
del campo por el que queremos ordenar. Ej.:

$sort –t: +3n empleados

Este comando ordenaría los empleados por el sueldo.

Otras opciones del comando sort:

-r : Invierte la ordenación, dando preferencia desde la ‘z’ a la ‘a’.


-o: Guarda la ordenación en un fichero. Ej.:

$sort –t: +3 –o fichero argumento

-m: Solo se utilizará cuando le indiquemos más de un argumento (Mas de


un fichero). Y lo haremos para indicar que todos los archivos que indicamos
están ya ordenados. Ej.:

$sort –t: +2n –m empleados1 empleados2

-u : No pone lineas duplicadas. Si hubiese dos registros iguales coge uno


de ellos al azar. Normalmente se utiliza cuando se indica más de un fichero en la
línea de comandos.

 split [opciones] Argumento [Nuevo_Nombre]....

Divide un fichero en ficheros más pequeños. Esto se debe a que un


fichero en UNIX puede ocupar un espacio sin límite, hasta agotar el espacio
libre del disco duro.
Por defecto divide al archivo original en archivos de 1.000 lineas. Con la
opción –Nº le indicamos el número de lineas en que tiene que agrupar el archivo.
Ej.:
$split –10 empleados

Genera tantos ficheros como lineas pueda dividir. Los archivos que genera,
tienen la siguiente nomenclatura:
Xaa
Xab
Xac
...
Podemos cambiar esta nomenclatura estandar por la que queramos de la
siguiente forma:

$split –10 empleados pepe

pepea
pepeb
pepec
...
-b : Esta opción divide por bloques al argumento, por defecto divide de 2
bloques en 2 bloques. Pero podemos indicarle el número de bloque por los que
queremos dividir al archivo. Ej.:

$split –10b empleados nueva_serie

 chown nuevo.propietario Argumento...

Permite cambiar la propiedad un fichero. Solo podemos cambiar la


propiedad a nuestros archivos. En el instante que damos la propiedad a otro
usuario perderemos la propiedad del mismo.

Si la propiedad se la damos a alguien del grupo heredaremos los


permisos del grupo.

 chgrp nuevo.grupo Argumento...

Para cambiar de grupo a los ficheros. Si cambiamos el grupo, el usuario no


pierde la propiedad.

También podría gustarte