Sous Windows, la comparaison PowerShell vs Bash devient intéressante – Un bon serveur Minecraft

Les mises à jour du sous-système Windows pour Linux, ainsi que de PowerShell Core, sont configurées pour secouer les comparaisons PowerShell et Bash.

Microsoft s'est associé au fournisseur Linux Canonical Ltd. pour transférer Bash (Bourne Again Shell) à Windows en 2016. L'intégration de Bash à l'environnement Windows permet aux utilisateurs de renoncer au double démarrage avec le système d'exploitation Ubicalu de Canonical pour obtenir des fonctionnalités Linux natives. Les administrateurs Windows familiarisés avec les scripts peuvent se demander si Bash sous Windows remplace PowerShell, qui est similaire aux systèmes Unix et Linux et fournit également une connectivité OpenSSH via le protocole Secure Shell.

Le sous-système Windows pour Linux (WSL) existe depuis plusieurs années et les développeurs l'ont rapidement adopté. Les améliorations apportées à WSL facilitent l'installation de plusieurs distributions Linux en fonction des besoins, prennent en charge les fins de ligne Linux dans le Bloc-notes et lancent un shell Linux à partir de l'explorateur de fichiers. Auparavant, les administrateurs pouvaient installer Cygwin Bash pour utiliser le shell dans Windows, mais cela n'offrait pas une expérience native de Bash ni une intégration adéquate avec Windows. En tant que tel, WSL offre le meilleur des deux mondes et offre une expérience améliorée.

Windows 10 version 1903 améliore et étend davantage WSL, avec la possibilité, par exemple, de naviguer dans le système de fichiers Linux dans l'explorateur de fichiers. Ces mises à jour font partie de WSL 2, une architecture WSL mise à jour avec un véritable noyau Linux s'exécutant sous Windows. WSL 2 permet une compatibilité totale des appels système. Ainsi, non seulement WSL et Windows sont étroitement intégrés, mais les performances du système sont également meilleures.

Différences entre Bash et PowerShell

But et portée. PowerShell est un outil de gestion de la configuration qui intègre les fonctionnalités du contrôle d'interface de ligne de commande Linux dans l'environnement Windows historiquement par pointer-cliquer afin de gérer efficacement les serveurs Windows dans des déploiements virtuels. Les administrateurs peuvent gérer les charges de travail du serveur Windows ou héberger des charges de travail Linux de production et des applications serveur via PowerShell.

Bash, en revanche, convient plus traditionnellement aux environnements de développement. Il a été introduit pour compléter et renforcer l’interaction fondée sur la CLI. Avec l'ajout de Bash à Windows, le code que les développeurs ou les ingénieurs d'infrastructure écrivent pour Linux fonctionne également sur leurs systèmes Windows. Imaginez les premiers outils Linux – Python, Ruby, Git – qui sont courants dans les magasins DevOps fonctionnant directement sous Windows.

Syntaxe. PowerShell n'est pas qu'un simple shell; c'est un environnement de script complet. PowerShell appelle des commandes légères appelées cmdlets au moment de l'exécution via des scripts automatisés ou des API. Bien que PowerShell ne les appelle pas, les anciennes commandes du système d’exploitation du disque fonctionnent toujours bien. PowerShell utilise des alias, qui pointent les anciennes commandes vers les nouvelles correspondantes. le Get-Alias La cmdlet vous donne une liste de tous les alias dans PowerShell.

Sortie dir PowerShell
Figure 1. Sortie de
dir dans PowerShell

Les commandes ls -la dans Bash et dir PowerShell contient deux concepts CLI distincts, mais la sortie n’est pas très différente. La figure 1 montre la sortie de PowerShell dir commandes et comment une liste de répertoires s’affiche dans PowerShell. La sortie se présente sous la forme d'objets de fichier avec des propriétés, telles que la date de création et la taille, répertoriées à côté des fichiers.

En revanche, la sortie Bash de la figure 2 se présente sous la forme d'un ensemble de chaînes, qui sont les représentations textuelles des noms de fichiers. Le résultat final est particulièrement important: les scripts que vous écrivez prennent les données renvoyées et les transmettent à une autre fonction ou les utilisent pour effectuer une action.

