Primeros pasos con PowerShell en Linux [Guía para principiantes]

Después de que Microsoft se enamoró de Linux (lo que popularmente se conoce como “Microsoft Loves Linux”), PowerShell, que originalmente era un componente exclusivo de Windows, fue descontinuado y se convirtió en multiplataforma el 18 de agosto de 2016, disponible en Linux y Mac OS.

PowerShell es un sistema de automatización de tareas y gestión de configuración desarrollado por Microsoft. Está compuesto por un intérprete de lenguaje de comandos (shell) y un lenguaje de scripting basado en el .NET Framework.

Ofrece acceso completo a COM (Component Object Model) y WMI (Windows Management Instrumentation), lo que permite a los administradores de sistemas realizar tareas administrativas tanto en sistemas Windows locales como remotos, así como a WS-Management y CIM (Common Information Model), lo que permite la administración de sistemas Linux remotos y dispositivos de red.

Bajo este marco, las tareas administrativas se llevan a cabo fundamentalmente mediante clases específicas .NET llamadas cmdlets (pronunciadas command-lets).

Similar a los scripts de shell en Linux, los usuarios pueden crear scripts o ejecutables almacenando grupos de cmdlets en archivos siguiendo ciertas reglas. Estos scripts pueden ser utilizados como utilidades o herramientas de línea de comandos independientes .

Instalar PowerShell en Sistemas Linux

Para instalar PowerShell en Linux, utilizaremos el repositorio oficial de Microsoft que nos permitirá instalar a través de las herramientas de gestión de paquetes más populares en Linux, como apt-get o apt y yum o dnf.

Instalar PowerShell en Ubuntu

Primero importe las claves públicas de repositorio GPG, luego registre el repositorio Microsoft Ubuntu en la lista de fuentes de paquetes APT para instalar Powershell:

$ sudo apt-get update
$ sudo apt-get 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-get update
$ sudo apt-get install -y powershell

Instalar PowerShell en Debian 11

PowerShell para las versiones de la distribución Debian se publica en repositorios de paquetes para una fácil instalación y actualizaciones.

$ sudo apt update
$ sudo apt install -y curl gnupg apt-transport-https
$ curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
$ sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-debian-bullseye-prod bullseye main" > /etc/apt/sources.list.d/microsoft.list'
$ sudo apt update
$ sudo apt install -y powershell

Instalar PowerShell en Debian 10

$ wget https://packages.microsoft.com/config/debian/10/packages-microsoft-prod.deb
$ sudo dpkg -i packages-microsoft-prod.deb
$ sudo apt-get update
$ sudo apt-get install -y powershell

Instalar PowerShell en Sistemas RHEL

PowerShell para distribuciones basadas en RHEL como CentOS Stream, Rocky, y AlmaLinux se publican en repositorios oficiales de Microsoft para una fácil instalación y actualizaciones.

---------- On RHEL, CentOS, Rocky & AlmaLinux 9 ---------- 
$ curl https://packages.microsoft.com/config/rhel/9.0/prod.repo | sudo tee /etc/yum.repos.d/microsoft.repo
$ sudo dnf install --assumeyes powershell

---------- On RHEL, CentOS, Rocky & AlmaLinux 8 ----------
$ curl https://packages.microsoft.com/config/rhel/8/prod.repo | sudo tee /etc/yum.repos.d/microsoft.repo
$ sudo dnf install --assumeyes powershell

---------- On RHEL/CentOS 7 ----------
$ curl https://packages.microsoft.com/config/rhel/7/prod.repo | sudo tee /etc/yum.repos.d/microsoft.repo
$ sudo dnf install --assumeyes powershell

Cómo usar Powershell en Linux

En esta sección, tendremos una breve introducción a Powershell; donde veremos cómo iniciar powershell, ejecutar algunos comandos básicos y ver cómo trabajar con archivos, directorios y procesos. Luego profundizaremos en cómo listar todos los comandos disponibles y mostrar ayuda de comandos y alias.

Para iniciar Powershell, escriba:

$ pwsh

PowerShell 7.3.3
PS /root> 

Puede verificar la versión de Powershell con el comando a continuación:

PS /root> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      7.3.3
PSEdition                      Core
GitCommitId                    7.3.3
OS                             Linux 5.10.0-9-amd64 #1 SMP Debian 5.10.70-1 (2021-09-30)
Platform                       Unix
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
WSManStackVersion              3.0

Ejecutar algunos comandos básicos de Powershell en Linux.

get-date          [# Display current date]
get-uptime        [# Display server uptime]
get-location      [# Display present working directory]
Running PowerShell Commands

Trabajar con Archivos y Directorios en Powershell

1. Cree un nuevo archivo vacío utilizando los dos métodos a continuación:

new-item  tecmint.tex
OR
“”>tecmint.tex

Entonces agregue contenido a él y vea el contenido del archivo.

set-content tecmint.tex -value "TecMint Linux How Tos Guides"
get-content tecmint.tex
Create New File in Powershell

2. Elimine un archivo en powershell.

remove-item tecmint.tex
get-content tecmint.tex
Delete File in Powershell

3. Cree un nuevo directorio.

mkdir  tecmint-files
cd  tecmint-files
“”>domains.list
ls
Create a Directory in Powershell

4. Para realizar una lista larga, que muestra detalles de un archivo/directorio, incluidos el modo (tipo de archivo) y la última hora de modificación.

dir
Directory Long Listing in Powershell

5. Ver todos los procesos en ejecución en su sistema:

get-process
View Running Processes in Powershell

6. Para ver detalles de un solo/grupo de procesos en ejecución con un nombre dado, proporcione el nombre del proceso como argumento a la siguiente comanda como sigue:

get-process apache2
View Specific Process in Powershell

Significado de las unidades en la salida anterior:

  • NPM(K) – la cantidad de memoria no paginada que el proceso está utilizando, en kilobytes.
  • PM(K) – la cantidad de memoria pagable que el proceso está utilizando, en kilobytes.
  • WS(K) – el tamaño del conjunto de trabajo del proceso, en kilobytes. El conjunto de trabajo consiste en las páginas de memoria que fueron referenciadas recientemente por el proceso.
  • CPU(s) – la cantidad de tiempo de procesador que el proceso ha utilizado en todos los procesadores, en segundos.
  • ID – ID de proceso (PID).
  • ProcessName – el nombre del proceso.

7. Para saber más, obtenga una lista de todos los comandos de Powershell para diferentes tareas:

get-command
List Powershell Commands

8. Para aprender cómo usar un comando, vea su página de ayuda (similar a la página de man en Unix/Linux); en este ejemplo, puede obtener ayuda para el comando Describe:

get-help Describe
Powershell Help Manual

9. ver todos los alias de comando disponibles, escribe:

get-alias
List Powershell Command Aliases

10. Por último, mostrar el historial de comandos (lista de comandos que has ejecutado anteriormente) de la siguiente manera:

history
List Powershell Commands History

¡Eso es todo! Por ahora, en este artículo, te mostramos cómo instalar Powershell de Microsoft en Linux. Para mí, Powershell aún tiene un largo camino por recorrer en comparación con los shells tradicionales de Unix/Linux que ofrecen, de lejos, características más emocionantes y productivas para operar una máquina desde la línea de comandos e, importante, para propósitos de programación (scripting) también.

Visita el repositorio de Powershell en Github: https://github.com/PowerShell/PowerShell

Sin embargo, puedes probarlo y compartir tus opiniones con nosotros en los comentarios.

Source:
https://www.tecmint.com/install-powershell-in-linux/