Lignes de commande: pourquoi les gens se soucient-ils encore d’eux?

La ligne de commande a presque 50 ans, mais elle n’est pas obsolète. Les terminaux textuels restent le meilleur moyen d’accomplir de nombreuses tâches, même à l’ère des ordinateurs de bureau graphiques et des gadgets à écran tactile.

En fait, la ligne de commande devient plus respectée que jamais avec Microsoft créant une nouvelle application Windows Terminal puissante. L’environnement PowerShell de Windows 10 est étonnamment puissant, mais Microsoft a tout de même fait tout son possible pour ajouter la prise en charge de l’environnement de ligne de commande Linux complet à Windows 10.

La ligne de commande était autrefois la seule option

À un moment donné, si vous vouliez interagir avec un ordinateur, vous avez tapé. C’était ça. Il n’y avait rien d’autre. Cela peut sembler restrictif et archaïque, mais pour éviter d’avoir à utiliser des cartes perforées ou des bandes de papier perforées, la frappe était radicale et transformatrice. Et la migration des téléscripteurs avec leurs rouleaux de papier vers des terminaux avec Tube à rayons cathodiques (CRT) a été un autre changement fondamental dans les interactions humaines et informatiques.

Cette étape a permis au shell interactif de prendre tout son sens. Vous pouvez désormais envoyer des instructions à l’ordinateur et afficher très rapidement les réponses sur votre écran. Fini le claquement-claquement-claquement alors que vous attendiez que votre impression papier fasse claquer son chemin hors de votre téléimprimeur.

Assez juste, mais c’était alors, c’est maintenant. L’informatique est un tout autre jeu de balle. En dehors des cas évidents verrouillés, comme l’utilisation d’un ordinateur sur lequel n’est pas installé un environnement de bureau graphique, ou l’utilisation d’un ordinateur distant via SSH via une connexion à faible bande passante, ou en contrôlant un sans tête ou embarqué système, pourquoi utiliser la ligne de commande sur un bureau graphique?

Jargon expliqué

Des termes tels que ligne de commande, fenêtre de terminal et shell sont utilisés de manière presque interchangeable par certaines personnes. C’est un jargon incorrect. Ils sont tous très différents. Ils sont liés, mais ce n’est pas la même chose.

UNE fenêtre de terminal est une fenêtre dans un environnement de bureau graphique qui exécute une émulation d’un terminal de téléscripteur.

Le coquille est le programme qui s’exécute dans la fenêtre du terminal. Il prend votre entrée et, en fonction de ce que vous avez tapé, essaie d’interpréter et d’exécuter les instructions elles-mêmes, de les transmettre à certains des autres utilitaires qui composent le système d’exploitation ou de trouver un script ou un programme qui correspond à ce que vous avez tapé.

Bientôt: Quelle est la différence entre Bash, Zsh et d’autres shells Linux?

Le ligne de commande est l’endroit où vous tapez. C’est l’invite que le shell présente lorsqu’il attend que vous saisissiez des instructions. Le terme «ligne de commande» est également utilisé pour désigner le contenu réel de ce que vous avez tapé. Par exemple, si vous parlez à un autre utilisateur de l’ordinateur d’une difficulté que vous avez rencontrée lors de la tentative d’exécution d’un programme, il peut vous demander: «Quelle ligne de commande avez-vous utilisée?» Ils ne demandent pas quel shell vous utilisiez; ils veulent savoir quelle commande vous avez tapée.

Au total, ceux-ci se combinent pour former le interface de ligne de commande (CLI).

Pourquoi utiliser la ligne de commande en 2019?

La CLI peut sembler rétrograde et déroutante pour ceux qui ne la connaissent pas. Il n’y a sûrement pas de place dans un système d’exploitation moderne pour une manière aussi démodée et geek d’utiliser un ordinateur? N’avons-nous pas abandonné tout cela il y a des décennies lorsque des fenêtres, des icônes et des souris sont apparues et des environnements de bureau graphiques avec interfaces utilisateur graphiques (GUI) est devenu disponible?

