GNU/Linux >> Znalost Linux >  >> Linux

Jak nainstalovat Windows PowerShell Core 6.0 v Linuxu

PowerShell je distribuovaný, škálovatelný, heterogenní konfigurační a automatizační rámec sestávající z interaktivního shellu příkazového řádku a skriptovacího jazyka pro operační systém Windows. Je postaven na .NET a umožňuje uživatelům automatizovat a zjednodušit systémové úlohy. Další podrobnosti o prostředí PowerShell naleznete na následujícím odkazu.

V tomto krátkém tutoriálu se podíváme, jak nainstalovat PowerShell v Ubuntu 14.04/16.04/18.04 LTS a CentOS 7 64bitových serverových edicích.

Nainstalujte Windows PowerShell Core 6.0 v systému Linux

PowerShell lze nainstalovat na mnoho populárních distribucí Linuxu včetně Arch Linux, Debian, Ubuntu, Fedora, CentOS, SUSE. Zde jsem uvedl instalační pokyny pro Debian, Ubuntu a CentOS.

Na Ubuntu 14.04 LTS:

Stáhněte si a zaregistrujte klíč GPG úložiště PowerShell:

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

Aktualizujte seznam zdrojů softwaru:

Aktualizace $ sudo apt-get

Potom nainstalujte PowerShell pomocí příkazu:

$ sudo apt-get install -y powershell

Na Ubuntu 16.04 LTS:

Přidat klíč GPG úložiště PowerShell:

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

Aktualizujte seznam zdrojů softwaru:

Aktualizace $ sudo apt-get

Potom nainstalujte PowerShell pomocí příkazu:

$ sudo apt-get install -y powershell

Na Ubuntu 18.04 LTS:

Zaregistrujte klíč GPG úložiště PowerShell:

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

Aktualizujte seznamy úložišť a nainstalujte PowerShell:

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

V Debianu 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'
Aktualizace $ sudo apt-get
$ sudo apt-get install -y powershell

V Debianu 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'
Aktualizace $ sudo apt-get
$ sudo apt-get install -y powershell

V systému CentOS 7:

Přidat úložiště PowerShell jako root uživatel:

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

Nainstalujte PowerShell:

# yum install -y powershell

Další distribuce naleznete v oficiálních pokynech k instalaci .

Nyní jsme nainstalovali PowerShell. Dále uvidíme, jak jej používat v reálném čase.

Začínáme s PowerShell

Upozorňujeme, že PowerShell pro Linux je stále ve fázi vývoje, takže narazíte na nějaké chyby. Pokud se vyskytnou nějaké chyby, připojte se k blogu komunity PowerShell (Odkaz je uveden na konci tohoto článku) a získejte pomoc.

Jakmile nainstalujete PowerShell, spusťte následující příkaz pro vstup do konzoly/relace PowerShellu.

pwsh

Takto vypadá konzole PowerShell na mém serveru Ubuntu 18.04 LTS.

PowerShell 6.1.2 Autorská práva (c) Microsoft Corporation. Všechna práva vyhrazena.https://aka.ms/pscore6-docsNápovědu získáte zadáním „nápovědy“.PS /home/sk>

PowerShell

V relaci PowerShellu zmiňujeme příkazy powershell jako cmdlety  a zmiňujeme prompt PowerShell jako PS /> .

Práce v PowerShellu je téměř podobná BASH. Spustil jsem nějaké příkazy Linuxu v PowerShellu. Zdá se, že téměř všechny příkazy Linuxu fungují v prostředí PowerShell. PowerShell má také svou vlastní sadu příkazů (cmdletů). Funkce TAB (automatické doplňování) funguje stejně jako v BASH.

Vymazat? Uveďme několik příkladů.

Zobrazit verzi prostředí PowerShell

Chcete-li zobrazit verzi prostředí PowerShell, zadejte:

$PSVersionTable

Ukázkový výstup:

Název Hodnota---- -----PSVersion 6.1.2PSEdition CoreGitCommitId 6.1.2OS Linux 4.15.0-45-generic #48-Ubuntu SMP Út Jan ...Platforma UnixPSCompatibleVersions {1.0, 2.0, 3.00. ...}PSRemotingProtocolVersion 2.3SerializationVersion 1.1.0.1WSManStackVersion 3.0

Jak vidíte ve výše uvedeném výstupu, verze PowerShellu je 6.1.2 .

Vytváření souborů

K vytvoření nového souboru použijte 'New-Item' příkaz, jak je znázorněno níže.

New-Item otechnix.txt

Ukázkový výstup:

 Adresář:/home/skMode LastWriteTime Délka Název---- ------------- ------ ---------- 2/11/19 10:28 0 ostechnix.txt

nebo jednoduše použijte ">", jak je uvedeno níže:

""> otechnix.txt

