GNU/Linux >> Tutoriels Linux >  >> Linux

Comment installer Windows PowerShell Core 6.0 sous Linux

PowerShell est un cadre de configuration et d'automatisation distribué, évolutif et hétérogène, composé d'un shell de ligne de commande interactif et d'un langage de script, pour le système d'exploitation Windows. Il est construit sur .NET framework, et il permet aux utilisateurs d'automatiser et de simplifier les tâches système. Pour plus de détails sur PowerShell, consultez le lien suivant.

Dans ce bref tutoriel, voyons comment installer PowerShell dans les éditions serveur Ubuntu 14.04/16.04/18.04 LTS et CentOS 7 64 bits.

Installer Windows PowerShell Core 6.0 sous Linux

PowerShell peut être installé sur de nombreuses distributions Linux populaires, notamment Arch Linux, Debian, Ubuntu, Fedora, CentOS, SUSE. J'ai inclus ici les instructions d'installation pour Debian, Ubuntu et CentOS.

Sur Ubuntu 14.04 LTS :

Téléchargez et enregistrez la clé GPG du référentiel PowerShell :

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

Mettre à jour la liste des sources logicielles :

$ sudo apt-get update

Ensuite, installez PowerShell à l'aide de la commande :

$ sudo apt-get install -y powershell

Sur Ubuntu 16.04 LTS :

Ajouter la clé GPG du référentiel PowerShell :

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

Mettre à jour la liste des sources logicielles :

$ sudo apt-get update

Ensuite, installez PowerShell à l'aide de la commande :

$ sudo apt-get install -y powershell

Sur Ubuntu 18.04 LTS :

Enregistrez la clé GPG du référentiel PowerShell :

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

Mettez à jour les listes de dépôts et installez PowerShell :

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

Sur Debian 8 :

$ sudo apt-get install curl apt-transport-https
$ curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key ajouter -
$ 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

Sur Debian 9 :

$ sudo apt-get install curl gnupg apt-transport-https
$ curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key ajouter -
$ 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

Sur CentOS 7 :

Ajouter un référentiel PowerShell en tant que racine utilisateur :

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

Installer PowerShell :

# yum install -y powershell

Pour les autres distributions, veuillez vous référer aux instructions d'installation officielles .

Nous avons maintenant installé PowerShell. Ensuite, nous verrons comment l'utiliser en temps réel.

Démarrer avec PowerShell

Veuillez noter que PowerShell pour Linux est encore en phase de développement, vous rencontrez donc quelques bogues. S'il y a des bogues, rejoignez le blog de la communauté PowerShell (Le lien est donné à la fin de cet article) et obtenez de l'aide.

Une fois que vous avez installé PowerShell, exécutez la commande suivante pour accéder à la console/session PowerShell.

pwsh

Voici à quoi ressemble la console PowerShell sur mon serveur Ubuntu 18.04 LTS.

PowerShell 6.1.2Copyright (c) Microsoft Corporation. Tous droits réservés.https://aka.ms/pscore6-docsTapez 'help' pour obtenir de l'aide.PS /home/sk>

PowerShell

Dans la session PowerShell, nous mentionnons les commandes PowerShell en tant que cmdlets , et nous mentionnons le signe d'invite PowerShell comme PS /> .

Travailler dans PowerShell est presque similaire à BASH. J'ai exécuté des commandes Linux dans PowerShell. Il semble que presque toutes les commandes Linux fonctionnent dans PowerShell. En outre, PowerShell possède son propre ensemble de commandes (applet de commande). La fonction TAB (autocomplétion) fonctionne comme dans BASH.

Effacer ? Eh bien, donnons quelques exemples.

Afficher la version de PowerShell

Pour afficher la version de PowerShell, saisissez :

$PSVersionTable

Exemple de sortie :

Name Value---- -----PSVersion 6.1.2PSEdition CoreGitCommitId 6.1.2OS Linux 4.15.0-45-generic #48-Ubuntu SMP Tue Jan ...Platform UnixPSCompatibleVersions {1.0, 2.0, 3.0, 4.0 ...}PSRemotingProtocolVersion 2.3SerializationVersion 1.1.0.1WSManStackVersion 3.0

Comme vous le voyez dans la sortie ci-dessus, la version de PowerShell est 6.1.2 .

Créer des fichiers

Pour créer un nouveau fichier, utilisez 'New-Item' commande comme indiqué ci-dessous.

Nouvel article ostechnix.txt

Exemple de sortie :

 Répertoire :/home/skMode LastWriteTime Longueur Nom---- ------------- ------ ---------- 2/11/19 10:28 0 ostechnix.txt

ou utilisez simplement ">" comme indiqué ci-dessous :

""> ostechnix.txt

Ici, "" - indique que le fichier est vide. ostechnix.txt est le nom du fichier.

Pour ajouter du contenu dans le fichier, exécutez la commande suivante :

Set-Content ostechnix.txt -Value "Bienvenue sur le blog OSTechNix !"

Ou

"Bienvenue sur le blog d'OSTechNix !"> ostechnix.txt
Affichage du contenu d'un fichier

Nous avons créé des fichiers à partir du PowerShell. Comment visualisons-nous le contenu de ces fichiers ? C'est facile.

Utilisez simplement 'Get-Content' commande pour afficher le contenu de n'importe quel fichier.

Get-Content  

Exemple :

Get-Content ostechnix.txt

Exemple de sortie :

Bienvenue sur le blog d'OSTechNix !
Suppression de fichiers

Pour supprimer un fichier ou un élément, utilisez 'Remove-Item' commande comme indiqué ci-dessous.

Remove-Item ostechnix.txt

Laissez-nous vérifier si l'élément a bien été supprimé à l'aide de la commande :

Get-Content ostechnix.txt

Vous devriez voir une sortie comme ci-dessous.

Get-Content :Impossible de trouver le chemin '/home/sk/ostechnix.txt' car il n'existe pas. À la ligne :1 char :1+ Get-Content ostechnix.txt+ ~~~~~~~~~~ ~~~~~~~~~~~~~~~+ CategoryInfo :ObjectNotFound:(/home/sk/ostechnix.txt:String) [Get-Content], ItemNotFoundException+ FullyQualifiedErrorId :PathNotFound,Microsoft.PowerShell.Commands.GetContentCommand 

Ou vous pouvez simplement utiliser le "ls" commande pour voir si le fichier existe ou non.

Affichage des processus en cours d'exécution

Pour afficher la liste des processus en cours d'exécution, exécutez simplement :

Get-Process

Exemple de sortie :

 NPM(K) PM(M) WS(M) CPU(s) 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,07 556 556 Auditd 0,00 0,00 0,03 578 578 AvaHi-Daemon 0 0,00 0,00 0,00 0,00 0,03 578 578 590 578 avahi-daemon 0 0,00 0,00 0,05 2327 327 Bash 0 0,00 0,00 0,00 19 0 BIOCET 0 0,00 0,00 0,00 352 0 BIOSET 0 0,00 0,00 0,00 360 0 Bio-réart 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,002 94 0 kauditd 0 0,00 0,00 0,00 0,00 0,00 0,02 94 0 kauditd 0 0,00 0,00 0,00 0,00 0,00 0,02 94 0 kAUDITD 0 0,00 0,00 0,00 0,00 0,00 0,002 94 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,03 29 0,00 KHUGEPAGED 0 0,00 0,00 0,00 26 0 KHUNGTASKD 0 0,00 0,00 18 0 KinTegrityd 0 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0.00 41 0 kmpath_rdac D 0 0 ktravailleur/0:0 0 0,00 0,00 0,04 2369 0 ktravailleur/0:0H 0 0,00 0,00 0,00 2440 0 ktravailleur/0:1 0 0,00 0,00 0,05 2312 0 ktravailleur/0:2H 0 0,00 0,00 0,28 2376 0:3 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 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 Migration / 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,01 2071 036 Pickup 0 0,00 0,00 0,05 799 799 Polkitd 0 0,00 0,02 0,02 2401 327 Powershell 0 0,00 0,00 2072 036 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 9 0 RCUOB / 0 0 0,00 0,51 11 0 RCUOS / 0 0 0,00 0,00 0,06 582 582 _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 277 0 SCSI_TMF_2 0 0,00 0,00 03 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 Tunes 0,00 0,00 0,02 12 0 Watchdog / 0 0 0 0,00 0,00 0,01 798 798 WPA_SUPPLICANT 0 0,00 0,00 0,00 17 0 DRITEBBACK 0 0,00 0,00 0,00 378 0 XFS_MRU_CACH 0 0,00 0,00 0,00 379 0 XFS-BUF / DM-1 0,00 0,00 0,00 539 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 541 0 xfs-conv/sda1 0 0,00 0,00 3 0 -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  

La commande ci-dessus affichera la liste complète des processus en cours d'exécution sur votre système Linux.

Pour afficher un processus en cours d'exécution particulier, utilisez '-Name' option avec la commande ci-dessus.

Par exemple, pour afficher le processus PowerShell, exécutez :

Get-Process-Name pwsh

Exemple de sortie :

 NPM(K) PM(M) WS(M) CPU(s) Id SI ProcessName ------ ----- ----- ------ -- -- -- --------- 0 0.00 99.32 3.28 2575 398 pwsh
Affichage des alias de commande

Êtes-vous trop paresseux pour taper une commande entière ? Tapez simplement quelques mots et appuyez sur la touche de tabulation, la commande se complétera automatiquement ou la liste des commandes suggérées s'affichera, comme dans le shell Linux BASH.

Alternativement, il existe des alias pour certaines commandes.

Par exemple, pour effacer l'écran, vous devez saisir : Clear-Host .

Ou vous pouvez simplement taper l'alias de la commande ci-dessus 'cls' ou 'clear' pour effacer l'écran.

Pour afficher la liste des alias disponibles, exécutez :

Get-Alias

Voici la liste complète des alias disponibles :

CommandType Nom Version Source ----------- ---- ------- ------ Alias ​​? -> Alias ​​Where-Object % -> Alias ​​ForEach-Object cd -> Alias ​​Set-Location chdir -> Alias ​​Set-Location 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- Alias ​​de contenu 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. Alias ​​de gestion 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 -> Nouveau -PSDrive Alias ​​ni -> Nouvel élément Alias ​​nmo -> Nouveau 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 -> 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 -> Select-Object Alias ​​set -> 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 -Process Alias ​​spsv -> Stop-Service Alias ​​sv -> Type d'alias Set-Variable -> Get-Content Alias ​​where -> Where-Object Alias ​​wjb -> Wait-Job

Pour afficher l'alias d'une commande particulière, tapez :

Get-Alias ​​cls

Exemple de sortie :

CommandType Nom Version Source ----------- ---- ------- ------ Alias ​​cls -> Clear-Host
Affichage de la liste complète des commandes disponibles

Pour afficher la liste de toutes les commandes PowerShell disponibles, exécutez :

Get-Command
Afficher l'aide

Vous ne savez pas ce que va faire particulier ? Aucun problème. Tapez simplement "aide" pour obtenir de l'aide. Vous n'avez pas besoin de chercher sur Internet.

Vous pouvez également utiliser 'Get-Help' commande avec toutes les commandes powershell. C'est quelque chose de similaire à 'man' commande sous Linux.

Par exemple, pour afficher la section d'aide d'une commande appelée "Clear-Host", exécutez :

Get-Help Clear-Host

Exemple de sortie :

NOM Clear-Host SYNOPSIS SYNTAXE Clear-Host [] DESCRIPTION LIENS ASSOCIÉS https://go.microsoft.com/fwlink/?LinkID=225747REMARKS Pour voir les exemples, tapez :"get-help Clear-Host -exemples". Pour plus d'informations, tapez :"get-help Clear-Host -detailed". Pour des informations techniques, tapez :"get-help Clear-Host -full". Pour l'aide en ligne, tapez :"get-help Clear-Host -online

Comme vous le voyez ci-dessus, « Get-Help » affiche la section d'aide d'une commande PowerShell spécifique, comme le nom de la commande, le format de syntaxe, les alias et les remarques, etc.

Pour quitter la console PowerShell, tapez simplement :

quitter

J'espère que vous avez une idée de base sur la façon d'installer la version alpha de PowerShell Core sous Linux (Ubuntu et CentOS), et l'utilisation de base.

Autres lectures :

  • PowerShell sur GitHub
  • Démarrer avec PowerShell à partir de Channel9 – Tutoriel vidéo
  • Page de la communauté PowerShell
  • Chaîne YouTube PowerShell

Lire connexe :

  • Installer le sous-système Windows pour Linux avec une seule commande

Linux
  1. Comment installer Python sur Linux

  2. Comment installer Java sur Linux

  3. Comment installer NodeJS sur Linux

  4. Comment installer ou supprimer Windows PowerShell dans Ubuntu/Lubuntu Linux

  5. Comment installer la calculatrice Microsoft Windows sur Linux

Comment installer WSL2 (sous-système Windows pour Linux 2) sur Windows 10

Comment installer Linux Bash Shell sur Windows 10

Comment installer le sous-système Windows pour Linux

Comment installer Linux Fedora sur Hyper-v Windows 10 ?

Comment installer Linux Mint sur Hyper-v Windows 10 ?

Comment installer (.NET Core) Dotnet Core sur les distributions Linux