Cuando se habla de PowerShell, la mayoría de los usuarios lo asocia con Windows. Sin embargo, Microsoft ha expandido su compatibilidad a Linux, lo que permite ejecutar comandos y scripts de manera multiplataforma.
Esto abre un abanico de posibilidades para administradores de sistemas y desarrolladores que trabajan en entornos híbridos.
En este artículo, explicaremos qué es PowerShell, por qué instalarlo en Linux, cómo instalarlo en diferentes distribuciones y cómo configurarlo como tu shell predeterminado.
¿Qué es PowerShell?
PowerShell es un lenguaje de scripting y una interfaz de línea de comandos (CLI) desarrollada por Microsoft. Surgió como una evolución del clásico Command Prompt (CMD) y se caracteriza por su enfoque orientado a objetos, a diferencia de otras shells basadas en texto como Bash.
A pesar de estar diseñado originalmente para Windows, Microsoft ha ampliado su compatibilidad, permitiendo su uso en Linux y macOS.
Características principales de PowerShell
- Multiplataforma: Disponible en Windows, Linux y macOS.
- Orientado a objetos: Los comandos no solo devuelven texto, sino estructuras de datos.
- Compatibilidad con comandos de Linux: Soporta comandos como ls, cat y grep.
- Automatización avanzada: Ideal para tareas de administración de sistemas.
- Integración con Azure y herramientas de Microsoft.
¿Por qué instalar PowerShell en Linux?
Si Linux ya cuenta con potentes herramientas de scripting como Bash, Zsh y Python, ¿por qué considerar PowerShell? Aquí te damos algunas razones clave:
- Interoperabilidad: Facilita la administración de sistemas Windows y Linux desde un mismo entorno.
- Compatibilidad con Windows: Permite ejecutar comandos y scripts diseñados para Windows Server.
- Mayor productividad: Sus cmdlets optimizados permiten automatizar tareas de forma más sencilla.
- Soporte de Microsoft: Garantiza actualizaciones constantes y mejoras en seguridad.
Si eres un usuario que trabaja con ambos sistemas operativos o un administrador de servidores Windows/Linux, tener PowerShell en Linux puede ser una gran ventaja.
Instalación de PowerShell en Linux
La instalación de PowerShell en Linux varía según la distribución. Microsoft ofrece repositorios oficiales para facilitar el proceso.
Instalación en Debian y Ubuntu
Para instalar PowerShell en Debian o Ubuntu, abre una terminal y ejecuta:
sudo apt update && sudo apt install -y wget apt-transport-https software-properties-common
wget -q https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
sudo apt update
sudo apt install -y powershell
Instalación en Fedora, Rocky Linux, Alma Linux y CentOS
Para usuarios de Fedora o CentOS, utiliza:
sudo dnf install -y wget
wget -q https://packages.microsoft.com/config/rhel/8/packages-microsoft-prod.rpm
sudo dnf install -y ./packages-microsoft-prod.rpm
sudo dnf install -y powershell
Instalación en Arch Linux
Si usas Arch Linux o Manjaro, instala PowerShell desde AUR con:
yay -S powershell-bin
Cómo usar PowerShell en Linux
Una vez instalado, puedes iniciar PowerShell escribiendo en la terminal:
pwsh
Esto abrirá una sesión interactiva de PowerShell donde podrás ejecutar comandos y scripts como lo harías en Windows.
Ejemplo de comandos básicos:
powershell
ls # Lista archivos (equivalente a Get-ChildItem)
dir # También lista archivos
echo "Hola, PowerShell en Linux" # Muestra un mensaje
Para salir de PowerShell, usa:
powershell
exit
Configurar PowerShell como shell predeterminada
Si deseas que PowerShell sea tu shell por defecto en Linux, sigue estos pasos:
Verifica que PowerShell esté registrado en la lista de shells disponibles:Debería aparecer una línea con /usr/bin/pwsh.
cat /etc/shells
Cambia la shell predeterminada con:
chsh -s /usr/bin/pwsh
Cierra sesión y vuelve a ingresar para que los cambios surtan efecto.
Cómo crear y ejecutar scripts en PowerShell
PowerShell permite crear scripts para automatizar tareas. Para ello:
Crea un archivo de script:nano mi_script.ps1
Agrega el siguiente contenido:Write-Host "¡Hola, este es un script de PowerShell en Linux!"
Guarda y cierra el archivo.
Ejecuta el script con:pwsh mi_script.ps1
Comparación de PowerShell con Bash
Característica | PowerShell | Bash |
---|---|---|
Disponibilidad | Windows, Linux, macOS | Linux, macOS |
Enfoque | Orientado a objetos | Basado en texto |
Automatización | Cmdlets avanzados | Herramientas Unix estándar |
Integración | Azure, Active Directory | GNU/Linux, herramientas UNIX |
Curva de aprendizaje | Moderada | Baja |
Si vienes del mundo de Windows, PowerShell puede ser una gran alternativa para administrar sistemas Linux sin cambiar completamente tu flujo de trabajo.
PowerShell en Linux ofrece una alternativa potente y multiplataforma para ejecutar comandos y scripts. Su integración con Azure y herramientas de Microsoft, junto con su enfoque orientado a objetos, lo convierten en una opción ideal para administradores de sistemas que trabajan en entornos híbridos.
Si buscas una forma de automatizar tareas, mejorar la interoperabilidad y utilizar un lenguaje de scripting avanzado, PowerShell es una excelente opción para agregar a tu flujo de trabajo en Linux.
Fuente: somoslibres