Sortie Bash
Figure 2. Sortie de
ls -la dans Bash

PowerShell s'appuie sur un pipeline d'objets. Il dirige les objets, en passant le résultat d'une applet de commande comme entrée pour un autre. Les mêmes données peuvent être manipulées avec plusieurs cmdlets en séquence. En canalisant les objets, les scripts PowerShell partagent des données complexes, en passant des structures de données entières entre les commandes. Bash, quant à lui, transmet la sortie et l'entrée en texte brut, ce qui signifie qu'il est facile pour l'utilisateur de déplacer des informations vers le programme suivant.

La sortie PowerShell de la figure 3 montre comment une entrée de répertoire contient une multitude de propriétés. Utilisez la commande Get-ChildItem | Select-Object * -Premier 1 pour afficher les nombreuses propriétés disponibles sur un seul objet système de fichiers.

Sortie PowerShell
Figure 3. Résultat de
Get-ChildItem | Select-Object * -Premier 1

Capacités. PowerShell permet aux administrateurs de modifier le registre, de gérer le courrier électronique Microsoft Azure Cloud et Exchange ou d'effectuer Windows Management Instrumentation. Le shell Bash et le langage de commande n'offrent pas ces fonctionnalités sous Windows. En tant qu'outil de développement sous Windows, les utilisateurs peuvent toutefois coder et créer des fonctions ou des services tout en travaillant sur les mêmes fichiers à partir de la CLI de Linux et de Windows.

PowerShell facilite l'accès aux valeurs de registre et aux propriétés de fichier à l'aide d'une syntaxe commune. Le traitement XML est également simple.

La valeur de PowerShell vs. Bash revient à l'utilisateur. Si vous travaillez sur plusieurs systèmes Windows, Bash n’est guère utile; vous aurez besoin de PowerShell pour écrire des scripts. Les administrateurs ne peuvent pas accéder aux fichiers Linux locaux avec des applications Windows, telles que le Bloc-notes Windows, via Bash.

Bien que Bash soit idéal pour gérer les fichiers texte dans un environnement de script, tout est géré via des API, pas des fichiers. Donc, Bash est principalement utile pour importer du code Linux sur des machines Windows et développer ce code.

Pour gérer les charges de travail Windows, PowerShell est efficace avec son infrastructure .NET et son intégration COM +. De nombreuses fonctionnalités modulaires et orientées objet installées avec PowerShell étendent les fonctionnalités de l'outil pour gérer les tâches Windows centrées sur Active Directory, Exchange Server et SQL Server. VMware est également géré facilement via PowerShell. La CLI dispose de bonnes fonctions de traçage et de débogage. Les utilisateurs disposent de plusieurs environnements de développement intégrés pour coder et tester des programmes.

Commandes PowerShell et Bash
Différences entre les commandes PowerShell et Bash

Auparavant, PowerShell ne pouvait pas concurrencer Bash sous Linux. Bash dispose d'un écosystème d'outils conçus à partir de zéro avec Linux en tête. Avec l'avènement de PowerShell Core, toutefois, tout cela a changé. PowerShell peut être exécuté en tant que shell principal sous Linux contenant toutes les propriétés d'objet pour lesquelles PowerShell est célèbre.

Courbe d'apprentissage des administrateurs pour PowerShell vs. Bash

La valeur de PowerShell vs. Bash revient à l'utilisateur.

PowerShell traite beaucoup de scripts. Si vous êtes issu d’un environnement Unix / Linux, cet outil semble familier. Toutefois, pour les adhérents à l’interface utilisateur graphique Windows, la courbe d’apprentissage est abrupte. PowerShell Core, actuellement à la version 6 et proche de la version 7 au moment de la publication de la mise à jour, contient des centaines d'applets de commande, chacune avec une variété de paramètres et la possibilité unique de s'exécuter sur différents systèmes d'exploitation.

