Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1.- INTRODUCCIÓN.
Se puede deducir la definición de software propietario como todo aquel software que no es libre. Este
término no está totalmente aceptado, usándose otros como privado, privativo o de propiedad.
El software propietario es aquel que tiene limitados los derechos de uso, copia, distribución o
modificación. Su código fuente no está disponible, aun cuando esté abierto al usuario. Los
derechos de autor pertenecen a una persona o a una empresa.
La historia comienza en 1981 con el lanzamiento del sistema operativo MS-DOS de la empresa
Microsoft para el IBM PC. En principio era un sistema que sólo utilizaba comandos textuales.
En 1985, apareció la primera versión de Windows (1.0.) que compitió con el sistema operativo
de Apple y fue una extensión gráfica de MS-DOS.
En 1987, apareció como evolución Windows 2.0., que fue algo más popular que la versión
anterior. En este tiempo, Apple demandó a Microsoft por infringir los derechos de autor de su
sistema operativo.
La versión 3.1., aparecida en Marzo de 1992 fue muy popular entre el público general, aunque
no dejó de ser una interfaz gráfica para el sistema operativo MS-DOS.
En 1995, aparece Windows 95. Con esta versión, Microsoft intentó dejar atrás el concepto de
que Windows fuese la interfaz gráfica de MS-DOS e incorpora profundos cambios en la
interfaz gráfica así como el soporte de la función “Plug&Play”.
En 1998, aparece Windows 98, también muy popular entre los usuarios aunque muy criticado
por su falta de fiabilidad en comparación con Windows 95.
Siguiendo con la línea profesional comenzada con Windows NT y basado en este sistema, en el
año 2000 apareció para entornos profesionales Windows 2000. Tuvo dos versiones: Server y
Professional. Al igual que Windows NT, tuvo mucha difusión como sistema operativo para
servidores Windows.
En la línea doméstica, y para intentar sustituir a Windows 98, en el mismo año 2000 apareció
Windows Me (Millenium Edition). Fue la primera versión que eliminó la opción de “Reiniciar
en modo MS-DOS” y añadió la opción “Restaurar sistema” que ha llegado hasta nuestros días.
Fue un sistema operativo muy criticado y de una vida comercial muy corta por situarse entre
Windows 98 y Windows XP.
Ya en 2001, y utilizando las investigaciones que Microsoft había venido haciendo con sistemas
operativos destinados al público profesional basados en NT, aparece Windows XP, que fue el
primer sistema operativo destinado al público doméstico basado en la tecnología NT y supuso
una ruptura con los anteriores debido a que dejó atrás el antiguo núcleo MS-DOS. Dispuso de
diversos Service Pack que intentaron solucionar los distintos fallos de seguridad que presentó,
aunque pese a todo fue un importante éxito comercial para Microsoft.
En 2007, apareció Windows Vista, que fue muy criticado por su alto consumo de recursos y
por requerir un hardware más potente del que se disponía en la época, por ello este sistema
resultó ser un fracaso comercial para Microsoft.
Ya en 2012, apareció Windows 8, cuyo cambio principal a nivel de interfaz fue eliminar el
“Menú Inicio” presente desde Windows 95. Posteriormente Microsoft reconoció que fue un
error el eliminarlo, restaurándolo en la siguiente versión de Windows. En Octubre de 2013,
apareció Windows 8.1. como actualización de Windows 8.
La interfaz de CMD es sencilla y de tipo texto. Se le denomina indicador del sistema y consta,
inicialmente, de una letra y el símbolo ">". La letra indica la unidad donde se encuentra el
sistema operativo, normalmente C. Las letras de unidad las asigna el sistema operativo de la
siguiente manera:
La letra A se asigna a la primera unidad de disco flexible (diskette), la B para la segunda
unidad de disco flexible, la C para la primera unidad de disco duro. A partir de esta última, se
avanzará en el abecedario según las unidades de disco duro y otros dispositivos de
almacenamiento que se conecten al equipo.
Cuando se efectúa un cambio de unidad, el indicador del sistema adquiere la letra que
identifica a la nueva unidad a la que se accede. De esta forma, el indicador del sistema está
informando en todo momento sobre la unidad en la que se esté situado. Para cambiar de
unidad se deberá teclear la letra que identifica a la unidad seguida de dos puntos.
Solemos hablar del intérprete de comandos como un Shell. En Windows, el Shell de comandos es un
programa de software independiente que proporciona comunicación directa entre el usuario y el
sistema operativo. La interfaz de usuario del Shell de comandos no es gráfica y proporciona el
entorno en que se ejecutan aplicaciones y utilidades basadas en caracteres. El Shell de comandos
ejecuta programas y muestra su resultado en pantalla mediante caracteres individuales similares al
intérprete de comandos de MS-DOS, Command.com. El Shell de comandos de los sistemas operativos
de servidor Windows utiliza el intérprete de comandos Cmd.exe, que carga aplicaciones y dirige el
flujo de información entre ellas, para traducir los datos de entrada del usuario a un formato que el
sistema operativo reconozca.
Para ejecutar el Shell de comandos de Windows, debemos pulsar (Tecla Windows + R) y ejecutar el
programa CMD.EXE.
Otra manera de ejecutar el Shell del comando de Windows es escribir cmd.exe en la herramienta para
buscar que aparece junto al botón de inicio de Windows.
Sintaxis del
comando, que
puede disponer
de varias
opciones.
Función de cada
una de las
opciones que
aparecen en la
sintaxis del
comando.
Si trabajamos sobre Windows, podemos acceder a su ayuda y mediante el botón Buscar indicar
el nombre de comando del que deseamos información.
Es muy importante saber interpretar correctamente las pantallas de ayuda. Existen una serie de
convenciones comunes a todos los sistemas que debemos conocer.
La sintaxis aparece en el orden en que debe escribir un comando y los parámetros que lo
siguen. La tabla siguiente explica cómo interpretar los diferentes formatos de texto.
Leyenda de formato
Las palabras que aparecen sin estar encerradas entre corchetes son palabras obligatorias al
formato, es decir que no podemos escribir la orden sin usarlas. Si nos fijamos, solo la palabra
DIR está libre, así que el formato mínimo de la orden seria DIR.
El modificador /A, al estar entre corchetes, indica que es optativo, pero veamos cómo está
representado dicho modificador:
Vemos que hay varios niveles de integración de corchetes. Así, /A es optativo (está entre
corchetes) y podemos poner /A sin poner nada más. Podemos poner también /A atributos si
queremos, sin poner el símbolo: Si lo deseamos podemos poner el formato completo que
sería /A: atributos.
Lo que se consigue con /A o lo que significan atributos, lo tenemos en la misma ayuda de DIR
un poco más abajo.
Vemos aquí como /A nos sirve para mostrar archivos que posean un determinado atributo. Y
vemos como donde en la línea de formato pone atributos, debemos poner una de las siguientes
letras: D R H A S. Vemos que también podemos poner el símbolo menos -, pero en este caso se
nos indica que es un prefijo, por lo que podríamos poner –A, –S, etc.
Si aprendemos a usar correctamente una pantalla de ayuda, entender lo que está escrito en ella
y lo que se nos quiere decir, habremos dado un paso de gigante para lograr manejar CMD
correctamente.
Con esto, buscaremos todos los archivos de cualquier tipo que comiencen por
"glos", incluidos glosario.txt, glosario.doc y glos.doc.
glos?.doc
Dentro de cada unidad lógica crea una estructura arborescente o jerárquica de la información
almacenada en ese disco. La estructura en árbol parte de la propia unidad (A:, B:, etc..). Este
nivel superior se conoce como raíz (\) del que parten archivos y directorios (2º nivel). Un
directorio es un tipo especial de archivos que a su vez puede contener archivos y
subdirectorios (3er nivel), y así sucesivamente. Un archivo o fichero es el elemento mínimo
de almacenamiento de información.
Los archivos o ficheros tienen un nombre y, opcionalmente separado por un punto (.), una
extensión. En el CMD “clásico” el nombre debe estar comprendido entre 1 y 8 caracteres, y la
extensión de 1 a 3. La extensión permite identificar el tipo de contenido del archivo. Algunos
ejemplos de extensiones son:
C:\>dir prueba
El volumen de la unidad C es WINDOWS
El número de serie del volumen es: E04F-EDB2
Directorio de C:\prueba
- Ruta absoluta:
[unidad:] \ ruta\NombreArchivo
Donde la ruta o path, está formada por todos los directorios y subdirectorios
por los que hay que pasar para llegar hasta él partiendo desde la raíz de la
unidad.
- Ruta relativa:
3.- COMANDOS.
El sistema operativo WINDOWS dispone de un juego de mandatos que son reconocidos e
interpretados por el CMD. Este juego de mandatos se divide en dos tipos: mandatos internos y
mandatos externos.
• Especiales. Identificados por la barra inclinada "/" seguida de una letra que
activa la propiedad.
Todo mandato, para poder ser procesado, necesita que su nombre sea introducido en el
indicador del sistema con o sin parámetros, y finalmente necesita que se pulse la tecla <Intro>.
Mientras no se pulse <Intro>, el sistema no procederá a la interpretación y posterior ejecución
del mandato.
CMD dispone de un gran abanico de mandatos para realizar distintas operaciones orientadas
hacia la gestión de sus recursos, organización en el disco y manejo de los dispositivos a él
conectados.
Como ya hemos comentado, cada mandato posee a su vez varios parámetros que agilizan o
determinan su funcionamiento.
• PATH. Permite indicar los directorios donde CMD debe buscar los comandos
externos y demás ficheros ejecutables. La ruta de búsqueda predeterminada es el
directorio actual.
Sintaxis. PATH [[unidad:]ruta[;…]]
PATH muestra la ruta de búsqueda actual.
PATH ; borra las rutas especificadas.
Cuando se teclea DATE sin ningún parámetro, el sistema presenta la fecha que
posee, permitiéndose la modificación de la misma. Si no se quiere modificar se
pulsará <Intro> y no varía la fecha del sistema.
• TIME. Sirve para modificar o visualizar la hora que maneja CMD a través de su
reloj interno.
Sintaxis: TIME [horas: [minutos [: segundos [.centésimas]]] [A/P]]
horas:minutos:segundos.centésimas. Indica la nueva hora introducir.
• FDISK.- sirve para realizar particiones dentro de un disco duro. Cada una de las
particiones le asignará una unidad lógica. Podemos asignar FAT 16 o FAT 32,
dependiendo del sistema operativo que utilicemos.
Sintaxis: FDISK [u:]
• FORMAT.- Formatea discos. No está diseñado para borrar datos, aunque al dar
formato los borre. Cuando el disco tenga errores considerables será necesario
formatear.
Sintaxis: FORMAT [u:] [/F:Tamaño] [/Q] [/U] [/S] [/V:Etiqueta]
• COPY.- Copia uno o varios ficheros de un lugar a o otro. También puede modificar
el nombre del fichero copiado.
Sintaxis: COPY [u:] [ruta] Fichero_origen [u:] [ruta] [Fichero_destino]
Una vez la pantalla quede llena, os pedirá que pulséis cualquier tecla
para continuar, y así hasta terminar listando todos los archivos y carpetas del disco.
También hay otra forma de presentar los archivos por pantalla, visualizándolos a lo
ancho.
Ejemplo: Listar archivos ordenados de menor a mayor tamaño. Escribe: DIR /O:S
Ejemplo: Copiar un fichero a otro disco sin cambiarle el nombre. Escribe: COPY
C:\FACTURA.TXT E:
3.4.1.- Redireccionamientos.
Redirecciona stdout. Es decir, nos permite indicar una salida para la orden que
> no sea el monitor.
Si escribimos DIR veremos que esta orden no nos pide nada (no usa stdin) y nos
muestra unas líneas (stdout) por pantalla.
Vamos a cambiarle stdout, para ello escribimos DIR > ARCHIVO. Veremos como por
pantalla no nos sale nada, ya que hemos cambiado stdout. Si ahora miramos en el
directorio, comprobaremos que se ha creado en el directorio actual un fichero llamado
ARCHIVO en su interior. Si ejecutamos TYPE ARCHIVO veremos que contiene la
salida de la anterior orden DIR.
Si observamos FICHERO1 veremos que solo contiene la última línea. Esto es así
porque > siempre sobrescribe la salida. Para evitar esto escribimos:
Si escribimos la orden TIME veremos que esta orden si usa stdin, en concreto nos pide
que por teclado introduzcamos la hora en formato HH:MM:SS y pulsemos INTRO para
cambiar la hora.
Podemos comprobar que ya en esta ocasión no nos solicita la nueva hora. ¿Por qué? Muy
simple, estamos enviando la salida de una orden (ECHO) como entrada de otra orden
(TIME). Esto no puede hacerse con las redirecciones. Podemos ver que la hora no ha
cambiado escribiendo de nuevo TIME. Hagamos lo siguiente:
Editaremos un nuevo fichero que se llama HORA.TXT. Dentro de este fichero escribir
en la 1ª línea 15:00:00 y en la 2ª línea simplemente pulsad INTRO (pulsar Ctrl+Z para
terminar). Ahora escribid la siguiente orden:
El sistema creará los tres primeros directorios, pero nos dará un aviso de error, ya que
no se ha podido crear el 4º directorio, que ya existe.
Escribamos ahora:
Veremos como el error sigue apareciendo, ya que hemos redireccionado stdout, pero no
stderror.
Veremos como ahora todo funciona bien. En SALIDA.TXT tendremos la salida normal
de la orden, si la hubiera (stdout) y en ERRORES.TXT tendremos la salida de los
errores de la orden (stderror).
3.4.2.- Filtros.
En todos los sistemas operativos, existen una serie de órdenes especiales conocidas
como filtros. Estas órdenes están especialmente diseñadas para trabajar con tuberías, y
nos permiten trabajar con la salida de una orden. Las principales son:
SORT Nos permite ordenar una salida alfabéticamente. Con HELP SORT
podemos ver todos sus posibles parámetros.
MORE Nos permite obtener una salida por pantalla paginada. Es decir, cada vez
que la pantalla se llene, nos pide que pulsemos una tecla antes de continuar
escribiendo texto.
I.E.S. “Trassierra” (Córdoba) 22
Departamento de Informática
UNIDAD Nº 4.- Sistema Operativo Monousuario (CMD) SISTEMAS INFORMÁTICOS
FIND Nos permite filtrar una salida, haciendo que solo aparezcan las líneas que
contengan una palabra, las que no contengan una palabra, que contemos las líneas
que contienen una palabra, etc. Para ver sus parámetros, ejecutar HELP FIND.
SORT [/R][/+número][<entrada][>salida]
/R Ordena a la inversa.
/+número Indica el orden de la columna (º de carácter) por la que ordenar.
<entrada
>salida Aunque los redireccionamientos no forman parte de su sintaxis, se
suelen usar junto a sort (entrada y salida pueden ser un dispositivo o un
fichero).
Los filtros tienen como entrada una serie de caracteres (normalmente un texto
organizado en líneas) y ofrecen como salida otro texto (el resultado de aplicar el filtro
sobre el texto de entrada).
Un filtro no acepta parámetros que le indiquen donde está el texto de entrada ni donde
debe dejar el texto de salida, sino que siempre tomaría los datos de la entrada por
defecto (teclado) y los mostraría por la salida estándar (pantalla).
Tecleemos lo siguiente:
C:\>SORT
Este texto debe
quedar ordenado
alfabéticamente
(Pulsar CTRL+Z)
3.4.3.- Tuberías.
Las tuberías (|) o pipes sirven para canalizar la salida de un comando hacia un
filtro. Su sintaxis es:
Comando | MORE
Comando | FIND “cadena” [/V][/C][/N][/I]
Comando | SORT [/R][/+n]
Si escribimos HELP veremos que nos devuelve una gran cantidad de líneas,
posiblemente más de las que seremos capaces de ver. En este caso podemos escribir
HELP | MORE para paginar la información.
Nos crearía un fichero con nombre PRENSA.TXT que contendría todas las
líneas de FAVORITOS.TXT donde aparezca la palabra “periódicos”.
Pero las tuberías (|) también se usan cuando queremos usar la salida de una orden
como entrada de la siguiente. Repitamos el ejemplo del ECHO y el TIME, pero esta
vez con una tubería:
Vemos que ahora funciona perfectamente. Siempre que en una línea queramos usar
la salida de una orden como entrada de la siguiente, debemos usar la tubería, no los
redireccionamientos.
Es importante no dejar espacios ni delante ni detrás del símbolo =. Así por ejemplo SET EDAD=18
crea una variable con nombre EDAD y valor 18. Para acceder al contenido de la variable, encerramos
su nombre entre símbolos de %.
Algunas de estas variables son especialmente importantes, ya que se nos permiten automatizar
muchos procesos. Por ejemplo, si tenemos que ir al directorio Windows para retocar algunos
ficheros y en nuestro servidor disponemos de varios sistemas operativos y varios volúmenes de
datos, podemos perder mucho tiempo en buscar donde está situado. Pues un simple CD
%WINDIR% nos llevaría al directorio de Windows sin posibilidad de error.
Como pequeño ejercicio, visualizar en pantalla mediante la orden ECHO una línea como la
siguiente:
Hola, usuario Antonio. Ahora mismo son las 18:47:06,45 del día 15/11/2021 y
su directorio actual es C:\Documents and Settings\Antonio
En algunas ocasiones el usuario escribe repetidamente la misma secuencia de comandos para realizar
algunas tareas comunes. Para evitar eso, podemos colocar esta secuencia de comandos en un archivo
de procesamiento por lotes y ejecutar automáticamente todas esas secuencias de comandos.
Podemos escribir nuestros propios archivos de proceso por lotes directamente con COPY CON
(COPY CON nombre_fichero, escribimos las líneas y acabamos con Control Z) o bien con cualquier
editor de texto. Recordemos que estos archivos deben ser de texto plano sin formato, es decir no
pueden ser ficheros de tipo Word o similares.
Para ejecutar un archivo BAT basta con escribir su nombre (no hace falta indicar la extensión). Si
durante su ejecución pulsamos Ctrl-C, el sistema interrumpe la ejecución y nos pedirá confirmación
para suspender el proceso (igual que ocurre con la mayoría de comandos cuando se ejecutan en modo
interactivo).
Estos archivos por lotes, también conocidos como ficheros BAT o scripts, nos permiten, además de
agrupar una serie de comandos, crear nuestras propias instrucciones personales realizando
“pequeños programas”.
@echo off
rem Programa: BORRA2.BAT
del %1
del %2
@echo off
rem Programa: COPIAB.BAT
echo Se están copiando los ficheros %1, %2 y %3 a la unidad E:
copy %1 e:\
copy %2 e:\
copy %3 e:\
Ejecución:
Comando REM
Cualquier carácter que siga a la orden REM es ignorado, por lo que su única
utilidad es la documentación interna del fichero.
Comando ECHO
Función: Este comando activa y desactiva la exhibición de comandos por
pantalla, o escribe un mensaje por pantalla.
Echo ON: Es el valor por defecto. Nos permite ver en pantalla los comandos
que están siendo ejecutados desde un archivo de proceso por lotes.
Comando PAUSE
Función: Suspende la ejecución de un archivo de procesamiento por lotes.
ECHO
PAUSE > nul
Comando GOTO
Función: Transfiere el control de proceso a una línea con etiqueta, dentro
del archivo de proceso por lotes.
Comando IF
Función: Desvía condicionalmente el proceso de ejecución de un fichero BAT.
Formatos:
IF [NOT] ERRORLEVEL número comando
IF [NOT] cadena1 == cadena2 comando
IF [NOT] EXIST archivo comando
Código Significado
0 Los ficheros fueron copiados sin error.
1 No se encontraron ficheros para copiar.
2 El usuario presionó Ctrl+Pausa para suspender el proceso de Xcopy.
4 Ocurrió un error de inicio. No hay suficiente memoria o espacio en
el disco, se introdujo un nombre de unidad no válida o se utilizó una
sintaxis incorrecta en la línea de órdenes.
5 Ocurrió un error de escritura de disco.
La cláusula ELSE debe aparecer en la misma línea que la del comando que sigue al
IF. Por ejemplo:
IF EXIST
archivo (
del archivo
) ELSE (
echo archivo no existente.
)
@ECHO OFF
IF 23 LSS 12 (
ECHO 23 es menor que 12
) ELSE (
ECHO 23 no es menor que 12
)
@ECHO OFF
IF EXIST C:\BOOT.INI (
ECHO EL FICHERO C:\BOOT.INI EXISTE
) ELSE (
ECHO EL FICHERO C:\BOOT.INI NO EXISTE
)
@ECHO OFF
IF %1 EQU %2 (
ECHO Los dos parámetros pasados son iguales
) ELSE (
IF %1 LSS %2 (
ECHO El primer parámetro es menor
) ELSE (
ECHO El segundo parámetro es menor
)
)
@ECHO OFF
IF %USERNAME% EQU Antonio (
ECHO Bienvenido al sistema.
) ELSE (
ECHO Usuario no autorizado.
)
@ECHO OFF
IF %DATE% EQU 16/08/2021 ECHO ¡Cumpleaños feliz!
Comando FOR
variable Puede ser cualquier carácter, aunque suele usarse una letra.
Después del DO solo podemos poner una orden, aunque podemos usar
paréntesis como hacíamos en el IF.
Comando CHOICE
Función: Permite escoger una opción entre varias y, dependiendo de la opción
elegida, devuelve un código de salida. Sirve para crear sencillos menús de
opciones.
Ejemplo:
@rem Menu
@echo off
echo 1.- Opcion 1
echo 2.- Opcion 2
echo 3.- Opcion 3
choice /C 123 /M "Elija una opcion: "
if errorlevel 3 goto op3
if errorlevel 2 goto op2
if errorlevel 1 goto op1
:op3
echo opcion tres
goto end
:op2
echo opcion dos
goto end
:op1
echo opcion uno
:end
REM FIN DE ARCHIVO
Comando CALL
Función: Llama un archivo de procesamiento por lotes desde otro igual, sin
salir del archivo que hizo la llamada. Es decir, invoca la ejecución de otros
archivos como una subrutina o una función.
Una vez terminada la ejecución del proceso por lotes llamado con CALL, se
reanuda la ejecución del archivo que hizo la llamada.
Comando SHIFT
@echo off
rem Programa: DEMO2.BAT
echo El parámetro 1 es %1
shift
echo El parámetro 2 es %1
shift
echo El parámetro 3 es %1
Ejecución: