Los 10 comandos de PowerShell que debes aprender primero (Get-Process, Set-Location, etc.)
¡Felicidades por instalar PowerShell! Tu máquina ahora está equipada con un entorno de shell moderno y potente para acelerar tu desarrollo web. Sin embargo, es una experiencia común para todos sentarse frente a la pantalla negra (o azul) y quedarse paralizado, pensando: "Bueno, ¿y ahora qué escribo?".
No te preocupes. Gracias a la consistente convención de nomenclatura Verbo-Sustantivo de los comandos de PowerShell (cmdlets), son muy fáciles de aprender y aplicar una vez que le coges el truco. En este artículo, hemos seleccionado cuidadosamente los 10 cmdlets básicos más útiles y que deberías aprender primero, de entre los muchos disponibles, que serán de gran ayuda para las tareas diarias de un creador web.
Al igual que un guitarrista aprende unos cuantos acordes básicos para empezar a tocar varias canciones, al dominar estos 10 comandos hoy, estarás dando el primer paso para gestionar Windows y manejar las operaciones de archivos con total libertad. ¡Vamos, teclea los comandos y experimenta su poder por ti mismo!
Lo más básico: Cmdlets de navegación y visualización
Primero, vamos a cubrir los tres cmdlets esenciales para las operaciones básicas de la terminal: "comprobar tu ubicación actual", "moverte" y "ver qué hay dentro". Estos se convertirán en tus "ojos" y "pies" en el mundo de la CUI.
1. Get-Location (alias: pwd, gl)
Comprueba la ruta completa del directorio en el que te encuentras actualmente. Cumple la misma función que pwd en Bash y es tu salvavidas cuando te pierdes.
Get-Location
2. Set-Location (alias: cd, sl, chdir)
Se mueve a un directorio diferente. Puedes usarlo con la misma sensación que el cd de Bash. Es genial que el alias cd esté disponible, ¿verdad?
# Moverse a la carpeta 'work' en la unidad C:
Set-Location C:\work
3. Get-ChildItem (alias: ls, dir, gci)
Muestra una lista de archivos y carpetas en el directorio actual. Cumple la misma función que ls en Bash y dir en el Símbolo del sistema.
Get-ChildItem
Aquí es donde empieza el verdadero valor de PowerShell. Usando la opción -Recurse, puedes mostrar de forma recursiva todos los elementos, incluso los que están dentro de subcarpetas.
# Mostrar todo, incluido el contenido de las subcarpetas
Get-ChildItem -Recurse
Operaciones de archivo: Cmdlets para crear, ver y eliminar
A continuación, veamos los cmdlets para manipular directamente archivos y carpetas. Estos se convertirán en tus "manos".
4. New-Item (alias: ni)
Crea nuevos archivos o carpetas. Se especifica cuál crear con -ItemType.
Crear un archivo vacío:
New-Item -Path ".\style.css" -ItemType File
Crear una nueva carpeta:
New-Item -Path ".\assets" -ItemType Directory
5. Get-Content (alias: cat, gc, type)
Muestra el contenido de un archivo de texto. Es útil cuando quieres comprobar rápidamente el contenido de un archivo de configuración.
Get-Content -Path ".\style.css"
6. Remove-Item (alias: rm, del, erase, rmdir)
Elimina archivos y carpetas. 【IMPORTANTE】Este comando elimina los archivos de forma permanente e inmediata sin enviarlos a la Papelera de reciclaje. No se puede deshacer, así que úsalo con extrema precaución.
Remove-Item -Path ".\style.css"
La esencia de PowerShell: Cmdlets para manejar objetos
Aquí es donde PowerShell realmente brilla. Presentaremos cmdlets que recuperan el estado y la información del sistema como "objetos" y te permiten procesarlos libremente.
7. Get-Process (alias: ps)
Recupera una lista de los procesos (programas) en ejecución actualmente como objetos. Incluye información detallada como el uso de la CPU y la memoria.
Get-Process
8. Where-Object (alias: where, ?)
Filtra los objetos pasados desde la canalización | según los criterios especificados. Funciona como la cláusula WHERE en SQL.
Por ejemplo, extraigamos solo los procesos de Google Chrome de todos los procesos en ejecución.
Get-Process | Where-Object { $_.ProcessName -eq "chrome" }
9. Sort-Object (alias: sort)
Ordena los objetos por el valor de una propiedad (atributo) especificada.
Ordenemos los procesos de Chrome del ejemplo anterior por uso de memoria en orden descendente.
Get-Process | Where-Object { $_.ProcessName -eq "chrome" } | Sort-Object -Property WS -Descending
10. Get-Help (alias: help, man)
Este es el último que presentaremos, pero en realidad podría ser el comando más importante. Get-Help es tu tutor personal que te enseña a usar otros cmdlets. Si no sabes cómo usar un comando, prueba este primero.
Get-Help Get-Process
Añadiendo la opción -Examples, puedes ver ejemplos de uso específicos.
Get-Help Get-Process -Examples
Resumen
¡Buen trabajo! Esta vez, presentamos 10 cmdlets básicos que serán tus primeras armas para explorar el mundo de PowerShell. Aunque cada uno es simple, esperamos que hayas sentido cómo pueden realizar tareas sorprendentemente complejas cuando se encadenan con la canalización.
El truco para aprender es memorizar los nombres completos Verbo-Sustantivo, no solo los alias. Si haces eso, podrás adivinar comandos desconocidos -"Quiero obtener X, así que probablemente sea `Get-X`"- y tu aprendizaje se acelerará rápidamente.
Ahora que has dominado los comandos básicos, el siguiente paso es combinar este conocimiento para crear tus propias herramientas de automatización, es decir, "scripts de PowerShell". En el próximo artículo, explicaremos cómo escribir un script de automatización de operaciones de archivos simple desde cero. ¡No te lo pierdas!
¡Automatiza las operaciones de archivos con PowerShell! Guía de scripting para principiantes