GNU/Linux >> Linux Esercitazione >  >> Linux

Come installare Windows PowerShell Core 6.0 in Linux

PowerShell è una configurazione distribuita, scalabile, eterogenea e framework di automazione, costituito da una shell della riga di comando interattiva e un linguaggio di scripting, per il sistema operativo Windows. È basato su .NET framework e consente agli utenti di automatizzare e semplificare le attività di sistema. Per ulteriori dettagli su PowerShell, fare riferimento al seguente collegamento.

In questo breve tutorial, vediamo come installare PowerShell in Ubuntu 14.04/16.04/18.04 LTS e CentOS 7 edizioni server a 64 bit.

Installa Windows PowerShell Core 6.0 in Linux

PowerShell può essere installato su molte distribuzioni Linux popolari tra cui Arch Linux, Debian, Ubuntu, Fedora, CentOS, SUSE. Qui ho incluso le istruzioni di installazione per Debian, Ubuntu e CentOS.

Su Ubuntu 14.04 LTS:

Scarica e registra la chiave GPG del repository di PowerShell:

$ wget -q https://packages.microsoft.com/config/ubuntu/14.04/packages-microsoft-prod.deb
$ sudo dpkg -i packages-microsoft-prod.deb

Aggiorna l'elenco delle fonti del software:

$ sudo apt-get update

Quindi, installa PowerShell usando il comando:

$ sudo apt-get install -y powershell

Su Ubuntu 16.04 LTS:

Aggiungi chiave GPG del repository di PowerShell:

$ wget -q https://packages.microsoft.com/config/ubuntu/16.04/packages-microsoft-prod.deb
$ sudo dpkg -i packages-microsoft-prod.deb

Aggiorna l'elenco delle fonti del software:

$ sudo apt-get update

Quindi, installa PowerShell usando il comando:

$ sudo apt-get install -y powershell

Su Ubuntu 18.04 LTS:

Registra la chiave GPG del repository di PowerShell:

$ wget -q https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb
$ sudo dpkg -i packages-microsoft-prod.deb

Aggiorna gli elenchi dei repository e installa PowerShell:

$ sudo apt-get update
$ sudo apt-get install -y powershell

Su Debian 8:

$ sudo apt-get install curl 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-jessie-prod jessie main"> /etc/apt/sources.list.d /microsoft.list'
$ sudo apt-get update
$ sudo apt-get install -y powershell

Su Debian 9:

$ sudo apt-get install 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-stretch-prod stretch main"> /etc/apt/sources.list.d /microsoft.list'
$ sudo apt-get update
$ sudo apt-get install -y powershell

Su CentOS 7:

Aggiungi repository PowerShell come root utente:

# curl https://packages.microsoft.com/config/rhel/7/prod.repo | sudo tee /etc/yum.repos.d/microsoft.repo

Installa PowerShell:

# yum install -y powershell

Per altre distribuzioni, fare riferimento alle istruzioni di installazione ufficiali .

Ora abbiamo installato PowerShell. Successivamente, vedremo come utilizzarlo in tempo reale.

Introduzione a PowerShell

Tieni presente che PowerShell per Linux è ancora in fase di sviluppo, quindi potresti riscontrare alcuni bug. In caso di bug, iscriviti al blog della community di PowerShell (Il link è fornito alla fine di questo articolo) e chiedi aiuto.

Dopo aver installato PowerShell, esegui il comando seguente per accedere alla console/sessione di PowerShell.

pwsh

Ecco come appare la console PowerShell nel mio server Ubuntu 18.04 LTS.

PowerShell 6.1.2Copyright (c) Microsoft Corporation. Tutti i diritti riservati.https://aka.ms/pscore6-docsDigita 'help' per ottenere aiuto.PS /home/sk>

PowerShell

Nella sessione di PowerShell, menzioniamo i comandi di PowerShell come cmdlet , e menzioniamo il segno del prompt di PowerShell come PS /> .

Lavorare in PowerShell è quasi simile a BASH. Ho eseguito alcuni comandi Linux in PowerShell. Sembra che quasi tutti i comandi Linux funzionino in PowerShell. Inoltre, PowerShell ha il proprio set di comandi (cmdlet). La funzione TAB (completamento automatico) funziona come in BASH.

Cancella? Bene, facciamo qualche esempio.

Visualizza la versione di PowerShell