Tady "" - popisuje, že soubor je prázdný. ostechnix.txt je název souboru.

Chcete-li do souboru přidat nějaký obsah, spusťte následující příkaz:

Set-Content ostechnix.txt – Hodnota „Vítejte na blogu OSTechNix!“

Nebo

"Vítejte na blogu OSTechNix!"> otechnix.txt
Zobrazení obsahu souboru

Vytvořili jsme některé soubory z prostředí PowerShell. Jak vidíme obsah těchto souborů? To je snadné.

Stačí použít Získat obsah příkaz pro zobrazení obsahu libovolného souboru.

Získat obsah  

Příklad:

Get-Content ostechnix.txt

Ukázkový výstup:

Vítejte na blogu OSTechNix!
Mazání souborů

Chcete-li smazat soubor nebo položku, použijte 'Remove-Item' příkaz, jak je znázorněno níže.

Remove-Item ostechnix.txt

Nechte nás ověřit, zda byla položka skutečně smazána pomocí příkazu:

Get-Content ostechnix.txt

Měli byste vidět výstup jako níže.

Get-Content:Nelze najít cestu '/home/sk/ostechnix.txt', protože neexistuje.Na řádku:1 char:1+ Get-Content ostechnix.txt+ ~~~~~~~~~~ ~~~~~~~~~~~~~~~+ CategoryInfo :ObjectNotFound:(/home/sk/ostechnix.txt:String) [Get-Content], ItemNotFoundException+ FullyQualifiedErrorId:PathNotFound,Microsoft.PowerShell.Commands.Get 

Nebo můžete jednoduše použít "ls" příkaz pro zobrazení, zda soubor existuje nebo ne.

Zobrazení běžících procesů

Chcete-li zobrazit seznam běžících procesů, stačí spustit:

Get-Process

Ukázkový výstup:

 NPM(K) PM(M) WS(M) CPU(y) ID 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,00 0,00 0,00 0,00 0,00 0,00 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 360 0 BIOSET 0 0,00 0,00 0,00 0,35 597 597 CROND 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 30 0 FSNOTIFY_MARK 0 0,00 0,00 0,00 43 0 IPv6_ADDRCONF 0 0,00 0.00 0,00 20 0 0,00 0,00 14 0 kdevtmpfs 0 0,00 0,00 0,00 351 0 kdmflush 0 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 29 0 khugePaged 0 0,00 0,00 0,00 26 0 khungTaskd 0 0,00 0,00 18 0 Kintegrity 18 0 Kintegrity 18 0 Kintegrity. 0,00 41 0 kmpath_rdac d 0 0,00 0,00 0,00 42 0 kpsMoused 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,00 0,00 0,00 0,013 2313 0 kworker/0:0 0 0,00 0,00 0,04 2369 0 kworker/0:0H 0 0,00 0,00 0,00 2440 0 kworker/0:1 0 0,00 0,00 0,05 2310 0 kwork 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,01 473 473 LVMed 0 0,00 0,00 0,02 2036 036 Master 0 0,00 0,00 0,000. /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 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 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 267 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 269 0 SCSI_TMF_0 0 0,00 0,00 0,00 273 0 SCSI_TMF_1 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. 0 0,00 0,00 1,68 1 1 systemd 0 0,00 0,00 0,24 453 453 systemd časopisu 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 naladěn 0 0,00 0,00 0,02 12 0 pes / 0 0 0,00 0,00 0,01 798 798 WPA_SUPPLICANT 0 0,00 0,00 0,00 17 0 zápis 0 0,00 0,00 0,00 378 0 XFS_MRU_CACHE 0 0,00 0,00 379 0 XFS-BUF/DM-1 0 0.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 0,00 0,00 0,00 0,00 x 54 1,00 0,00 x 5 -sal/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 0,00 0,00 543 0,00 0,00 0,00 543 0.0.0.0 

Výše uvedený příkaz zobrazí celý seznam běžících procesů ve vašem systému Linux.

Chcete-li zobrazit jakýkoli konkrétní běžící proces, použijte '-Name' pomocí výše uvedeného příkazu.

Chcete-li například zobrazit proces powershell, spusťte:

Get-Process -Name pwsh

Ukázkový výstup:

 NPM(K) PM(M) WS(M) CPU(y) ID SI ProcessName ------ ----- ----- ------ -- -- -- --------- 0 0,00 99,32 3,28 2575 398 pwsh
Zobrazení aliasů příkazů

Jste příliš líní psát celý příkaz? Stačí napsat pár slov a stisknout klávesu Tab, příkaz se automaticky dokončí nebo se zobrazí seznam navrhovaných příkazů, stejně jako v Linux BASH shellu.

Případně existují aliasy pro některé příkazy.

Chcete-li například vymazat obrazovku, zadejte: Clear-Host .