En relation :  Minecraft Swamp Huts : emplacements, foules, butin et plus encore !

Oui, l’interface graphique existe depuis des décennies. La première version de Microsoft Windows était sorti en 1985 et est devenu la norme de bureau PC avec la sortie de Windows 3.0 en 1990.

Le système X Window, utilisé sous Unix et Linux, était introduit en 1984. Cela a amené des environnements de bureau graphiques à Unix et à ses nombreux dérivés, clones et dérivés.

Mais la sortie d’Unix précède ces événements par un plus d’une décennie. Et comme il n’y avait pas d’autre option, tout devait être possible via la ligne de commande. Toute interaction humaine, toute configuration, chaque utilisation de l’ordinateur devait pouvoir être effectuée via l’humble clavier.

Alors, ipso facto, la CLI peut tout faire. Une interface graphique ne peut toujours pas faire tout ce que la CLI peut faire. Et même pour les parties qu’il peut faire, la CLI est généralement plus rapide, plus flexible, peut être scriptée et est évolutive.

Et il y a une norme.

Ils sont standardisés grâce à POSIX

POSIX est un standard pour les systèmes d’exploitation de type Unix— En gros, tout ce qui n’est pas Windows. Et même Windows a le sous-système Windows pour Linux (WSL.) Ouvrez une fenêtre de terminal sur n’importe quel système d’exploitation compatible POSIX (ou proche de conforme) et vous vous retrouverez dans un shell. Même si le shell ou la distribution fournissent leurs propres extensions et améliorations, tant qu’ils fournissent la fonctionnalité POSIX de base, vous pourrez l’utiliser immédiatement. Et vos scripts fonctionneront.

La ligne de commande est le plus petit dénominateur commun. Apprenez à l’utiliser et, indépendamment de la distribution Linux et de l’environnement de bureau graphique, vous serez en mesure d’effectuer toutes les tâches dont vous avez besoin. Différents ordinateurs de bureau ont leur propre façon de faire les choses. Différentes distributions Linux regroupent divers utilitaires et programmes.

Mais ouvrez une fenêtre de terminal et vous vous sentirez comme chez vous.

Les commandes sont conçues pour fonctionner ensemble

Chacune des commandes Linux est conçue pour faire quelque chose en particulier et pour bien faire quelque chose. La philosophie de conception sous-jacente consiste à ajouter plus de fonctionnalités en ajoutant un autre utilitaire qui peut être canalisé ou enchaîné avec les utilitaires existants pour obtenir le résultat souhaité.

C’est tellement utile que Microsoft a fait tout son possible pour ajouter la prise en charge de la ligne de commande Linux complète à Windows 10!

Par exemple, le sort La commande est utilisée par d’autres commandes pour trier le texte par ordre alphabétique. Il n’est pas nécessaire d’intégrer une capacité de tri dans chacune des autres commandes Linux. Généralement, les applications GUI ne permettent pas ce type d’interfonctionnement collaboratif.

Regardez l’exemple suivant. Cela utilise le ls commande pour lister les fichiers dans le répertoire courant. Les résultats sont diffusés dans le sort commande et trié sur la cinquième colonne de données (qui est la taille du fichier). La liste triée est ensuite redirigée vers le head commande qui répertorie par défaut les dix premières lignes de son entrée.

ls -l | sort -nk5,5 | head

Nous obtenons une liste soignée des plus petits fichiers du répertoire courant.

liste des dix plus petits fichiers du répertoire courant

En modifiant une commande – en utilisant tail au lieu de head—Nous pouvons obtenir une liste des dix fichiers les plus volumineux du répertoire courant.

ls -l | sort -nk5,5 | tail

Cela nous donne notre liste des dix fichiers les plus volumineux, comme prévu.

