Des commandes élémentaires sous Linux

Publié le par La vie multilingue du verbe

Voici quelques commandes à entrer dans le Terminal sous Linux ou Mac OS, et que nous serons amenés à utiliser tout au long de notre projet, et même après.

 

man : cette commande affiche le manuel d'utilisation de la commande entrée en argument.

Exemple : si je tape man ls, et que je presse la touche Entrée, le Terminal va afficher la description de la fonction ls, ainsi que toutes ses options possibles (précédées d'un tiret ou de deux tirets si on entre leur version longue) et leur description (cf. image ci-dessous).

 commandeMan

(Résultat de la commande man ls dans le Terminal)

mkdir : cette commande (abréviation de "make directory" soit "créer dossier") permet, comme son nom l'indique, de créer un dossier. L'argument entré sera le nom du dossier créé, et son chemin si on le crée dans un répertoire autre que le répertoire courant :

Exemple :

mkdir

Je me trouve dans le dossier personnel (vérification avec pwd) et j'affiche avec ls la liste des fichers et dossiers qui s'y trouvent. Puis je créer le dossier "riverrun" en tapant la commande mkdir riverrun. Je vérifie que le dossier a bien été créé en utilisant à nouveau ls.

Autre exemple :

mkdirchemin

Je me trouve toujours dans le dossier personnel, mais je décide cette fois de créer le dossier "lannister" à l'intérieur du dossier "winterfell". Sans me déplacer dans ce dernier, je tape mkdir ./winterfell/lannister. ("créer le dossier "lannister" dans le dossier "winterfell", lui-même contenu dans le répertoire courant"). Je peux ensuite constater la création du dossier en affichant le contenu du dossier "winterfell" : ls ./winterfell

Le Terminal affiche bien le dossier "lannister", qui n'était pas présent la première fois que j'ai affiché le contenu du dossier.

touch : cette commande permet de créer un fichier portant le nom de votre choix, dans le répertoire de votre choix (pourvu que le système vous en laisse le droit).

Exemple :

touch.png

Dans mon dossier personnel, je crée le fichier "drogo.txt" en tapant simplement touch drogo.txt. L'argument a servi de nom au nouveau fichier. De même, sans me déplacer dans l'arborescence, j'ai pu créer le fichier "robert.txt" dans le sous-répertoire "winterfell" en tapant comme argument le chemin relatif du nouveau fichier et son nom (soit ./winterfell/robert.txt, ou touch ./winterfell/robert.txt pour la commande complète). On vérifie le résultat avec ls

 

echo : cette commande permet d'afficher du texte, qui sera entré en argument de la commande. Il est possible d'encadrer le texte avec des guillemets ou non. La console affichera le texte après avoir appuyé sur la touche Entrée.

Exemple : 

echo.png

(source : épigramme de Voltaire contre le journaliste Jean Fréron)


cp : abréviation de "copy", cette commande permet de copier un fichier (l'opération conserve le fichier original). Il est possible de faire une copie d'un fichier dans le même répertoire (à condition d'indiquer un nom différent) ou de copier un fichier sous le même nom, dans un répertoire différent.

Exemple :

cp2.png

Dans mon dossier personnel se trouve le fichier drogo.txt. J'essaie de le copier sous le même nom, dans le même dossier, mais le Terminal refuse ("cp: "drogo.txt" et "drogo.txt" identifient le même fichier"). Je peux toutefois copier "drogo.txt" dans ce dossier, en donnant au fichier créer un nom différent, ici drogo2.txt (à entrer en argument de la commande), comme l'indique l'image ci-dessus. De même, je peux copier drogo.txt dans un dossier différent (mais je peux cette fois garder le même nom s'il n'existe pas déjà un autre fichier drogo.txt dans cet autre dossier). Dans mon exemple, j'ai copié drogo.txt dans le sous-dossier /winterfell du dossier personnel.

mv : abréviation de "move", cette commande permet de déplacer un fichier (mais il détruit le fichier original au passage).

Exemple :

mv.png

En affichant le contenu du dossier personnel, je vois un fichier nommé "tyrion.txt". Ensuite, j'affiche le contenu du sous-dossier "winterfell", et la console me dit qu'il ne contient que les deux dossier "lannister" et "stark".

Je cherche à déplacer "tyrion.txt" du dossier personnel au sous-dossier "winterfell". Je tape donc la commande mv tyrion.txt ./winterfell/tyrion.txt. mv est le nom de la commande, tyrion.txt est le fichier à déplacer et./winterfell/tyrion.txt est le chemin dans lequel se trouver le fichier déplacé.

Cas particulier :

mvren.png

Il n'est pas obligatoire de déplacer un fichier en lui donnant le même nom, c'est pourquoi on peut utiliser la commande mv pour renommer des fichiers, sans même les déplacer. Dans l'exemple ci-dessus, on a encore le fichier tyrion.txt dans le dossier personnel. Pour le renommer, il suffit d'entrer comme premier argument le nom du fichier, puis en second argument le nom qu'on voudrait lui donner (ici, j'ai choisi de le nommer tyrion2.txt). 

 

rm : abréviation de "remove", cette commande permet de supprimer un fichier dont on écrira le nom (s'il se trouve dans le dossier courant) ou le chemin (s'il se trouve ailleurs).

Exemple :

rm-copie-1.png

Je me situe dans mon dossier personnel. On y trouve le fichier tyrion2.txt, et en affichant le contenu du sous-dossier "winterfell", j'y trouve le fichier "tyrion.txt". Sans changer de dossier, je peux aussi bien supprimer tyrion2.txt (rm tyrion2.txt, le nom du fichier suffit comme argument) que le fichier tyrion.txt situé dans le sous-dossier "winterfell" (rm ./winterfell/tyrion.txt, on entre cette fois le chemin du fichier comme argument). A chaque fois, on constatera la disparition des fichiers susnommés en utilisant la commande ls.

rmdir : abréviation de "remove directory", cette commande permet de supprimer un dossier, à condition que celui-ci soit vide. On entrera le nom du dossier en argument, si celui-ci se trouve dans le dossier courant. On entrera son chemin si le dossier à supprimer se trouve ailleurs.

Exemple :

rmdir3.png

Je me trouve dans le dossier personnel, dont j'affiche le contenu. J'affiche ensuite le contenu du sous-dossier "winterfell", qui contient lui-même les dossiers "lannister" et "stark". Je tente de supprimer le dossier "stark" avec la commande rmdir ./winterfell/stark/ mais la console refuse car ce dossier n'est pas vide. Je vérifie que c'est le cas avec la commande ls, et la console me le confirme : le dossier "stark" contenait le fichier "bran.txt".

J'essaie donc de supprimer l'autre dossier, "lannister". ls m'indique que ce dossier ne contient ni fichier, ni sous-dossier. Je tente donc un rmdir. Aucun message d'erreur, je vérifie donc le résultat en affichant le contenu du dossier "winterfell". Il n'y a plus que "stark", ce qui signifie que le dossier "lannister" a bien été supprimé.

 

 

N'oublions pas de mentionner quelques références spéciales, qui nous seront vitales quand il s'agira de se déplacer dans l'arborescence :

~ (caractère tilde) : ce caractère est synonyme du dossier personnel. Au lieu d'entrer cd /home/thomas, je peux tout simplement entrer cd ~.

Exemple :

      tilde.png

Je me place dans le dossier /usr/bin puis je me déplace vers mon dossier personnel en entrant le chemin en toutes lettres. Je recommence, mais en tapant cette fois ~ au lieu de /home/thomasÀ chaque fois, je vérifie où je me trouve avec la commande pwd. On s'aperçoit que le résultat est le même.

./ : ceci désigne le répertoire courant. C'est celui où je me trouve.

Exemple : 

dossiercourant.png

Je me trouve d'abord dans le dossier personnel, puis j'essaie de changer de dossier avec la commande cd, à laquelle j'ajoute ./ comme argument. En utilisant la commande pwd, je m'aperçois que je n'ai pas bougé. C'est normal, car j'ai donné le dossier courant comme argument.

../ : cette fois, il s'agit du dossier parent, celui qui contient le dossier où je me trouve. Se déplacer dans le dossier parent, c'est remonter dans l'arborescence. Cette référence spéciale, tout comme ./ est utile quand il s'agit de se déplacer ou de déplacer des fichiers au moyen de références relatives.

Exemple :

dossierparent-copie-1

Je me trouve d'abord dans mon dossier personnel (/home/thomas), puis j'en affiche le contenu avec la commande ls. Je me déplace dans le sous-dossier "winterfell" puis j'en affiche également le contenu, ce qui m'affiche le sous-sous-dossier "stark". Je m'y déplace et j'en affiche le contenu, ce qui me donne l'unique fichier "bran.txt".

Ensuite, je déplace ce fichier vers le dossier personnel à l'aide de la commande cp et en entrant "bran.txt" comme source. En guise de répertoire d'arrivée, je tape ../../ (ce qui fait remontrer le fichier de deux répertoires successifs). J'aurais pu tout aussi bien mettre /home/thomas (c'est le chemin absolu) ou écrire toute la commande sous la forme cp bran.txt ~ dans ce cas précis.

Enfin, je vérifie que le fichier a bien été copié, en me déplaçant dans le dossier personnel (avec la commande cd ../../, mais j'aurais pu entrer tout simplement cd ~ ou même cd tout court), en faisant un pwd au passage, avant de lister le contenu du dossier avec la commande ls. Dans l'image qui précède, on voit que bran.txt est maintenant bel et bien présent dans le dossier personnel.

Pour être informé des derniers articles, inscrivez vous :
Commenter cet article
Z
Moi ce que j'aime -- merci pour ce petit cours bien fait !-- c'est la référence à Game of Thrones
Répondre