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.

Written by Pythony on the 12/29/2019.

What did you think of this article ?

Name Date Message
Pythony On 01/09/2020
At 01:33:29
Merci beaucoup ! Ravi que cela t'ai aidé.
Pseudo (Jean92) On 01/08/2020
At 03:45:11
J'ai adoré cet article !

Other Articles

Effectively Center in CSS with Flexbox

Effectively Center in CSS with Flexbox

Since the advent of CSS, centering an element has always been a problem for many developers. Many techniques were developed, but none of them allowed for reliable horizontal and vertical centering. Fortunately, the flexbox property greatly simplifies the task, allowing us to have an optimal rendering in a few lines

Read "Effectively Center in CSS with Flexbox"
Discover the Model-View-Controller Architecture

Discover the Model-View-Controller Architecture

When you start a new project, one of the first steps is to determine the architecture of your application. This defines how the different files in your project will communicate with each other, from the user request to the generation of an HTML page. There are indeed several methods to design the same site, and it is therefore important to think about it properly before starting a project

Read "Discover the Model-View-Controller Architecture"
Mastering the Terminal

Mastering the Terminal

Although not well known to the general public, the terminal is an essential element in the proper functioning of any operating system. Behind these lines, incomprehensible to most people, lies the precise operation of each action that your computer will be required to perform. From the simple creation of a file to the compilation of source code, the terminal hides many unsuspected resources

Read "Mastering the Terminal"