Per visualizzare la versione di PowerShell, inserisci:

$PSVersionTable

Output di esempio:

Nome Valore---- -----PSVersion 6.1.2PSEdition CoreGitCommitId 6.1.2OS Linux 4.15.0-45-generic #48-Ubuntu SMP mar gen ...Piattaforma UnixPSCompatibleVersions {1.0, 2.0, 3.0, 4.0 ...}PSRemotingProtocolVersion 2.3SerializationVersion 1.1.0.1WSManStackVersion 3.0

Come puoi vedere nell'output sopra, la versione di PowerShell è 6.1.2 .

Creazione di file

Per creare un nuovo file, usa 'New-Item' comando come mostrato di seguito.

Nuovo elemento ostechnix.txt

Output di esempio:

 Directory:/home/skMode LastWriteTime Lunghezza Nome---- ------------- ------ ---------- 2/11/19 10:28 0 ostechnix.txt

o semplicemente usa ">" come mostrato di seguito:

""> ostechnix.txt

Qui, "" - descrive che il file è vuoto. otechnix.txt è il nome del file.

Per aggiungere alcuni contenuti al file, esegui il seguente comando:

Set-Content ostechnix.txt -Valore "Benvenuto nel blog OSTechNix!"

Oppure

"Benvenuto nel blog OSTechNix!"> ostechnix.txt
Visualizzare il contenuto di un file

Abbiamo creato alcuni file da PowerShell. Come vediamo il contenuto di quei file? È facile.

Usa semplicemente 'Get-Content' comando per visualizzare il contenuto di qualsiasi file.

Ottieni contenuto  

Esempio:

Ottieni contenuto ostechnix.txt

Output di esempio:

Benvenuto nel blog OSTechNix!
Eliminazione di file

Per eliminare un file o un elemento, usa 'Remove-Item' comando come mostrato di seguito.

Rimuovi oggetto ostechnix.txt

Verifichiamo se l'elemento è stato davvero eliminato usando il comando:

Ottieni contenuto ostechnix.txt

Dovresti vedere un output come di seguito.

Get-Content:Impossibile trovare il percorso '/home/sk/ostechnix.txt' perché non esiste. Alla riga:1 char:1+ Get-Content ostechnix.txt+ ~~~~~~~~~~ ~~~~~~~~~~~~~~+ CategoryInfo:ObjectNotFound:(/home/sk/otechnix.txt:String) [Get-Content], ItemNotFoundException+ FullyQualifiedErrorId:PathNotFound,Microsoft.PowerShell.Commands.GetContentCommand 

Oppure puoi semplicemente usare "ls" comando per visualizzare se il file esiste o meno.

Visualizzazione dei processi in esecuzione

Per visualizzare l'elenco dei processi in esecuzione, esegui:

Processo di acquisizione

