Découvrir Linux épisode 3, la version texte !

Bonjour les geeks. Aujourd’hui c’est le troisième épisode de découvrir GNU/Linux. Vu que c’est l’épisode 3, je vous invite à regarder les épisodes précédents pour bien comprendre celui ci. Je vais mettre les liens dans la description et ici sous la forme d’une fiche si vous souhaitez y accéder.


Alors, c’est parti, on sait maintenant ce qu’est le terminal. Il ne nous reste plus qu’à taper des commandes ! Et pour taper les commandes, c’est quand même mieux si on sait comment le shell va comprendre nos commandes. Donc on commence par le début, avec deux commandes qui vont me servir. La commande ps et la commande ls.

— Ah oui, ps tu l’as utilisé l’autre jour quand tu parlais du terminal !

Oui c’est bien celle là. Et tu te souviens de ce qu’elle fait ?

— Elle affiche les programmes qui tournent dans le terminal, c’est ça ?

Oui c’est presque ça. Si je précise, je dirais qu’elle affiche les processus, c’est ce que tu as appelé programmes, qui sont en fonctionnement dans le terminal, et qui sont associés à mon utilisateur.  D’ailleurs, le nom ps vient de process ou processus.

— Ah ok, c’est plus facile pour s’en souvenir alors. Et ls ?

Oui c’est plus simple quand on sait ce que la commande veut dire ! Et ls, elle veut dire list and sort, ce qui en anglais signifie affiche et trie.

— Ah oui, c’est une commande qui fait un tri ?

Hum, non, pas tout à fait. Enfin si, mais c’est surtout lié à l’affichage. La commande ls, elle a pour rôle d’afficher les fichiers et les répertoires qui sont là où tu te trouves. Et par défaut, elle les affiche dans l’ordre alphabétique. D’où le tri, alphabétique en général

— Là où je me trouve ? Tu veux dire quoi par là ? Parce là où je me trouve, c’est sur une chaise, enfin je comprends pas ce que tu veux dire par là…

Oh pardon, oui c’était pas clair. Pour l’instant, car ça mérite une vidéo à part entière, et là ça serait bien qu’on commence à manipuler, mais pour l’instant je te propose d’accepter le fait que quand on est dans un programme, on est aussi dans un répertoire. D’ailleurs, c’est ce qu’on appelle le répertoire courant.

— Ok, donc si je comprends bien, ls va afficher les fichiers d’un répertoire qui s’appelle le répertoire courant.

Oui c’est ça. Mais je vais surtout me servir de ces deux commandes pour qu’on comprenne comment on entre des commandes en général ! Alors je vais commencer par ps

Si je tape juste ps suivit de entrée, il y a un programme qui est lancé et qui affiche la liste des processus.

— Oui enfin là rien de nouveau.

Non, mais j’ai une question pour toi. À ton avis, ps, c’est quoi ?

— Ben une commande…

Oui, mais une commande c’est quoi ?

— Heu. Je sais pas. Un truc. Enfin, un truc qui dit à l’ordinateur quoi faire ?

Oui et ce truc c’est … un fichier !

— Un fichier ? C’est pas une commande ?

C’est les deux ! Une commande, dans la très grande majorité des cas, c’est un fichier qui est quelque-part sur le disque dur. Et quand je tape ps, mon shell va rechercher et trouver ce fichier, puis il va l’exécuter. Et ls, c’est pareil !

— C’est un fichier aussi ?

Oui c’est un fichier. Et justement si je te montre ls, je tape ls et entrée, et hop,  j’ai les fichiers du répertoire courant qui apparaissent. Mais ! Si je tape ls espace /bin/ls il m’affiche le nom du fichier qui s’appelle ls et qui est dans le répertoire /bin. Et même si je veux des détails sur le fichier je tape, ls espace -l espace /bin/ls. C’est donc bien un fichier, et je peux le voir de cette façon.

— Et si tu fais ls -l /bin/ps ?

Ben regarde je le fais et y’a un fichier qui existe aussi et qui s’appelle ps. Pour que tu vois que ça ne fait pas ça avec n’importe quoi, si je fais ls -l /bin/toto il affiche une erreur…

— Ok ok. Alors chaque truc qu’on tape, c’est un fichier dans le répertoire /bin ?

Alors c’est un fichier à chaque fois ou presque oui. Mais il y a plusieurs endroits, enfin, plusieurs répertoires qui contiennent ces fichiers. Mais on en reparlera.

