Lors du passage de Windows à Linux, les utilisateurs peuvent être confrontés à des difficultés pour gérer différents outils tels que l'invite de commande sous Windows et le terminal sous Linux. Bien que les deux systèmes offrent des fonctionnalités similaires, l’utilisation de commandes sous Linux nécessite une certaine compréhension et adaptation à un nouvel environnement. Découvrez les points clés que vous devez connaître avant de changer et comment vous adapter de manière transparente à Terminal sous Linux pour la meilleure expérience d'administration système.
Les shells Linux peuvent ressembler à l'invite de commande, mais si vous venez de la ligne de commande Windows, il y a beaucoup à découvrir à leur sujet.
1. Linux a plusieurs shells
Une différence entre l'invite de commande sous Windows et Linux est que vous pouvez choisir entre plusieurs interfaces. Bien que cela soit possible sous Windows depuis l'époque de MS-DOS, la possibilité de changer d'interface sous Linux est beaucoup plus importante.
Bien que Bash soit l'interface par défaut la plus courante pour les distributions Linux, il existe d'autres interfaces que vous pouvez utiliser, telles que tcsh, zsh, fish et autres. Chacun a ses propres caractéristiques. Beaucoup d'entre eux peuvent émuler l'interface Bourne pour assurer la compatibilité avec les scripts d'interface requis pour les tâches administratives. Vous pouvez choisir une interface différente à l'aide de la commande chsh.
2. Les séparations de pistes sont différentes
Si vous regardez les noms de chemin sous Windows et Linux, vous remarquerez que les séparateurs sont différents. Sous Windows, les chemins sont séparés par un caractère « \ » (barre oblique inverse), tandis que sous Linux et d'autres systèmes de type Unix, ils sont séparés par un caractère « / » (barre oblique ou simplement une « barre oblique »). Cela est principalement dû à des raisons historiques.
Si vous connaissez Windows, cela pourrait vous dérouter. Les commandes Linux sont également sensibles à la casse, ce qui signifie que les lettres minuscules et majuscules ont des significations différentes.
3. Les shells Linux sont activement développés
Alors que Microsoft a largement abandonné l'ancienne invite de commande au profit de PowerShell, les shells Linux sont toujours activement en développement. C'est pourquoi vous pouvez aujourd'hui choisir parmi de nombreux shells sous Linux.
La ligne de commande n'est pas seulement une relique historique mais un élément logiciel important utilisé quotidiennement par les utilisateurs professionnels, les administrateurs et les développeurs. Les bugs sont détectés et corrigés, et de nouvelles fonctionnalités sont constamment ajoutées.
4. Vous pouvez exécuter PowerShell à partir de Linux et Linux Shells sous Windows
Vous n'êtes pas seulement obligé d'exécuter PowerShell sur Windows ou Linux sur Linux. Vous pouvez exécuter l'un à partir de l'autre.
Microsoft gère une version de PowerShell pour Linux et vous pouvez l'installer en tant que shell sur la plupart des principales distributions Linux. Vous pouvez l'installer Utilisation des référentiels de packages Microsoft pour votre distribution.
Vous pouvez également exécuter des shells Linux sous Windows. Le moyen le plus simple de procéder consiste à installer le sous-système Windows pour Linux, puis à installer la distribution Linux. Comme mentionné précédemment, la plupart des distributions utilisent Bash par défaut, mais vous pouvez modifier le shell comme vous le souhaitez.
Vous pouvez même installer la version Linux de PowerShell sur Windows si vous souhaitez rendre les choses encore plus exotiques. Vous pouvez donc exécuter la version Linux de PowerShell sous Linux sous Windows.
Avec WSL, vous pouvez explorer Linux depuis Windows et combiner les deux.
5. Les shells Linux contiennent un contrôle de fonction
L’une des choses qui différencient les interfaces Linux de l’invite de commande est qu’elles ont été conçues dès le début pour le multitâche. Le résultat est que les interfaces Linux modernes disposent d'une fonctionnalité appelée contrôle des tâches qui vous permet de placer une tâche en arrière-plan pendant que d'autres commandes sont en cours d'exécution.
Vous pouvez démarrer une commande en arrière-plan en ajoutant un caractère & (signe &) à la ligne de l'interface. Par exemple,
some_long_operation &
Le shell exécutera cette commande en arrière-plan et renverra le numéro de tâche entre crochets. Vous pouvez l'utiliser pour indiquer au shell quoi faire avec la tâche.
Pour remettre l'arrière-plan au premier plan, vous pouvez utiliser la commande fg. Par défaut, fg refairea la tâche que vous venez de placer en arrière-plan, mais si vous avez plusieurs tâches, vous devrez spécifier un numéro de tâche précédé d'un % (signe de pourcentage). Par exemple, pour amener la tâche 1 au premier plan, tapez :
fg %1
Pour mettre une tâche en cours d'exécution en arrière-plan, appuyez sur Ctrl+Z, puis tapez « bg » dans le shell.
6. Linux a des commandes intégrées et externes
Les commandes de contrôle de fonction que je vous ai montrées sont intégrées à la plupart des shells modernes. Pour cette raison, on les appelle « ordres intégrés ». Devrait fonctionner dans Bash et zsh.
La raison pour laquelle les développeurs de shell créent des commandes intégrées est qu'elles sont souvent plus rapides à exécuter que les commandes externes puisque les shells sont déjà en mémoire et n'ont pas besoin d'être chargés. Certaines des commandes intégrées aux programmes Linux traditionnels sont dupliquées et il peut être facile de confondre les deux. La meilleure option est de lire la documentation de vos shells et de voir quelles commandes intégrées ils contiennent.
Vous pouvez aussi souvent exécuter une commande appelée qui vous indique le type de commande. Par exemple, pour bg :
which bg
Le shell vous informera qu'il s'agit d'une commande intégrée. Dans zsh, c'est aussi une commande intégrée :
which which
7. Vous avez le choix dans les langages de script
Si vous deviez automatiser quelque chose à l'invite de commande, vous avez peut-être écrit un fichier batch ou un fichier .bat avec l'extension de fichier.
Vous pouvez également automatiser des tâches à l'aide de scripts shell. Les scripts shell Linux sont puissants et contiennent de nombreuses fonctionnalités de programmation complètes, telles que des tableaux et des tableaux de hachage/associatifs. Si vous avez besoin de plus de fonctionnalités, vous pouvez apprendre des langages de script comme Perl ou Python. Il y aura de quoi vous occuper pendant que vous explorez la ligne de commande Linux, quelle que soit la langue que vous utilisez.
La maîtrise du Terminal sous Linux est une étape importante pour quiconque cherche à utiliser efficacement ce système. Ne laissez pas le passage d'un système à l'autre être un obstacle, investissez le temps d'apprendre les clés de base qui vous aideront à vous adapter rapidement à l'environnement Linux. En suivant ces conseils, vous pourrez profiter pleinement des capacités de Terminal et travailler plus efficacement.