Output di esempio:

 NPM(K) PM(M) WS(M) Id CPU SI ProcessName ------ ----- ----- ------ -- -- -- --------- 0 0,00 0,00 0,02 599 599 Agetty 0 0,00 0,00 0,00 2385 385 Anacron 0 0,00 0,00 0,00 257 0 Ata_SFF 0 0,00 0,00 0,07 556 556 AUDITD 0 0,00 0,00 0,00 0,03 578 578 Avahi-Daemon 0 0.00 0.00 0.00 590 578 Avahi-Daemon 0 0,00 0,00 0,05 2327 327 Bash 0 0,00 0,00 0,00 19 0 Bioset 0 0,00 0,00 0,00 352 0 Bioset 0 0,00 0,00 0,00 360 0 Bioset 0 0,00 0,00 0,35 597 597 CROND 0 0.00 0.00 0.00 0 31 Crypto 0 0.00 0.00 0.11 586 586 dBus-daemon 0 0,00 0,00 0,03 63 0 Deferwq 0 0,00 0,01 0,93 585 585 firewalld 0 0,00 0,00 0,00 30 0 fsnotify_mark 0 0,00 0,00 0,00 43 0 ipv6_addrconf 0 0,00 0,00 0,02 94 0 kauditd 0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0,00 0,00 14 0 kdevtmpfs 0 0,00 0,00 0,00 351 0 kdmflush 0 0,00 0,00 0,00 0,00 359 0 kdmflush 0 0,00 0,00 0,00 13 0 khelper 0 0,00 0,00 0,03 0,00 0 0,00 0 0,00 khugepaaged 0 0,00 0,00 0,00 26 0 khungtaskd 0 0.00 0.00 0 0 kintgrityd 0 0.00 0.00 41 0 kmpercorso_rdac d 0 0,00 0,00 0,00 42 0 kpsmousato 0 0,00 0,00 0,00 28 0 ksmd 0 0,00 0,00 0,17 3 0 ksoftirqd/0 0 0,00 0,00 0,02 27 0 kswapd0 0 0,00 0,00 0,00 0,00 0 0,00 0,00 0,00 0,00 39 0 kthrotld 0 0.00 0.00 231313 0 koperaio/0:0 0 0.00 0.00 0.04 2369 0 koperaio/0:0H 0 0.00 0.00 0.00 2440 0 koperaio/0:1 0 0.00 0.00 0.05 2312 0 koperaio/0:2H 0 0.00 0.00 0.28 2376 0 0,00 0,00 0,25 6 0 kworker/u2:0 0 0,00 0,00 0,00 272 0 kworker/u2:2 0 0,00 0,00 0,00 0,01 473 473 lvmetad 0 0,00 0,00 0,02 2036 036 master 0 0,00 0,00 0,00 21 0 md 0 0,00 0,00 0,00 7 0 migrazione /0 0 0.00 0,00 0,00 15 0 Netns 0 0,00 0,00 0,22 653 653 NetworkManager 0 0,00 0,00 0,00 16 0 Perf 0 0,00 0,00 0,01 2071 036 Pickup 0 0,00 0,00 0,05 799 799 Polkitd 0 0,00 0,02 5,02 2401 327 PowerShell 0 0.00 0.00 2072 QMGR 0 0,00 0,00 0,00 8 0 RCU_BH 0 0,00 0,00 0,73 10 0 RCU_SCHED 0 0,00 0,00 0,00 0,00 9 0 RCUOB/0 0 0,00 0,00 0,51 11 0 RCUOS/0 0 0,00 0,00 0,06 582 582 RSYSLOGD 0 0.00 0.00 0.00 0 SCSI _eh_0 0 0.00 0.00 0.00 271 0 scsi_eh_1 0 0.00 0.00 0.00 275 0 scsi_eh_2 0 0.00 0.00 0.00 269 0 scsi_tmf_0 0 0.00 0.00 0.00 273 0 scsi_tmf_1 0 0.00 0.00 0.00 277 0 scsi_tmf_2 0 0.00 0.00 0.03 1174 174 sshd 0 0,00 0,00 0,79 2322 322 sshd 0 0,00 0,00 1,68 1 1 Systemd 0 0,00 0,00 0,24 453 453 Systemd-Journal 0 0,00 0,00 0,04 579 579 Systemd-logind 0 0,00 0,00 0,19 481 481 Systemd-UDEVD 0 0,00 0,00 0,54 1175 175 sintonizzato 0 0,00 0.00 0.00 0 0,02 0 Watchdog/0 0 0.00 0.00 0.01 798 798 wpa_supplicant 0 0.00 0.00 0.00 17 0 riscrittura 0 0.00 0.00 0.00 378 0 xfs_mru_cache 0 0.00 0.00 0.00 379 0 xfs-BUF / dm-1 0 0.00 0.00 0.00 539 0 xfs-BUF / sda1 0 0.00 0.00 0.00 382 0 xfs-cil/dm-1 0 0.00 0.00 0.00 542 0 xfs-cil/sda1 0 0.00 0.00 0.00 381 0 xfs-conv/dm-1 0 0.00 0.00 0.00 541 0 xfs-conv/sda1 0 0.00 0.00 0.0 xfs -data/dm-1 0 0.00 0.00 0.00 540 0 xfs-data/sda1 0 0.00 0.00 0.51 383 0 xfsaild/dm-1 0 0.00 0.00 0.00 543 0 xfsaild/sda1 0 0.00 0.00 0.00 377 0 xfalloc 

Il comando precedente visualizzerà l'intero elenco dei processi in esecuzione nel tuo sistema Linux.

Per visualizzare un particolare processo in esecuzione, usa '-Name' opzione con il comando precedente.

Ad esempio, per visualizzare il processo di PowerShell, esegui:

Get-Process -Nome pwsh