— Heu je viens d’essayer, et ça marche pas chez moi !

//

ls-l /bin/ls

//

Ah mais c’est parce que tu n’as pas mis l’espace au bon endroit ! Et c’est justement un des points important que je voudrais montrer aujourd’hui !

— Quoi, que j’y arrive pas ?

Héhé, non non, pas ça, c’est normal que tu n’y arrives pas au début, car tu découvres ! Non ce que je veux montrer c’est que la commande c’est un fichier. Et le shell, quand on lui tape quelquechose, il va découper ce qu’on a tapé en éléments indépendants. Et pour savoir comment le découper, il va utiliser l’espace comme marqueur du découpage.

Donc, si tu tapes ls-l sans espace, il voit que c’est le premier élément de la ligne, et pour lui, le premier élément de la ligne, c’est toujours la commande. Donc il cherche un fichier dont le nom est ls-l. Et forcément il ne le trouve pas.

Par contre, si tu écris ls espace qqchose, il va séparer ls et qqchose. Ls c’est le premier élément de la ligne donc c’est la commande. Le shell va alors chercher et exécuter le fichier ls. Ce qui crée le processus ls dans la mémoire de l’ordinateur. Maintenant que le processus existe dans la mémoire de l’ordinateur, le processus va alors regarder les autres éléments de la ligne et les traiter.

— Donc en fait, le shell ne regarde que le premier élément de la ligne il se moque du reste !

Pour l’instant on va dire que oui, il fait ça comme ça, car il y a les méta caractères du shell qui vont intervenir, mais c’est aussi pour une autre vidéo.

Par contre je vais m’intéresser à ce  qu’on peut écrire après, car y’a deux famille de choses qu’on peut écrire.

Et elles apparaissent quand j’ai écrit ls /bin/ls et ls -l /bin/ls

— Dans un cas y’a deux éléments et dans l’autre y’en a trois déjà !

Oui, et à part le nom de la commande, qui est donc un fichier comme on l’a vu, les autres, donc le deuxième et éventuellement le troisième éléments, c’est ce qu’on appelle les arguments de la commande. C’est juste un mot, mais on le trouve souvent dans les documentations, les bouquins, etc, donc c’est bien de le savoir.

— C’est tout ce qui est après la commande alors

Oui, c’est tout ce qui suit la commande. Et dans ces arguments, j’ai des options qui sont particulières. Dans mon exemple, c’est le -l. Une option commence en général par un tiret. Et là on dit que c’est l’option l. En général les options sont composées d’un seul caractère. Pour ls j’ai aussi -a par exemple, ou -t.

Le -a va afficher tous les fichiers, y compris les fichiers cachés, et le -t va afficher les fichiers modifiés récemment en premier au lieu de les afficher par ordre alphabétique.

— Et quand tu veux en mettre plusieurs, tu fais comment ? Ls -l -a -t ?

Oui par exemple. Mais tu dois savoir qu’un bon informaticien est un flemmard. Et là ça fait beaucoup de choses à écrire. Alors qu’on soit clair, écrire ls -l -a -t marche très bien et est totalement correct. Mais on peut aussi écrire ls -lat. C’est complètement équivalent, la commande voit qu’il s’agit d’une option car ça commence par un tiret, puis comme chaque option est composée d’un seul caractère, ben ça fait l’option l, l’option a et l’option t ! Et d’ailleurs, l’ordre de ces options n’a pas grande importance, en tous cas pour celles là. Et je peux écrire ls -lat ou ls -tal ou ls -alt etc.

En plus, pour certaines options, on a également une option dite longue qui est composée de deux tirets suivis d’un mot. Alors, pour -l, ben y’a pas ! Mais pour -a il y a et c’est équivalent à dire --all. Je peux donc écrire ls -lt --all, ça fera la même chose que précédemment. Je sais pas pourquoi tu ferais ça, mais on peut !

Alors je crois que ça fait pas mal pour aujourd’hui, et que tu comprends mieux comment on tape une commande.

Voilà pour cette semaine ! Si la vidéo vous a plu, vous pouvez aider la chaîne en partageant la vidéo sur vos réseaux préférés, vous pouvez aussi mettre un pouce bleu et vous abonner si c’est pas déjà fait….

Et moi, je vous dis juste à la semaine prochaine pour une nouvelle vidéo !

Ciao les geeks !!