Maîtriser le Terminal

Maîtriser le Terminal

Un Outil Historique

De nos jours, très peu d'informaticiens utilisent encore le terminal. Il faut dire que l'utilisation des interfaces graphique permet d'effectuer la plupart des tâches de façon simple et rapide. Après tout, quoi de plus naturel que de cliquer sur l'icône "Nouveau dossier" lorsque vous souhaitez créer un nouveau dossier ?

Pourtant, cette simplicité d'utilisation n'a pas toujours existé. Lorsque les premiers ordinateurs sont sortis dans le commerce, ils ne disposaient pas encore d'interfaces graphique. Il fallait utiliser le terminal pour effectuer un simple déplacement de fichier. Cette particularité a freiné l'adoption des ordinateurs par le grand public, qui le voyait comme étant réservé à l'élite.

Pour effectuer la moindre action sur votre ordinateur, vous deviez connaître le nom de la fonction correspondante, la façon de l'utiliser, et ses éventuels paramètres. Non seulement il fallait avoir en tête la liste de ces fonctions, mais il fallait également une certaine aisance avec l'informatique, au risque de supprimer un mauvais dossier… Alors qu'aujourd'hui, il suffit simplement de déplacer le ficher en question à la souris, ce qui actionne en coulisse différentes commandes effectuant cette action.

Mais malgré toutes les qualités des interfaces graphiques, le terminal dispose de quelques avantages qui font qu'il est encore utilisé de nos jours. L'exemple le plus courant est l'administration des serveurs.

DataCenter

Peut-être avez vous déjà entendu parler des datacenters, ces grands centres qui permettent aux serveurs de fonctionner en continu, pour vous permettre d'accéder à votre site web favori à toute heure de la journée. Pour y parvenir, chacun des écrans disponible permet d'administrer plusieurs serveurs à la fois, et cela en utilisant exclusivement le terminal.

L'explication est pourtant simple : Non seulement un serveur utilisant uniquement le terminal est plus performant, (Car il n'a pas à s'occuper de toutes les resources graphiques) mais il est également plus rapide à manipuler, pour peu que vous sachiez vous servir efficacement d'un terminal.

Vous ne me croyez pas ? Alors je vous propose une petite démonstration… Si vous avez besoin de créer une dizaine de dossiers manuellement, vous devrez faire dix clics droits, et cliquer dix fois sur le bouton "Nouveau dossier". En utilisant le terminal, il vous suffit de copier la commande permettant de créer un dossier :

  mkdir file-name  

Il vous reste ensuite à coller dix fois cette commande dans le terminal, et vous aurez vos dix dossiers. Bien sûr, cela nécessite que vous soyez à l'aise avec le terminal. Si vous devez faire une recherche pour trouver le nom de la commande, vous ne gagnerez pas de temps… Mais à force d'utiliser le terminal, vous connaîtrez les commandes par coeur, et gagnerez ainsi un temps précieux !

Évidemment, cet avantage est surtout valable pour les professionnels qui manipulent de nombreuses données à longueur de journée. Un particulier n'aurait aucun intéret à utiliser le terminal, et préferera utiliser une interface graphique, par soucis de simplicité.

De plus, je vous ai parlé de l'administration de serveurs, mais le terminal est également un outil important pour les développeurs. Si vous faîtes de la programmation back-end, (Sur les serveurs) vous allez rencontrer de nombreux cas où l'utilisation du terminal est obligatoire. Un bon exemple est le gestionnaire de dépendances Composer, permettant de gérer les dépendances de vos projets. Si vous avez besoin de vous en servir pour créer un projet dépendant d'un framework, tel que Symfony, vous devrez l'initialiser comme ceci :

  composer create-project symfony/website-skeleton project-name  

C'est une étape essentielle, car Composer est un outil qui s'utilise uniquement en ligne de commande, et ne possède pas d'interface graphique.

Enfin, certains passionnés comme moi, apprennent à se servir du terminal pour une toute autre raison : Découvrir le fonctionnement précis des ordinateurs, et assouvir leur passion. C'est également une raison valable, et c'est même peut-être votre cas.

Un Terminal, des Terminaux

Comme expliqué précédemment, le terminal va envoyer des instructions à votre système d'exploitation, afin d'exécuter l'action demandée. (Créer un dossier, le déplacer, …) Malheureusement pour nous, de la même façon qu'il n'existe pas un unique système d'exploitation, il n'existe pas qu'un seul terminal…

Pour être précis, nous pouvons distinguer deux principales familles de terminaux.

• Le premier se basant sur MS-DOS, et fonctionnant sous Windows.

• Le second se basant sur Unix, et fonctionnant sur MacOS et Linux.