En relation :  Comment supprimer un appareil de confiance de votre identifiant Apple

liste des dix plus gros fichiers du répertoire courant

La sortie des commandes peut être redirigée et capturée dans des fichiers. La sortie régulière (stdin) et messages d’erreur (stderr) peuvent être capturés séparément.

Bientôt: Que sont stdin, stdout et stderr sous Linux?

Les commandes peuvent inclure des variables d’environnement. La commande suivante listera le contenu de votre répertoire personnel:

ls $HOME

Cela fonctionne où que vous soyez dans l’arborescence des répertoires.

liste du répertoire personnel dans la fenêtre du terminal

Si l’idée de toute cette saisie vous dérange toujours, des techniques telles que la complétion par tabulation peuvent réduire la quantité de frappe que vous devez faire.

Les scripts permettent l’automatisation et la répétabilité

Les humains sont sujets aux erreurs.

Les scripts vous permettent de standardiser un ensemble d’instructions dont vous savez qu’elles seront exécutées de la même manière à chaque exécution du script. Cela apporte de la cohérence à la maintenance du système. Des contrôles de sécurité peuvent être intégrés aux scripts qui permettent au script de déterminer s’il doit continuer. Cela supprime la nécessité pour l’utilisateur d’avoir des connaissances suffisantes pour prendre lui-même la décision.

Parce que vous pouvez automatiser les tâches en utilisant cron sur Linux et d’autres systèmes de type Unix, les tâches longues, compliquées et répétitives peuvent être simplifiées ou, au moins, déterminées une fois, puis automatisées pour l’avenir.

Les scripts PowerShell offrent une puissance similaire sur Windows et vous pouvez les planifier pour qu’ils s’exécutent à partir du planificateur de tâches. Pourquoi cliquer sur 50 options différentes chaque fois que vous configurez un ordinateur alors que vous pouvez exécuter une commande qui change tout automatiquement?

Le meilleur des deux mondes

Pour tirer le meilleur parti de Linux – ou de tout système d’exploitation en tant qu’utilisateur expérimenté – vous devez vraiment utiliser l’interface de ligne de commande et l’interface graphique.

L’interface graphique est inégalée pour l’utilisation d’applications. Même les fervents partisans de la ligne de commande doivent sortir de la fenêtre du terminal et utiliser de temps en temps des suites de productivité bureautique, des environnements de développement et des programmes de manipulation graphique.

Les accros de la ligne de commande ne détestent pas l’interface graphique. Ils privilégient simplement les avantages de l’utilisation de l’interface de ligne de commande – pour les tâches appropriées. Pour l’administration, la CLI gagne haut la main. Vous pouvez utiliser la CLI pour apporter des modifications à un fichier, un répertoire, une sélection de fichiers et de répertoires ou des modifications complètement globales avec un effort égal. Essayer de faire cela avec l’interface graphique nécessite souvent des actions longues et répétitives du clavier et de la souris à mesure que le nombre d’objets affectés augmente.

La ligne de commande vous offre la plus grande fidélité. Chaque option de chaque commande est à votre disposition. Et beaucoup de commandes Linux ont de nombreuses options. Pour ne prendre qu’un exemple, considérons le lsof commander. Jetez un œil à son page de manuel puis réfléchissez à la façon dont vous l’envelopperiez dans une interface graphique.

Il y a trop d’options à présenter à l’utilisateur dans une interface graphique efficace. Ce serait écrasant, peu attrayant et maladroit à utiliser. Et c’est tout le contraire de ce que vise une interface graphique.

Ce sont des chevaux pour les cours. N’ayez pas peur du cheval CLI. C’est souvent le coursier le plus rapide et le plus agile. Gagnez vos éperons et vous ne le regretterez jamais.

Moyens Staff
Moyens I/O Staff vous a motivé, donner des conseils sur la technologie, le développement personnel, le style de vie et des stratégies qui vous aider.