Búsqueda de sitios web

Introducción a PowerShell en Linux [Guía para principiantes]


Después de que Microsoft se enamorara de Linux (lo que popularmente se conoce como “Microsoft Loves Linux”), PowerShell, que originalmente era un Windows -Componente exclusivo, fue de código abierto y multiplataforma el 18 de agosto de 2016, disponible en Linux y Mac OS.

PowerShell es un sistema de gestión de configuración y automatización de tareas desarrollado por Microsoft. Se compone de un intérprete de lenguaje de comandos (shell) y un lenguaje de secuencias de comandos creado en .NET Framework.

Ofrece acceso completo a COM (Modelo de objetos componentes) y WMI (Instrumental de administración de Windows), permitiendo así que el sistema administradores para llevar a cabo tareas administrativas en sistemas Windows locales y remotos, así como WS-Management y CIM (Modelo de información común) que permiten la administración de sistemas Linux remotos además de dispositivos de red.

Bajo este marco, las tareas administrativas son realizadas fundamentalmente por clases particulares .NET llamadas cmdlets (pronunciado command-lets).

De manera 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 se pueden utilizar 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á realizar la instalación a través de las herramientas de gestión de paquetes de Linux más populares como son apt-get o apt y yum o dnf.

Instalar PowerShell en Ubuntu

Primero importe las claves GPG del repositorio público, luego registre el repositorio de Microsoft Ubuntu en la lista de fuentes del paquete 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 distribución de Debian se publica en repositorios de paquetes para facilitar la instalación y las 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

Instale PowerShell en sistemas RHEL

PowerShell para distribuciones basadas en RHEL como CentOS Stream, Rocky y AlmaLinux se publican en repositorios oficiales de Microsoft para facilitar la instalación y las 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 utilizar 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 cómo trabajar con archivos, directorios y procesos. Luego, profundiza en cómo enumerar todos los comandos disponibles y muestra la ayuda y los alias de los comandos.

Para iniciar Powershell, escriba:

pwsh

PowerShell 7.3.3
PS /root> 

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

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]

Trabajar con archivos y directorios en Powershell

1. Cree un nuevo archivo vacío utilizando los dos métodos siguientes:

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

Luego agregue contenido y vea el contenido del archivo.

set-content tecmint.tex -value "TecMint Linux How Tos Guides"
get-content tecmint.tex

2. Eliminar un archivo en powershell.

remove-item tecmint.tex
get-content tecmint.tex

3. Cree un nuevo directorio.

mkdir  tecmint-files
cd  tecmint-files
“”>domains.list
ls

4. Para realizar un listado largo, que muestra detalles de un archivo/directorio, incluido el modo (tipo de archivo) y la hora de la última modificación.

dir

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

get-process

6. Para ver los detalles de un único/grupo de procesos en ejecución con un nombre determinado, proporcione el nombre del proceso como argumento para el comando anterior de la siguiente manera:

get-process apache2

Significado de las unidades en el resultado anterior:

  • NPM(K): la cantidad de memoria no paginada que utiliza el proceso, en kilobytes.
  • PM(K): la cantidad de memoria paginable que utiliza el proceso, en kilobytes.
  • WS(K): el tamaño del conjunto de trabajo del proceso, en kilobytes. El conjunto de trabajo consta de las páginas de memoria a las que el proceso hizo referencia recientemente.
  • CPU(s): la cantidad de tiempo de procesador que el proceso ha utilizado en todos los procesadores, en segundos.
  • ID – ID del 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

8. Para aprender a utilizar un comando, consulte su página de ayuda (similar a la página de manual en Unix/Linux); En este ejemplo, puede obtener ayuda para el comando Describir:

get-help Describe

9. para ver todos los alias de comandos disponibles, escriba:

get-alias

10. Por último, pero no menos importante, muestra el historial de comandos (lista de comandos que has ejecutado anteriormente) así:

history

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

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

Sin embargo, puedes intentarlo y compartir tus puntos de vista con nosotros en los comentarios.