Output di esempio:

 NPM(K) PM(M) WS(M) Id CPU SI ProcessName ------ ----- ----- ------ -- -- -- --------- 0 0.00 99.32 3.28 2575 398 pwsh
Visualizzazione degli alias dei comandi

Sei troppo pigro per digitare un intero comando? Basta digitare poche parole e premere il tasto Tab, il comando si completerà automaticamente o verrà visualizzato l'elenco dei comandi suggeriti, proprio come nella shell BASH di Linux.

In alternativa, ci sono alias per alcuni comandi.

Ad esempio, per cancellare lo schermo, devi digitare: Cancella-Host .

Oppure puoi semplicemente digitare l'alias del comando sopra 'cls' o 'clear' per cancellare lo schermo.

Per visualizzare l'elenco degli alias disponibili, esegui:

Ottieni alias

Ecco l'elenco completo degli alias disponibili:

CommandType Nome Versione Sorgente ----------- ---- ------- ------ Alias ​​? -> Where-Object Alias ​​% -> ForEach-Object Alias ​​cd -> Set-Location Alias ​​chdir -> Set-Location Alias ​​clc -> Clear-Content Alias ​​clear -> Clear-Host Alias ​​clhy -> Clear-History Alias ​​cli -> Clear-Item Alias ​​clp -> Clear-ItemProperty Alias ​​cls -> Clear-Host Alias ​​clv -> Clear-Variable Alias ​​cnsn -> Connect-PSSession Alias ​​copy -> Copy-Item Alias ​​cpi -> Copy-Item Alias ​​cvpa -> Converti-Path Alias ​​dbp -> Disable-PSBreakpoint Alias ​​del -> Remove-Item Alias ​​dir -> Get-ChildItem Alias ​​dnsn -> Disconnect-PSSession Alias ​​ebp -> Enable-PSBreakpoint Alias ​​echo -> Write-Output Alias ​​epal -> Export -Alias ​​Alias ​​epcsv -> Esporta-Csv Cancella alias -> Rimuovi-elemento Alias ​​etsn -> Enter-PSSession Alias ​​exsn -> Esci-PSSession Alias ​​fc -> Format-Custom Alias ​​fhx -> Format-Hex 3.1.0.0 Microsoft.PowerShell .Utility Alias ​​fl -> Format-List Alias ​​foreach -> ForEach-Object Alias ​​ft -> Format-Table Alias ​​fw -> Format-Wide Alias ​​gal -> Get-Alias ​​Alias ​​gbp -> Get-PSBreakpoint Alias ​​gc -> Get- Contenuto Alias ​​gci -> Get-Chil dItem Alias ​​gcm -> Get-Command Alias ​​gcs -> Get-PSCallStack Alias ​​gdr -> Get-PSDrive Alias ​​ghy -> Get-History Alias ​​gi -> Get-Item Alias ​​gin -> Get-ComputerInfo 3.1.0.0 Microsoft.PowerShell. Management Alias ​​gjb -> Get-Job Alias ​​gl -> Get-Location Alias ​​gm -> Get-Member Alias ​​gmo -> Get-Module Alias ​​gp -> Get-ItemProperty Alias ​​gps -> Get-Process Alias ​​gpv -> Get-ItemPropertyValue Gruppo alias -> Group-Object Alias ​​gsn -> Get-PSSession Alias ​​gsv -> Get-Service Alias ​​gu -> Get-Unique Alias ​​gv -> Get-Variable Alias ​​h -> Get-History Cronologia alias -> Get-History Alias icm -> Invoke-Command Alias ​​iex -> Invoke-Expression Alias ​​ihy -> Invoke-History Alias ​​ii -> Invoke-Item Alias ​​ipal -> Import-Alias ​​Alias ​​ipcsv -> Import-Csv Alias ​​ipmo -> Import-Module Alias ​​kill -> Stop-Process Alias ​​md -> mkdir Alias ​​measure -> Measure-Object Alias ​​mi -> Move-Item Alias ​​move -> Move-Item Alias ​​mp -> Move-ItemProperty Alias ​​nal -> New-Alias ​​Alias ​​ndr -> New -PSDrive Alias ​​ni -> New-Item Alias ​​nmo -> New-Module Alias ​​nsn -> New-PSSession Alias ​​nv -> New-Variable Alias ​​oh -> Out-Host Alias ​​popd -> Pop-Location Alias ​​pushd -> Push-Location Alias ​​pwd -> Get-Location Alias ​​r -> Invoke-History Alias rbp -> Rimuovi alias PSBreakpoint rcjb -> Ricevi alias lavoro rcsn -> Ricevi alias PSSession rd -> Rimuovi alias elemento rdr -> Rimuovi alias PSDrive ren -> Rinomina alias elemento ri -> Rimuovi alias elemento rjb -> Remove-Job Alias ​​rmo -> Remove-Module Alias ​​rni -> Rename-Item Alias ​​rnp -> Rename-ItemProperty Alias ​​rp -> Remove-ItemProperty Alias ​​rsn -> Remove-PSSession Alias ​​rv -> Remove-Variable Alias ​​rvpa -> Resolve-Path Alias ​​sajb -> Start-Job Alias ​​sal -> Set-Alias ​​Alias ​​saps -> Start-Process Alias ​​sasv -> Start-Service Alias ​​sbp -> Set-PSBreakpoint Alias ​​sc -> Set-Content Alias ​​select -> Seleziona-Oggetto Alias ​​set -> Set-Alias ​​variabili si -> Set-Alias ​​elemento sl -> Set-Alias ​​posizione sls -> Seleziona-String Alias ​​sp -> Set-ItemProperty Alias ​​spjb -> Stop-Job Alias ​​spps -> Stop -Process Alias ​​spsv -> Stop-Service Alias ​​sv -> Tipo di alias Set-Variable -> Get-Content Alias ​​dove -> Where-Object Alias ​​wjb -> Wait-Job

