Depois que a Microsoft se apaixonou por Linux (o que popularmente passou a ser 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. Ele é composto por um interpretador de linguagem de comando (shell) e uma linguagem de script construída no .NET Framework.
Ele oferece acesso completo a COM (Component Object Model) e WMI (Windows Management Instrumentation), permitindo que administradores de sistemas realizem tarefas administrativas em sistemas Windows locais e remotos, bem como em 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 específicas do .NET chamadas cmdlets (pronunciadas command-lets).
Similar a scripts em 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 ou ferramentas independentes de linha de comando.
Sumário
Instalar o PowerShell em Sistemas Linux
Para instalar PowerShell no Linux, usaremos 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, depois registre o repositório Microsoft Ubuntu no APT para adicionar a 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 as versões 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. Então, mais tarde, vamos mergulhar 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]

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

2. Excluir um arquivo no powershell.
remove-item tecmint.tex get-content tecmint.tex

3. Crie um novo diretório.
mkdir tecmint-files cd tecmint-files “”>domains.list ls

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

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

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 maneira:
get-process apache2

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

8. Para aprender a 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

9. para visualizar todos os aliases de comando disponíveis, digite:
get-alias

10. Por último, exiba o histórico de comandos (lista de comandos que você executou anteriormente) assim:
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 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/