Shell : La commande simple

Bonjour à tous. :)

Grâce à ce tuto, vous n'aurez plus peur d'utiliser la console ! Cette fameuse fenêtre noire avec des petites lignes blanches, que les producteurs de films affectionnent dès qu'il est question de "piratage" dans leurs navets. Je ne ferai pas de vous des "hackers", mais au moins, vous aurez de meilleurs bases en informatiques. Vous découvrirez qu'avoir des rudiments de console permet aussi d'avoir une meilleur approche de la machine, plus consciencieuse.

L'invite de commande

Bon : une fois démarré, un ordinateur ne fait plus rien : il glandouille joyeusement en attendant une instruction de l'utilisateur. Comme dans une console on ne dialogue que par le texte : alors l'ordinateur va d'abord afficher une invite de commande. Celle ci vous invite à... entrer une commande ! Quel scoop !
Et à chaque fois que la console va terminer un processus : elle affichera cette invite et ce mettra en attente d'une nouvelle commande.
Votre invite ressemblera peu ou prou à celle ci :

robert @ monpc ~ $

Dont la structure est en fait très simple :

utilisateur.connecté  @  nom.du.pc  dossier.courant  invite

Comme vous vous êtes déjà identifié en ouvrant la session graphique : vous n'avez pas besoin de vous identifier une seconde fois dans la console.
Ce symbole ~, appelé tild, sert d'alias pour désigner le dossier personnel de l'utilisateur connecté. Ici : /home/robert

IMPORTANT !
Le système est fait pour que le dossier courant ne soit jamais vide.
Dans la console, vous serez toujours "quelque part" : il est impossible d'être "nul part".
Et par défaut : vous êtes dans votre dossier personnel.

Il est tout à fait possible de changer d'endroit avec des commendes que vous verrez au chapitre suivant.

La commande simple

Maintenant vous allez passer une première commande.
Tapez ls (pour "list" en anglais), puis appuyez sur entrée.

robert @ monpc ~ $ ls
Bureau Documents Images Musiques Vidéos Téléchargements

Et vous obtenez une liste des fichiers et dossiers du répertoire courant.
Par défaut donc : le contenu de votre dossier personnel.

IMPORTANT !
En shell : les éléments de commandes sont séparés par un espace.
Si vous souhaitez utiliser des espaces comme caractères : vous devrez "concaténer" la chaîne de caractères.
ex : "Mon super fichier avec pleins d'espace.doc"
Il est possible d'utiliser des guillemets dans une concaténation : en échappant le caractère à l'aide de l'anti-slash \.
ex : "Les \"sosies\" de johnny.avi"

Note : la concaténation marche aussi et de la même façon avec des guillemets simples.

Vous pouvez en demander plus aux commendes.
Et si on demandait à celle ci d'organiser un peu le résultat de la cherche ?

Nous allons ajouter des arguments pour préciser la requête, séparé par un espace, bien entendu.
Ajoutons -l (liste), pour formater l'affichage sous forme d'une liste.

robert @ monpc ~ $ ls -l
drwxr-xr-x 2  robert robert  4096  janv.  22  06:08  Bureau 
drwxr-xr-x 28 robert robert  12288 janv.  14  02:50  Documents 
drwxr-xr-x 44 robert robert  4096  janv.  23  05:03  Images 
drwxr-xr-x 19 robert robert  20480 nov.    6  01:35  Musique 
drwxr-xr-x 3  robert robert  4096  janv.  23  02:11  Téléchargements 
drwxr-xr-x 38 robert robert  12288 janv.  15  23:46  Vidéos

Pas de panique : nous aborderons l'aspect technique du système de fichier dans un prochain chapitre.
Retenez pour l'instant qu'en ajoutant un seule argument, on peut déjà utiliser des options des commendes.7

Tenez : ajoutons un deuxième argument : allons farfouiller dans le dossier Musique/ par exemple.
Ajoutons aussi l'argument -h pour formater l'affichage du poids des fichiers : 8o (8 octets), 12,6k (12,6 Kilo octet) , etc..

robert @ monpc ~ $ ls -lh Musique/
-rwxrwxrwx 1 adrien adrien   3,8M mars  27  2014 Talk-Talk - Such a shame.ogg
-rwxrwxrwx 1 adrien adrien   3,7M déc.  26  2013 The Beatles - Let it be.ogg
-rwxrwxrwx 1 adrien adrien   4,9M nov.  20  2015 The Cranberries - Zombie.ogg

Et là, le programme liste les pistes audios (fichiers .ogg) du dossier Musique/.
Notez que les arguments en lettre simple : -l -h ou -a, peuvent parfois se contracter en -lha.

Echo (et Narcisse )

La commande "echo" sert à afficher quelque chose. Elles existe dans de nombreux langages de programmation.
Vous pouvez afficher nawak sur la sortie définie comme standard, ça affichera tant qu'il y aura quelque chose à afficher.

robert @ monpc ~ $ echo "Coucou je suis là."  
Coucou je suis là.

La variable

Une variable c'est - pour faire simple - une boite avec un nom, et qui parfois contiennent un objet.
Elles sont stockées sur la fameuse RAM (la mémoire vive) de l'ordinateur.

Il est possible de créer des variables d'une façon totalement arbitraire, juste pour le fun.

robert @ monpc ~ $ masupervariable="Coucou je suis là."
robert @ monpc ~ $ echo $masupervariable 
Coucou je suis là.

C'est pratique, hein ? Vous pouvez lui donner (presque) n'importe quel nom et lui assigner le contenu que vous voulez.
Et si vous ne voyez pas encore l'utilité des variables : je vous garanti que vous allez vite le découvrir.

Chapitre suivant : la navigation dans le système de fichiers