Noțiuni introductive cu PowerShell în Linux [Ghid pentru începători]


După ce Microsoft s-a îndrăgostit de Linux (ceea ce a devenit popular cunoscut sub numele de „Microsoft Loves Linux ”), PowerShell care a fost inițial un Windows -numai componentă, a fost open-source și a fost făcută pe mai multe platforme pe 18 august 2016, disponibilă pe Linux și Mac OS.

PowerShell este un sistem de automatizare a sarcinilor și de gestionare a configurației dezvoltat de Microsoft. Este alcătuit dintr-un interpret de limbaj de comandă (shell) și un limbaj de scripting construit pe .NET Framework.

Oferă acces complet la COM (Component Object Model) și WMI (Windows Management Instrumentation), permițând astfel sistemului administratorilor să efectueze sarcini administrative atât pe sistemele Windows locale, cât și la distanță, precum și pe WS-Management și CIM (Common Information Model), permițând administrarea sistemelor Linux la distanță plus dispozitive de rețea.

În acest cadru, sarcinile administrative sunt în mod fundamental efectuate de anumite clase .NET numite cmdlet-uri (pronunțat command-lets).

Similar cu scripturile shell din Linux, utilizatorii pot crea scripturi sau executabile prin stocarea grupurilor de cmdlet-uri în fișiere urmând anumite reguli. Aceste scripturi pot fi folosite ca utilitare sau instrumente independente de linie de comandă.

Instalați PowerShell în sistemele Linux

Pentru a instala PowerShell în Linux, vom folosi depozitul oficial Microsoft care ne va permite să instalăm prin cele mai populare instrumente de gestionare a pachetelor Linux, cum ar fi apt-get sau apt și yum sau dnf.

Instalați PowerShell pe Ubuntu

Mai întâi importați cheile GPG ale depozitului public, apoi înregistrați depozitul Microsoft Ubuntu în lista de surse de pachete APT pentru a instala 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

Instalați PowerShell pe Debian 11

Versiunile de distribuție PowerShell pentru Debian sunt publicate în depozitele de pachete pentru instalare și actualizări ușoare.

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

Instalați PowerShell pe 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

Instalați PowerShell pe sistemele RHEL

PowerShell pentru distribuțiile bazate pe RHEL, cum ar fi CentOS Stream, Rocky și AlmaLinux, sunt publicate în depozitele oficiale Microsoft pentru instalare și actualizări ușoare.

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

Cum se utilizează Powershell în Linux

În această secțiune, vom avea o scurtă introducere în Powershell; unde vom vedea cum să pornim powershell, să rulăm câteva comenzi de bază și să vedem cum să lucrăm cu fișiere, directoare și procese. Apoi, mai târziu, studiați cum să enumerați toate comenzile disponibile și să afișați ajutorul și aliasurile pentru comenzi.

Pentru a porni Powershell, tastați:

pwsh

PowerShell 7.3.3
PS /root> 

Puteți verifica versiunea Powershell cu comanda de mai jos:

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

Rularea unor comenzi de bază Powershell pe Linux.

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

Lucrul cu fișiere și directoare în Powershell

1. Creați un nou fișier gol utilizând cele două metode de mai jos:

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

Apoi adăugați conținut la acesta și vizualizați conținutul fișierului.

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

2. Ștergeți un fișier din powershell.

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

3. Creați un director nou.

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

4. Pentru a efectua o listă lungă, care afișează detaliile unui fișier/director, inclusiv modul (tipul fișierului) și ora ultimei modificări.

dir

5. Vizualizați toate procesele care rulează pe sistemul dvs.:

get-process

6. Pentru a vedea detaliile unui singur/grup de procese care rulează cu un nume dat, furnizați numele procesului ca argument la comanda anterioară, după cum urmează:

get-process apache2

Semnificația unităților din rezultatul de mai sus:

  • NPM(K) – cantitatea de memorie nepaginată pe care o folosește procesul, în kiloocteți.
  • PM(K) – cantitatea de memorie paginabilă pe care o folosește procesul, în kiloocteți.
  • WS(K) – dimensiunea setului de lucru al procesului, în kiloocteți. Setul de lucru este format din paginile de memorie care au fost recent menționate de proces.
  • CPU(e) – cantitatea de timp folosită de procesor pe toate procesoarele, în secunde.
  • ID – ID-ul procesului (PID).
  • ProcessName – numele procesului.

7. Pentru a afla mai multe, obțineți o listă cu toate comenzile Powershell pentru diferite sarcini:

get-command

8. Pentru a afla cum să utilizați o comandă, vizualizați pagina de ajutor a acesteia (similar cu pagina de manual din Unix/Linux); în acest exemplu, puteți obține ajutor pentru comanda Descrie:

get-help Describe

9. vedeți toate aliasurile de comandă disponibile, tastați:

get-alias

10. Nu în ultimul rând, afișați istoricul comenzilor (lista comenzilor pe care le-ați executat anterior) astfel:

history

Asta e tot! deocamdată, în acest articol, v-am arătat cum să instalați Microsoft Powershell în Linux. Pentru mine, Powershell are încă un drum foarte lung de parcurs în comparație cu shell-urile tradiționale Unix/Linux, care oferă, cu mult mai bune, caracteristici mai interesante și mai productive pentru a opera o mașină din linia de comandă și, mai important, în scopuri de programare (scripting) de asemenea.

Vizitați depozitul Powershell Github: https://github.com/PowerShell/PowerShell

Cu toate acestea, puteți încerca și să ne împărtășiți opiniile în comentarii.