Começando com o PowerShell no Linux [Guia para Iniciantes]

Depois que a Microsoft se apaixonou por Linux (o que popularmente ficou conhecido como “Microsoft Loves Linux”), o PowerShell, que originalmente era um componente exclusivo do Windows, foi open-sourcado e tornou-se multiplataforma em 18 de agosto de 2016, disponível no Linux e no Mac OS.

PowerShell é um sistema de automação de tarefas e gerenciamento de configuração desenvolvido pela Microsoft. É composto por um interpretador de linguagem de comando (shell) e uma linguagem de script construída sobre o .NET Framework.

Ele oferece acesso completo a COM (Component Object Model) e WMI (Windows Management Instrumentation), permitindo que administradores de sistema realizem tarefas administrativas em sistemas Windows locais e remotos, bem como WS-Management e CIM (Common Information Model), permitindo o gerenciamento de sistemas Linux remotos e dispositivos de rede.

Sob esse framework, tarefas administrativas são fundamentalmente realizadas por classes .NET específicas chamadas cmdlets (pronunciadas command-lets).

Similar aos scripts de shell no Linux, os usuários podem criar scripts ou executáveis armazenando grupos de cmdlets em arquivos seguindo certas regras. Esses scripts podem ser usados como utilitários de linha de comando independentes ou ferramentas.

Instalar o PowerShell em Sistemas Linux

Para instalar PowerShell no Linux, utilizaremos o repositório oficial da Microsoft que nos permitirá instalar através das ferramentas de gerenciamento de pacotes mais populares do Linux, como apt-get ou apt e yum ou dnf.

Instalar PowerShell no Ubuntu

Primeiro, importe as chaves públicas do repositório GPG, em seguida, registre o repositório Microsoft Ubuntu no APT lista de fontes de pacotes 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 no Debian 11

PowerShell para lançamentos da distribuição Debian é publicado em repositórios de pacotes para instalação e atualizações fáceis.

$ 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 o PowerShell no 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 o PowerShell em sistemas RHEL

O PowerShell para distribuições baseadas em RHEL como CentOS Stream, Rocky, e AlmaLinux são publicados nos repositórios oficiais da Microsoft para facilitar a instalação e atualizações.

---------- 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

Como usar o Powershell no Linux

Nesta seção, teremos uma breve introdução ao Powershell; onde veremos como iniciar o powershell, executar alguns comandos básicos e ver como trabalhar com arquivos, diretórios e processos. Depois, mergulharemos em como listar todos os comandos disponíveis e mostrar ajuda de comando e aliases.

Para iniciar o Powershell, digite:

$ pwsh

PowerShell 7.3.3
PS /root> 

Você pode verificar a versão do Powershell com o comando abaixo:

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

Executando alguns comandos básicos do Powershell no Linux.

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

Trabalhando com Arquivos e Diretórios no Powershell

1. Crie um novo arquivo vazio usando os dois métodos abaixo:

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

Então adicione conteúdo a ele e visualize o conteúdo do arquivo.

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

2. Exclua um arquivo no powershell.

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

3. Crie um novo diretório.

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

4. Para realizar uma listagem longa, que exibe detalhes de um arquivo/diretório, incluindo modo (tipo de arquivo) e data de última modificação.

dir
Directory Long Listing in Powershell

5. Visualize todos os processos em execução no seu sistema:

get-process
View Running Processes in Powershell

6. Para visualizar detalhes de um processo único/grupo de processos em execução com um determinado nome, forneça o nome do processo como argumento para o comando anterior da seguinte forma:

get-process apache2
View Specific Process in Powershell

Significado das unidades na saída acima:

  • NPM(K) – a quantidade de memória não paginada que o processo está usando, em quilobytes.
  • PM(K) – a quantidade de memória paginável que o processo está usando, em quilobytes.
  • WS(K) – o tamanho do conjunto de trabalho do processo, em quilobytes. O conjunto de trabalho consiste nos blocos de memória que foram referenciados recentemente pelo processo.
  • CPU(s) – a quantidade de tempo de processador que o processo usou em todos os processadores, em segundos.
  • ID – ID do processo (PID).
  • ProcessName – o nome do processo.

7. Para saber mais, obtenha uma lista de todos os comandos do Powershell para diferentes tarefas:

get-command
List Powershell Commands

8. Para aprender como usar um comando, visualize sua página de ajuda (semelhante à página man no Unix/Linux); neste exemplo, você pode obter ajuda para o comando Describe:

get-help Describe
Powershell Help Manual

9. Para visualizar todos os alias de comando disponíveis, digite:

get-alias
List Powershell Command Aliases

10. Por último, exiba o histórico de comandos (lista de comandos que você executou anteriormente) dessa forma:

history
List Powershell Commands History

Isso é tudo! Por enquanto, neste artigo, mostramos como instalar o Powershell da Microsoft no Linux. Para mim, o Powershell ainda tem um longo caminho a percorrer em comparação com os tradicionais shells Unix/Linux, que oferecem recursos muito melhores, mais emocionantes e produtivos para operar uma máquina a partir da linha de comando e, o que é mais importante, para fins de programação (scripting) também.

Visite o repositório do Powershell no Github: https://github.com/PowerShell/PowerShell

No entanto, você pode experimentá-lo e compartilhar suas opiniões conosco nos comentários.

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