Per visualizzare l'alias per un comando particolare, digita:

Get-alias cls

Output di esempio:

CommandType Nome Versione Sorgente ----------- ---- ------- ------ Alias ​​cls -> Clear-Host
Visualizzare l'elenco completo dei comandi disponibili

Per visualizzare l'elenco di tutti i comandi PowerShell disponibili, esegui:

Ottieni comando
Visualizzazione della guida

Non sai cosa farà il particolare? Nessun problema. Basta digitare "aiuto" per ottenere aiuto. Non devi cercare su Internet.

Puoi anche usare 'Get-Help' comando insieme a qualsiasi comando di PowerShell. È qualcosa di simile a 'man' comando in Linux.

Ad esempio, per visualizzare la sezione della guida di un comando chiamato "Clear-Host", esegui:

Richiedi aiuto Clear-Host

Output di esempio:

NOME Clear-Host SINOSSI SINTASSI Clear-Host [] DESCRIZIONE LINK CORRELATI https://go.microsoft.com/fwlink/?LinkID=225747 OSSERVAZIONI Per vedere gli esempi, digitare:"get-help Clear-Host -esempi". Per ulteriori informazioni, digitare:"get-help Clear-Host -detailed". Per informazioni tecniche, digitare:"get-help Clear-Host -full". Per la guida in linea, digita:"get-help Clear-Host -online

Come vedi sopra, 'Get-Help' visualizza la sezione della guida di uno specifico comando di PowerShell, come il nome del comando, il formato della sintassi, gli alias e le osservazioni, ecc.

Per uscire dalla console di PowerShell, digita:

uscita

Spero che tu abbia un'idea di base su come installare la versione alpha di PowerShell Core in Linux (Ubuntu e CentOS) e sull'utilizzo di base.

Ulteriori letture:

  • PowerShell su GitHub
  • Introduzione a PowerShell da Channel9 - Tutorial video
  • Pagina della community di PowerShell
  • Canale YouTube di PowerShell

Lettura correlata:

  • Installa il sottosistema Windows per Linux con un singolo comando

Linux
  1. Come installare Python su Linux

  2. Come installare Java su Linux

  3. Come installare NodeJS su Linux

  4. Come installare o rimuovere Windows PowerShell in Ubuntu/Lubuntu Linux

  5. Come installare la calcolatrice Microsoft Windows su Linux

Come installare WSL2 (sottosistema Windows per Linux 2) su Windows 10

Come installare Linux Bash Shell su Windows 10

Come installare il sottosistema Windows per Linux

Come installare Linux Fedora su Hyper-v Windows 10?

Come installare Linux Mint su Hyper-v Windows 10?

Come installare (.NET Core) Dotnet Core nelle distribuzioni Linux