Nebo můžete jednoduše zadat alias výše uvedeného příkazu 'cls' nebo 'clear' a vymazat obrazovku.

Chcete-li zobrazit seznam dostupných aliasů, spusťte:

Získat alias

Zde je úplný seznam dostupných aliasů:

CommandType Name Zdroj verze ----------- ---- ------- ------ Alias ​​? -> Alias ​​Where-Object % -> 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 -> Convert-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 -> Export-Csv Alias ​​erase -> Remove-Item Alias ​​etsn -> Enter-PSSession Alias ​​exsn -> Exit-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- Obsah 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. Správa 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 Alias ​​group -> Group-Object Alias ​​gsn -> Get-PSSession Alias ​​gsv -> Get-Service Alias ​​gu -> Get-Unique Alias ​​gv -> Get-Variable Alias ​​h -> Get-History Alias ​​history -> 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 -> Alias ​​New-PSSession nv -> Alias ​​nové proměnné oh -> Alias ​​externího hostitele popd -> Alias ​​popd umístění -> Alias ​​Push pwd -> Alias ​​Get-Location r -> Alias ​​Invoke-History rbp -> Remove-PSBreakpoint Alias ​​rcjb -> Receive-Job Alias ​​rcsn -> Receive-PSSession Alias ​​rd -> Remove-Item Alias ​​rdr -> Remove-PSDrive Alias ​​ren -> Rename-Item Alias ​​ri -> Remove-Item Alias ​​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 -> Sada aliasů Select-Object -> Set-Variable Alias ​​si -> Set-Item Alias ​​sl -> Set-Location Alias ​​sls -> Select-String Alias ​​sp -> Set-ItemProperty Alias ​​spjb -> Stop-Job Alias ​​spps -> Stop -Zpracovat Alias ​​spsv -> Stop-Service Alias ​​sv -> Set-Variable Alias ​​type -> Get-Content Alias ​​where -> Where-Object Alias ​​wjb -> Wait-Job

Chcete-li zobrazit alias jakéhokoli konkrétního příkazu, zadejte:

Get-Alias ​​cls

Ukázkový výstup:

Zdroj verze názvu CommandType ----------- ---- ------- ------ Alias ​​cls -> Clear-Host
Zobrazení úplného seznamu dostupných příkazů

Chcete-li zobrazit seznam všech dostupných příkazů PowerShellu, spusťte:

Get-Command
Zobrazení nápovědy

Nevíte, co konkrétně udělá? Žádný problém. Chcete-li získat pomoc, stačí zadat „pomoc“. Nemusíte hledat na internetu.

Můžete také použít 'Získat nápovědu' příkaz spolu s libovolnými příkazy powershell. Je to něco podobného jako 'člověk' příkaz v Linuxu.

Chcete-li například zobrazit část nápovědy příkazu s názvem "Clear-Host", spusťte:

Získat nápovědu Clear-Host

Ukázkový výstup:

NAME Clear-Host PŘEHLED SYNTAXE Clear-Host [] POPIS SOUVISEJÍCÍ ODKAZY https://go.microsoft.com/fwlink/?LinkID=225747POZNÁMKY Chcete-li zobrazit příklady, zadejte:"get-help Clear-Host -příklady". Pro více informací zadejte:"get-help Clear-Host -detailed". Technické informace získáte zadáním:"get-help Clear-Host -full". Pro online nápovědu zadejte:"get-help Clear-Host -online

Jak vidíte výše, „Získat nápovědu“ zobrazuje část nápovědy konkrétního příkazu PowerShellu, jako je název příkazu, formát syntaxe, aliasy a poznámky atd.

Chcete-li ukončit konzolu PowerShell, zadejte:

exit

Doufám, že máte základní představu o tom, jak nainstalovat verzi PowerShell Core alpha v Linuxu (Ubuntu a CentOS) a o základním použití.

Další čtení:

  • PowerShell na GitHubu
  • Začínáme s prostředím PowerShell od Channel9 – video tutoriál
  • Stránka komunity PowerShell
  • Kanál YouTube PowerShell

Související čtení:

  • Nainstalujte podsystém Windows pro Linux pomocí jediného příkazu

Linux
  1. Jak nainstalovat Python na Linux

  2. Jak nainstalovat Javu na Linux

  3. Jak nainstalovat NodeJS na Linux

  1. Jak nainstalovat Linux ve 3 krocích

  2. Jak nainstalovat nebo odebrat Windows PowerShell v Ubuntu/Lubuntu Linux

  3. Jak nainstalovat Microsoft Windows Calculator na Linux

  1. Jak nainstalovat Windows 10 do VirtualBoxu v Linuxu

  2. Jak nainstalovat Python 3 na Windows 10

  3. Jak nainstalovat Kali Linux