Infinidad de usuarios a lo largo de todo el planeta utilizan el Sistema Operativo Windows, aprenden a utilizar el sistema y el ordenador por intuición o ayuda de compañeros, amigos, familiares... Todos sabemos abrir un programa, todos sabemos crear una carpeta; estoy hablando de manera genérica evidentemente (puede que haya alguien que no sepa hacerlo, no lo discutiré). Pero la gran pregunta viene cuando nos damos cuenta de que hay dos tipos de "entornos" en el Sistema, el Entorno Gráfico y el Entorno de Comandos.
Entorno Gráfico es todo aquello que nos permite manipular el ordenador de forma gráfica, de manera visual, mediante botones a los que accedemos pinchando con el puntero del ratón, con colorines, opciones que salen en pantalla... Ese tipo de elementos se consideran Entorno Gráfico, pero aquel al que yo he denominado "Entorno de Comandos", es muy diferente, y mucho más potente que el entorno gráfico, pues nos permite acceder a todas las características del Sistema Operativo (en este caso, Windows (ya sea XP, Vista, 7, 8.1 u otra versión)), además de permitirnos manipular el ordenador por dentro, ¿pero de qué forma nos lo permite? ¿Con botones y opciones como el entorno gráfico? Nope, mediante "Comandos".
Todo lo que hacemos en el ordenador, internamente está traducido por así decirlo en palabras, en órdenes que el Sistema Operativo sigue para realizar las cosas que deseamos, esas órdenes a nivel de miroprocesador se traducen en ceros y unos, que ejecutan operaciones aritméticas, mueven bits, acceden a celdas de memoria, etc... Y lo más interesante de todo es que a estas órdenes se puede acceder directamente y ejecutarlas de forma manual o automática (con automático me refiero a por ejemplo, programar ciertas instrucciones u órdenes de antemano y que se ejecuten ellas solas cada cierto tiempo, sin necesidad de que las tengamos que supervisar nosotros), pero antes de entrar en más detalles, pasaré a explicar lo que es el MSDOS..
"
PC DOS 1.0 - Liberado en 1981 como complemento al IBM-PC. Primera versión de DOS. Soporta 16 KiB de memoria RAM, disquetes de 5,25 pulgadas de una sola cara de 160 KiB. 22 órdenes. Permite archivos con extensión .com y .exe. Incorpora el intérprete de comandos COMMAND.COM.
PC DOS 1.1 - Corregidos muchos errores, soporta disquetes de doble densidad 1.25 - Primera versión liberada con el nombre MS-DOS.
MS-DOS 8.01 - Incluido en Windows Me. Es la última versión de MS-DOS."
--Texto sacado de Wikipedia--
Por Interfaz Gráfica de usuario (GUI), se refiere al Entorno Gráfico que he mencionado arriba. El MSDOS es puramente un entorno de comandos, y éste equivale a una pantalla que espera que le escriban alguna cosa, por lo general, una orden a realizar. En Windows se ha mantenido esta particularidad, y se puede acceder al entorno de comandos (a partir de ahora, "Símbolo del Sistema" ó "CMD"), y mediante el cual podemos automatizar tareas, ver características de nuestro ordenador, elaborar virus, e incluso analizar el comportamiento del Sistema Operativo.
Para acceder al CMD en Windows 7, basta con ir a Inicio y en "Buscar", escribir las letras "CMD", abrimos ese programita que parece un cuadro rectangular negro y se nos mostrará una pantalla, ese es el entorno de comandos, donde esperará una orden a ejecutar.
Tal y como se puede ver en la imagen, al iniciar el símbolo del sistema te mostrará las características del Sistema Operativo, y además la ruta en la que ahora mismo te encuentras en el entorno de comandos. ¿Qué es una ruta? Pues muy sencillo, el Sistema Operativo trabaja en base a rutas, cuando descargas algo de Internet, hay una ruta escondida donde indica al Sistema en qué carpeta o directorio (son lo mismo) se descargará esa cosa.
Imaginad la ruta como una especie de árbol, la raíz de árbol, donde comienza todo, es "C:\", así identifica nuestro Windows el disco duro, para el sistema la letra c:\ es el disco duro donde se guardan las cosas importantes, incluido él mismo. La siguiente zona del árbol es la carpeta llamada "Windows", esto podemos consultarlo de manera gráfica yendo a Inicio, Equipo, Disco Local; ahí veremos la carpeta Windows entre otras. Y finalmente la siguiente zona del árbol es la carpeta "System32" que estará dentro de la carpeta "Windows" ya mencionada, obviamente me estoy basando en la imagen que he subido encima.
Para observar cómo trabaja el sistema, es muy importante conocer los comandos que nos permitirán trabajar en su lugar, o al menos ver qué hace Windows cuando nosotros creamos una carpeta, o abrimos un programa. La lista de comandos que he considerado más importante es la siguiente:
assoc: La estructura es la siguiente -> assoc [extension del archivo]. Nos muestra qué tipo de archivo se generará a partir de una determinada extensión (cada archivo o iconito que tenemos en el Escritorio por ejemplo, tiene un nombre y una extensión, siempre sigue esta estructura... nombreDelArchivo.extensión. La extensión indica con qué programa se abrirá ese archivo, una extensión .docx indica al Sistema Operativo que se abrirá con Microsoft Office Word, una extensión .txt indicará que es un fichero de texto simple, una extensión .exe indicará que se puede ejecutar directamente (este es el caso de Internet Explorer u otros Navegadores como Mozilla Forefox o Google Chrome)).
attrib: La estructura es la siguiente -> attrib [opcion] [fichero a modificar]. Nos permite modificar las características de un archivo, como hacer que solo sea de lectura, impidiendo que podamos abrirlo o escribir en él, también podemos hacerlo invisible... ese tipo de cosas.
break: Se ejecuta mediante un atajo de teclado, en este caso: Ctrl+C. Y permite cerrar un programa que se está ejecutando.
bcdedit: Permite manipular las características del arranque de Windows, normalmente solo se puede usar con permisos de administrador y no es recomendable que novatos lo toque, porque si os cargáis el boot de arranque (programita que permite iniciar Windows), el Sistema nunca se cargará en el ordenador.
call: Llama a un programa o archivo desde otro, por ejemplo: call fichero.txt (donde "fichero.txt" contendrá otras cosas que se ejecutarán).
cd: Estructura -> cd [directorio a donde nos vayamos a mover dentro del árbol]. Tal cual en la imagen, el comando "cd" nos permite movernos dentro del árbol del Sistema, yo por ejemplo he dicho cd C:\ y me he trasladado en la siguiente línea a la carpeta del disco duro.
chkdsk: Muestra el estado del disco duro, solo puede ejecutarse con permiso de administrador.
choice: Da al usuario la opción de elegir entre "Sí" o "No", yo hasta hoy no le he visto mucha utilidad, pero sí he pensado que puede sustituir algunas cosas en programación.
cls: Limpia la pantalla del entorno de comandos.
cmd: Muestra las características del sistema, las mismas que aparecían al iniciar el entorno de comandos.
color: Nos permite acceder a la configuración del entorno de comandos y cambiar el color de pantalla, letra, etc.
comp: Nos permite comparar dos archivos distintos, la estructura es: comp [archivo1] [archivo2], luego hace un "choice", comentado arriba.
copy: Copia uno o más archivos en otro directorio o carpeta del árbol, es como cuando hacemos click derecho en copiar a un archivo y luego en otra carpeta, le damos a pegar.
date: Nos muestra la fecha y además nos da la opción de cambiarla, si no queremos modificarla podemos usar un "break" comentado arriba, es decir, un Ctrl+C para terminar la ejecución del "date".
del: Abreviación de "Delete" en inglés, nos permite borrar de manera DEFINITIVA un archivo, digo de manera definitiva porque no va siquiera a la papelera de reciclaje, sino que desaparece para siempre.
deltree: Proviene de las palabras "Delete" y "Tree", eliminar y árbol en español. Actúa como el comando anterior pero aplicado a una carpeta, y todos los archivos de esa carpeta será destruidos, así como las carpetas que tenga dentro y también todo el contenido de estas. Borra todo el árbol a partir del directorio indicado, si hacemos un deltree c:\ ¡destruiremos toda la información del disco duro, incluyendo a Windows! Siempre haced pruebas con archivos cutres commo un Ejemplo.txt que no tenga nada o carpetas vacías en el Escritorio.
dir: Muestra en pantalla todos los archivos del directorio o carpeta del árbol en la que nos encontramos, si estamos en c:\ y usamos un dir, veremos todas las carpetas y archivos que hay en esa carpeta, esto se ve de forma gráfica yendo a Inicio, Equipo, Disco Local. Las carpetas . y .. son especiales, porque .\[el resto de la ruta] indica desde el directorio actual en adelante, y ..\[resto de la ruta] indica desde el directorio "padre". Por ejemplo, si hacemos lo siguiente:
cd c:\
cd ./Users
dir
cd ..
Iremos desde el directorio en el que estemos al directorio del disco duro, luego nos moveremos desde el actual en el que estamos (.\) a la carpeta Users localizada ahí, usamos un dir para ver qué carpetas o archivos hay, y luego volvemos con cd al directorio padre, que es el anterior en el árbol, en este caso, el disco duro (cd ..). Se dice que un directorio es hijo de otro usando la lógica inversa, un directorio hijo de disco local sería Windows, o Users... a los que se puede acceder directamente desde el directorio que será luego padre al movernos.
echo: Nos permite mostrarle mensajes al usuario, por ejemplo: echo Hola Mundo.
edit: edit [archivo a editar], nos permite editar en el propio entorno de comandos los archivos sin necesidad de ir y hacer doble click sobre ellos.
erase: Mismo uso que "Delete" visto arriba.
exit: Cierra el cmd.exe que estamos ejecutando. Un exit/b cierra el programa que ejecutemos desde el cmd, pero no el cmd en sí.
for: Hace referencia a un bucle, por ahora no haré mención a este comando debido a su "complejidad", es el más potente dentro del entorno de comandos. Para los que tengan conocimientos de programación, se trata del bucle "for" de toda la vida.
goto: "Ir a" en inglés, nos permite ir a ciertas zonas de un fichero, esto está orientado a la programación así que lo dejaré de momento como el for.
help: help [comando], nos muestra una especie de mini-manual en español acerca del comando, indicándonos sus características y sus posibilidades. Donde salen estas cosas: [/T] [/W] (o la letra que sea), nos quiere decir que a la hora de ejecutar el comando deberíamos escribirla para ampliar sus posibilidades, como un exit/b (en la ayuda saldrá exit [/B] y más abajo un /B junto a una explicación de lo que hace).
if: "Sí" condicional, también de programación, no detallaré este comando aquí.
mkdir: Crea una carpeta en el directorio de árbol en el que estamos, es como hacer click derecho en pantalla y darle a "Nueva Carpeta".
move: Traslada un fichero a otro directorio, es un "Cortar" en modo gráfico.
pause: Pausa la ejecución de un programa y le pide al usuario que presione una tecla para continuar.
rmdir: Si el mkdir creaba carpetas, este las elimina como un Delete o un Erase.
shutdown: Nos permite apagar el equipo.
tasklist: Nos muestra la cantidad de programas o tareas que está ejecutando el sistema operativo internamente.
tree: Nos muestra en pantalla el árbol que existe desde nuestro directorio actual, si estamos en c:\ nos saldrán todos los archivos y carpetas habidos y por haber en nuestro ordenador, si estamos en c:\users\usuario\escritorio, nos saldrán los archivos y carpetas del escritorio, así como los que estos contienen.
type: type [archivo], nos muestra en el cmd el contenido de un archivo.
taskmgr: Nos saca en pantalla las tareas que está llevando a cabo el sistema, la memoria RAM que estamos consumiendo, y la carga que está soportando el microprocesador, así como los usuarios conectados al ordenador mediante la red.
osk: Nos saca en pantalla un teclado virtual, si se nos rompe el nuestro o una tecla, siempre podemos abrir este e intentar simular el real, aunque es más difícil manejarlo.
ipconfig: Nos saca información de la IP de nuestro ordenador, la máscara de subred y la IP del router al que estamos conectados (puerta de enlace).
route print: Muestra en el cmd la tabla de rutas del router al que estamos conectados.
Y hasta aquí todo por ahora, espero que haya sido de interés =)