1 Terminal de sistemas Windows
Comandos más habituales para PowerShell.
1.1 Sistema de archivos de los sistemas Windows
El sistema de archivos del sistema operativo Windows organiza el contenido de los discos duros en unidades. El disco duro principal es la unidad C:. En cada unidad, los archivos se organizan en directorios (carpetas) siguiendo una estructura de árbol cuya raíz es siempre el directorio principal que se representa como la barra invertida \. El directorio principal contiene todos los archivos del disco duro.
Por otro lado, cada usuario del sistema tiene asignado un directorio principal de usuario que está dentro del directorio /Usuarios y se representa con el carácter ~. Cualquier usuario puede hacer los cambios que quiera en su directorio de usuario pero no podrá acceder a los directorios de otros usuarios ni del resto del sistema de archivos salvo que tenga permiso de administrador del sistema.

1.2 Rutas absolutas y relativas
La ubicación de un archivo o un directorio en la estructura de árbol de la unidad se puede determinar mediante una ruta absoluta o una ruta relativa.
La ruta absoluta de un archivo o directorio es la secuencia de directorios que hay que atravesar para llegar al archivo o directorio en cuestión desde el directorio raíz. La ruta se expresa separando los directorios con la barra \.
La ruta relativa de un archivo o directorio es la secuencia de directorios que hay que atravesar para llegar al archivo o directorio en cuestión desde el directorio activo. Para referirse al directorio madre se utiliza el alias .., mientras que para referirse al propio directorio activo se utiliza el alias ..
Mientras que la ruta absoluta de un archivo o directorio es única, la ruta relativa depende del directorio activo.
Ejemplo. Supongamos el siguiente árbol de directorios.
La ruta absoluta al directorio Programación sería C:\Usuarios\Alumno\Grado\Primero\Programación, mientras que la ruta relativa, asumiendo que el directorio activo es Primero, es .\Programación. Del mismo modo, la ruta relativa hasta el directorio Segundo sería ..\Segundo.
1.3 La terminal de los sistemas Windows
La terminal de los sistemas Windows proporciona una interfaz de línea de comando (CLI) para acceder a los archivos y dar instrucciones al sistema.
La aplicación Cmd viene instalada por defecto en los sistemas Windows y puede ejecutarse como cualquier otra aplicación desde el menú de inicio. Cuando se ejecuta abre una ventana de texto que muestra un mensaje de bienvenida y el prompt, que es una cadena de texto con la ruta del directorio actual (inicialmente el directorio principal del usuario ~) terminada con el carácter >. A partir de aquí el usuario puede dar órdenes al sistema tecleando comandos.
El programa encargado de interpretar los comandos que el usuario introduce en la terminal se denomina shell. La shell de Cmd es muy básica y conviene instalar la shell PowerShell, que es mucho más potente. La aplicación PowerShell no viene instalada en los sistemas Windows por defecto pero puede instalarse siguiendo las instrucciones de instalación de PowerShell.
Al igual que para la aplicación Cmd, cuando se ejecuta PowerShell se abre la ventana de la terminal con un mensaje de bienvenida y el prompt.
1.4 Comandos básicos de PowerShell
Un comando es una instrucción a ejecutar por el sistema operativo. Los comandos suelen llevar asociados parámetros y argumentos. Los parámetros modifican la manera de realizar la instrucción y van precedidos de un guión -, mientras que los argumentos indican sobre qué objeto se realiza la acción que indica la instrucción (un archivo, un directorio, etc.)
| Comando | Acción |
|---|---|
ls |
Muestra un listado con el contenido del directorio actual. |
ls -l |
Muestra un listado detallado con el contenido del directorio actual. |
ls -la |
Muestra un listado detallado con el contenido del directorio actual, incluyendo los archivos ocultos. |
ls <dir> |
Muestra un listado del directorio <dir>. |
cd <dir> |
Cambia al directorio <dir> convirtiéndolo en el directorio activo. |
mkdir <dir> |
Crea el directorio <dir>. |
mv <origen> <destino> |
Mueve el archivo o directorio <origen> al directorio <destino>. |
rm <f> |
Elimina el archivo <f>. |
rmdir <dir> |
Elimina el directorio <dir> y todo su contenido. |
type <f> |
Muestra el contenido del fichero de texto <f>. |
New-Item <f> |
Crea el fichero <f>. |
notepad <f> |
Abre el fichero <f> en el editor de texto Notepad. |
icacls <f> |
Muestra o modifica los permisos de acceso del fichero o directorio <f>. |
1.5 Ejemplos de uso
A continuación se muestran algunos ejemplos de uso de los comandos anteriores en PowerShell.
1.5.1 Cambiar de directorio
# Muestra el directorio activo
PS C:\Usuarios\Alumno> pwd
# Cambia al subdirectorio Documentos, dentro del directorio activo
PS C:\Usuarios\Alumno> cd Documentos
# Sube al directorio superior (madre)
PS C:\Usuarios\Alumno\Documentos> cd ..
# Vuelve directamente al directorio principal del usuario
PS C:\Usuarios\Alumno> cd ~
# Cambia a un directorio mediante su ruta absoluta
PS C:\Usuarios\Alumno> cd C:\Usuarios\Alumno\Grado\Primero\Programación1.5.2 Listar el contenido de un directorio
# Lista el contenido del directorio activo
PS C:\Usuarios\Alumno> ls
# Lista el contenido con información detallada (tamaño, fecha, etc.)
PS C:\Usuarios\Alumno> ls -l
# Lista el contenido detallado incluyendo los archivos ocultos
PS C:\Usuarios\Alumno> ls -la
# Lista el contenido de un directorio distinto al activo
PS C:\Usuarios\Alumno> ls Documentos1.5.3 Crear y eliminar directorios
# Crea el directorio Proyectos dentro del directorio activo
PS C:\Usuarios\Alumno> mkdir Proyectos
# Crea un subdirectorio dentro de Proyectos
PS C:\Usuarios\Alumno> mkdir Proyectos\Python
# Elimina el directorio vacío Proyectos\Python
PS C:\Usuarios\Alumno> rmdir Proyectos\Python
# Elimina el directorio Proyectos y todo su contenido
PS C:\Usuarios\Alumno> rmdir Proyectos -Recurse1.5.4 Crear ficheros de texto
# Crea un fichero de texto vacío llamado notas.txt
PS C:\Usuarios\Alumno> New-Item notas.txt
# Crea (o sobrescribe) el fichero con una línea de contenido
PS C:\Usuarios\Alumno> "Primera línea de notas" > notas.txt
# Añade una nueva línea al final del fichero sin borrar el contenido anterior
PS C:\Usuarios\Alumno> "Segunda línea de notas" >> notas.txt
# Muestra el contenido del fichero
PS C:\Usuarios\Alumno> type notas.txt1.5.5 Editar ficheros de texto
# Abre el fichero notas.txt en el editor de texto Notepad
PS C:\Usuarios\Alumno> notepad notas.txt
# Abre el fichero notas.txt en Visual Studio Code (si está instalado)
PS C:\Usuarios\Alumno> code notas.txt1.5.6 Eliminar ficheros de texto
# Elimina el fichero notas.txt
PS C:\Usuarios\Alumno> rm notas.txt1.5.7 Cambiar los permisos de ficheros y directorios
Los sistemas Windows no utilizan el modelo de permisos rwx (lectura, escritura, ejecución) de los sistemas Unix, sino un sistema de listas de control de acceso (ACL) que asignan permisos a usuarios o grupos concretos. Los permisos se consultan y modifican con el comando icacls.
# Consulta los permisos actuales del fichero notas.txt
PS C:\Usuarios\Alumno> icacls notas.txt
# Concede al usuario Alumno control total (F) sobre el fichero
PS C:\Usuarios\Alumno> icacls notas.txt /grant Alumno:F
# Concede al usuario Alumno solo permiso de lectura (R)
PS C:\Usuarios\Alumno> icacls notas.txt /grant Alumno:R
# Deniega el acceso al fichero al usuario Invitado
PS C:\Usuarios\Alumno> icacls notas.txt /deny Invitado:F
# Aplica los permisos de forma recursiva a un directorio y a todo su contenido
PS C:\Usuarios\Alumno> icacls Proyectos /grant Alumno:F /tLos permisos más habituales que admite icacls son F (control total), M (modificar), RX (leer y ejecutar), R (leer) y W (escribir).
1.6 Trucos de la terminal
Para manejar con soltura la terminal conviene utilizar algunos trucos que facilitan su uso.
Tabulador. La tecla tabulador (⇥) permite completar la entrada del usuario automáticamente, es decir, el usuario comienza a teclear un comando o ruta de archivo y, sin necesidad de escribirla por completo, cuando se pulsa la tecla tabulador el sistema intenta completarla siempre y cuando no haya más de un comando o ruta que comiencen por esos caracteres.
Teclas de desplazamiento. Las teclas con las flechas de desplazamiento arriba (↑) y abajo (↓) permiten reutilizar comandos que se han usado previamente en la misma sesión de la terminal.
Limpiar la terminal. El comando
clslimpia la terminal.