Bash sous Windows comprend moins de 40 fonctions internes et environ 100 programmes d’aide. Avec une syntaxe plus fine, Bash est plus rapide, mais PowerShell présente l'avantage d'une structure de syntaxe cohérente. Si vous débutez, il vous faudra un certain temps pour exploiter pleinement la portée de PowerShell. Les utilisateurs familiarisés avec l'outil déploient, gèrent et réparent des centaines de systèmes depuis n'importe quel emplacement distant, automatisent les runbooks et utilisent des fichiers de script PowerShell basés sur C # pour automatiser des tâches répétitives.

  • Lola Bon'heure Sous-pull Cerise
    Sous-pull 100% coton biologique coloris ardoise tissus doux et très fin comme une double peau Existe en taille medium et large
  • ALA 2000 Machine sous-vide automatique ALA 2000 semprefresco VS950 - Emballeuse sous vide compacte
    Machine sous-vide automatique ALA 2000 semprefresco VS950 - Emballeuse sous vide compacte. Barre de soudure de 33 cm, modèle AUTOMATIQUE, simple et intuitive à utiliser + 10 sachets 20x30 cm gaufrés offerts
  • ALA 2000 Machine sous-vide automatique ALA 2000 semprefresco VS950 Verde - Emballeuse sous vide compacte
    Machine sous-vide automatique ALA 2000 semprefresco VS950 Verde - Emballeuse sous vide compacte. Barre de soudure de 33 cm, modèle AUTOMATIQUE, simple et intuitive à utiliser + 10 sachets 20x30 cm gaufrés offerts
  • ALA 2000 Machine sous-vide automatique ALA 2000 semprefresco VS950 Rouge - Emballeuse sous vide compacte
    Machine sous-vide automatique ALA 2000 semprefresco VS950 Rouge - Emballeuse sous vide compacte. Barre de soudure de 33 cm, modèle AUTOMATIQUE, simple et intuitive à utiliser + 10 sachets 20x30 cm gaufrés offerts
  • FOOD SAVER Emballeuse sous vide FOOD SAVER VS1190X 01 Mise sous vide compact
    Appareil + Accessoire portatif - Scellage instantané - Bac ramassage-gouttes amovible et compatible lave vaisselle - Accessoires - Taille compacte - Économisez de l’espace et préservez la fraîcheur de vos aliments jusqu’à 5 fois plus longtemps grâce à l’appareil d’emballage sous vide VS1190X01 compact
  • Kitchen Chef Professional Lot appareil à emballer sous vide pro VS5160 et 2 rouleaux de sachets à découper Kitchen Chef Professional
    Ce lot comprend un appareil à emballer sous vide Pro et 2 rouleaux de sachet à découper L'appareil à emballer sous vide d'air Pro permet de conditionner les aliments hermétiquement dans un film plastique sous vide. Cette mise sous vide permet une meilleure conservation en préservant les arômes et les
  • Royal Food Machine sous vide automatique Royal Food VS 330 I - Barre de soudure de 30 cm - 110W
    Machine sous vide automatique Royal Food VS 330 I - Barre de soudure de 30 cm - 110W. Modèle AUTOMATIQUE avec 4 programmes, facile à utiliser avec commandes intuitives, finitions en acier, pompe 12 litres par minute + 150 sachets et tube d'aspiration pour bocaux offerts
  • Royal Food Machine sous vide compacte automatique Royal Food VS310Y Jaune
    Machine sous vide compacte automatique Royal Food VS310Y Jaune. Modèle automatique avec 4 programmes et possibilité de sceller sans le vide - barre de soudure de 30 cm, facile à utiliser. Puissance d'aspiration 10L/min - Offerts : 10 sachets (25x30cm)
  • Kitchen Chef Professional Appareil à emballer sous vide Pro soudure 28 cm VS5160 Kitchen Chef Professional
    L 'appareil à emballer sous vide d'air Pro permet de conditionner les aliments hermétiquement dans un film plastique sous vide. Cela permet une meilleure conservation en préservant les arômes et les bienfaits de vos aliments. L'appareil est doté d'un cutter pour couper les rouleaux selon vos besoins. Avec cet
  • Kitchen Chef Professional Appareil à emballer sous vide d'air semi-pro VS5800 Kitchen Chef Professional
    L' Appareil à emballer sous vide d'air semi-pro conditionne hermétiquement les aliments dans un film plastique sous vide d'air pour une meilleure conservation tout en préservant la saveur et la valeur nutritive des aliments. Simple d'utilisation, il fait le vide et soude en une seule opération. Pratique, il