Heureusement, la plupart des commandes disposent d'un équivalent sur le système d'exploitation complémentaire, et seul le nom et les paramètres utilisés changent. Prenons la commande permettant de lister les dossiers présents dans le répertoire courant. Pour l'utiliser, nous allons appeller la fonction :

• dir sous Windows.

• ls sous MacOS ou Linux.

Qui procèdent toutes les deux de la même manière.

La plupart des commandes prennent des paramètres additionnels. Ceux-ci permettent de préciser à la fonction ce qu'elle doit faire, et comment le faire. Si vous souhaitez créer un fichier sous Unix, il faudra utiliser la commande :

  touch file-name  

Ici, file-name est un paramètre de la fonction touch, et correspond au dossier à créer. Si nous voulons créer un fichier hello-world.txt, il faudra exécuter la commande suivante :

  touch hello-world.txt  

Il existe bien sûr de nombreux paramètres, selon la fonction utilisée.

Je vous recommande toutefois d'être prudents avec les commandes que vous allez utiliser. Dans cet article, nous nous sommes contentés de créer des fichiers. Le pire qu'il puisse arriver avec cette commande est de créer un dossier avec le mauvais nom… Mais si vous utilisez une commande permettant d'effacer un dossier, et que vous vous trompez dans le nom du dossier à supprimer… Vous aurez définitivement perdu un dossier important. Cela peut vous sembler évident dit comme cela, mais n'oubliez pas que le terminal est beaucoup moins instinctif qu'une interface graphique.

Si vous tentez de supprimer un dossier important avec une interface graphiques, comme le dossier System32 sur Windows, (Équivalent du dossier /System sur MacOS, ou /bin sur Linux) vous aurez une fenêtre qui va s'ouvrir en vous interdisant de supprimer ce dossier. Mais si vous faîtes la même chose avec le terminal, vous aurez un simple avertissement qui, une fois contourné, supprimera définitivement le fichier, quel que soit son importance !

Enfin, je dois vous préciser quelque chose d'important concernant ces commandes. Comme nous l'avons vu précédemment, le terminal s'utilise majoritairement dans un environnement serveur. Comme la plupart des serveurs fonctionnent sous Linux, ils utilisent le terminal Unix.

Je sais que la plupart d'entre vous utilisent Windows, et seront donc tentés d'apprendre les commandes du terminal MS-DOS. Mais si vous envisagez de travailler dans la gestion des serveurs, je vous encourage fortement à apprendre les commandes Unix.

Le terminal est un outil professionnel permettant d'effectuer manuellement de nombreuses tâches. Son utilisation, bien que complexe, est très répandu dans le monde professionnel, et je vous encourage à vous familliariser avec, notamment si vous souhaitez vous orienter dans l'administration ou la programmation des serveurs.

Écrit par Pythony le 29/12/2019.

Qu'avez-vous pensé de cet article ?

Prénom Date Message
Pythony Le 09/01/2020
À 01:33:29
Merci beaucoup ! Ravi que cela t'ai aidé.
Pseudo (Jean92) Le 08/01/2020
À 15:45:11
J'ai adoré cet article !

Autres Articles

Centrer Efficacement en CSS avec Flexbox

Centrer Efficacement en CSS avec Flexbox

Depuis l'apparition du CSS, le centrage d'un élément a toujours été un problème pour de nombreux développeurs. De nombreuses techniques ont vu le jour, mais aucune ne permettait de centrer horizontalement et verticalement de façon fiable. Heureusement, la propriété flexbox nous simplifie grandement la tâche, en nous permettant d'avoir un rendu optimal en quelques lignes

Lire "Centrer Efficacement en CSS avec Flexbox"
Hello World de Pythony

Hello World de Pythony

Lorsque l'on débute un nouveau langage de programmation, la tradition est de commencer par un programme affichant le message "Hello World !" à l'écran. Et c'est également par ce message que je tenais à commencer mon premier article sur ce blog. Au cours de ma vie, j'ai eu l'occasion de travailler sur de nombreux projets, et ce site est l'un d'entre eux. Depuis de longues années, je rêve de pouvoir vivre de ma passion, et je suis sur le point d'y parvenir

Lire "Hello World de Pythony"
Découvrez l'Architecture Model-View-Controller

Découvrez l'Architecture Model-View-Controller

Lorsque vous démarrez un nouveau projet, l'une des premières étapes est de déterminer l'architecture de votre application. Celle-ci définie la façon dont les différents fichiers de votre projet vont communiquer entre eux, depuis la requête de l'utilisateur, jusqu'à la génération d'une page HTML. Il existe en effet plusieurs méthodes pour concevoir un même site, et il est donc important d'y réflechir correctement avant de commencer un projet

Lire "Découvrez l'Architecture Model-View-Controller"