Dans ce tutoriel, vous allez apprendre les commandes de bases des environnements Linux, ces commandes sont à quelques détails près communes à toutes les distributions Linux ! A vous les portes pour Ubuntu, Debian, Raspbian, et bien d’autres !
Ce tutoriel s’effectuera sur l’OS Debian Buster, certaines commandes ne seront pas adaptés si vous n'êtes pas sur un environnement type Debian
Pour ouvrir le terminal cliquez sur “Activités” puis tapez dans la barre de recherche “terminal”
Le terminal s’ouvrira alors avec votre nom d’utilisateur et le nom de votre machine dans mon cas il s’agit de l’utilisateur “ilan” pour la machine “debian-ilan”
La commande ls (pour list) est une commande qui va vous permettre d’afficher le contenu d’un
répertoire, par défaut il s’agit de celui dans lequel vous êtes connectés mais cela peut-être un autre répertoire.
Cette commande possède la syntaxe suivante :
Les options ne sont pas nécessaires au fonctionnement de ls.
Pour lister les éléments présents dans le dossier dans lequel vous êtes, il vous suffit simplement
d’écrire “ls” dans votre terminal.
Comme vous pouvez le voir, comme je suis présent dans ~ (= mon dossier personnel d’utilisateur) j’ai Bureau, Documents, Images, etc…, attention particulière, si vous travaillez sur un environnement non graphique, il est possible de n'avoir aucuns dossiers présent dans votre répertoire de base ! (cf - Environnement non-graphique)
Vous pouvez également afficher le contenu d’un répertoire distant (un répertoire dans lequel vous n’êtes pas actuellement).
Par exemple, ci-dessous je veux afficher le contenu de /var, je vais donc utiliser la commande ls et spécifier /var
Comme spécifié précédemment, j’ai la possibilité d’utiliser des options. L’une des options les plus utilisées concernant ls est -l pour afficher au format “liste” et avec plus d’informations que normalement (ici j’ai les droits d’accès sur lesquels je reviendrais plus tard page x, le nom du propriétaire (ici ilan), la date de création du dossier/fichier, etc…
Je peux l’appliquer également aux répertoires distants.
Pour plus d’informations concernant ls allez lire le manuel
Avec la commande cd (= change directory) nous allons pouvoir nous déplacer à travers le système
(comme on le ferait normalement en cliquant sur les dossiers)
Cette commande possède la syntaxe suivante :
Comme précédemment les options ne sont absolument pas obligatoire par contre attention au nom
ou chemin du dossier.
Par exemple, par défaut le terminal me faisant apparaitre dans mon dossier personnel (visuellement ici : ~), pour me déplacer dans le dossier “Bureau” il faudra que j’utilise la commande suivante :
Comme vous pouvez le voir, j’étais précédemment dans ~ mais maintenant je suis dans ~/Bureau, ce qui signifie que je me suis bien déplacé dans le Bureau !
Attention, Linux est sensible à la casse. Ce qui signifie que si vous tapez le mauvais nom de dossier cela ne fonctionnera pas.
Ici par exemple j’essaie de me déplacer dans “bureau” au lieu de “Bureau”
Il me signale que le dossier “bureau” n’existe pas, c’est parce que j’ai oublié la majuscule à Bureau !
Je peux également “revenir en arrière” dans mon terminal, comme je le ferais normalement avec
une flèche vers l’arrière depuis une interface graphique, je vais devoir spécifier ici deux points (..) qui signale au système que vous souhaitez “revenir en arrière”
Comme vous pouvez le voir je suis revenu à mon répertoire ~
Maintenant que vous savez vous déplacer, dernier petit tips, lorsque vous vous déplacez sur le
système, si un jour vous souhaitez revenir à votre dossier personnel sans avoir besoin de le retaper manuellement (par exemple pour mon utilisateur ilan il s’agit de /home/ilan)
Vous pouvez taper directement “cd” sans rien dedans.
Prenons l'exemple suivant, je me déplace d'abord dans /var/log
Si je souhaite revenir dans mon répertoire de base, il me suffit de taper "cd" sans rien et je serais ramené dans mon dossier ~
J’étais bien précédement dans /var/log et en utilisant “cd” il m’a ramené dans mon dossier personnel ! (~)
Pour plus d’informations concernant cd allez lire le manuel
Pour créer un dossier, la commande est mkdir (= make directory)
Cette commande possède la syntaxe suivante :
Je me suis déplacé dans le Bureau et je vais essayé de créer un dossier “test”, pour cela je fais la commande suivante :
Après avoir fait mon “ls” je peux lister ce qu’il y a dans “Bureau” et on peut effectivement voir que le dossier “test” apparaît !
Il apparait même dans mon environnement graphique
Comme avec ls où je pouvais afficher un répertoire distant, ici je peux créer un dossier à distance !
Pour cela il suffit simplement de préciser le chemin complet. Par exemple, ici je veux créer un dossier “test” dans /tmp, pour cela je vais l’appeler /tmp/test (pour dire au système : dans le dossier tmp présent à la racine (/) je veux créer un dossier test)
Une fois la commande effectuée, si j'affiche le contenu de /tmp, le dossier “test” apparaît bien au milieu du contenu du dossier !
Il existe plusieurs moyens de supprimer des dossiers, l’un d’entre-eux est la commande rmdir, elle est assez limité mais c’est la commande qui par défaut permet de supprimer des dossiers (rmdir = remove directory)
Cette commande possède la syntaxe suivante :
Je supprime donc mon dossier "test"
Et en vérifiant sur mon Bureau on peut voir que le dossier a bel et bien disparu !
Attention cependant, il n’est pas possible de supprimer un dossier non vide avec rmdir, la preuve voici le message si je place un .txt dans le dossier test
Pour supprimer un dossier il existe aussi la commande rm (pour remove), seul détail sur cette
commande, c’est que nous sommes ici obligé d’utiliser l’option -r (pour recursive) afin de lui signaler que nous souhaitons supprimer un dossier.
Cette commande possède la syntaxe suivante :
Nous allons réessayer de supprimer le dossier "test" :
Comme vous pouvez le voir, le dossier a disparu !
ATTENTION, rm -r supprime également les sous-dossiers & fichiers, vérifiez bien que vous supprimez le bon dossier au risque de faire une bêtise !
Pour copier un dossier, il nous suffit d’utiliser la commande cp (pour copy)
Cette commande possède la syntaxe suivante :
Ici je me retrouve face à la même problématique qu’avec la commande “rm” de toute à l’heure, je
suis obligé d’avoir l’option -r (pour recursive) pour préciser au système que je souhaites copier un dossier.
Dans mon cas je copie le dossier “test” et donne comme nom à la copie “test2”
Comme vous le voyez, le dossier “test2” est bien apparu !
Pour copier un fichier, j’utilise la même commande que précédemment, cette fois-ci je ne précise juste pas l’option -r puisqu’il ne s’agit pas d’un dossier mais d’un fichier.
Ici par exemple je copie le fichier test.txt présent dans le dossier test et l’envoie dans le dossier test2 et lui change de nom pour le nommer test2.txt
Si je vais vous dans mon dossier test2, je devrais donc avoir le premier test.txt copié tout à l'heure avec le dossier complet + le nouveau fichier appelé "test2.txt"
Il apparaît alors bien dans mon dossier test2 !
Pour déplacer un fichier, je vais utiliser la commande “mv” (pour move).
Cette commande possède la syntaxe suivante :
Dans mon cas, j’ai supprimé le fichier test.txt du dossier test2.
Je souhaite maintenant déplacer le document étant dans le dossier test vers test2.
Pour cela j’utilise la même syntaxe que pour le “cp” mais cette fois-ci j’utilise mv
Le rendu est le suivant : Le fichier test.txt a bien disparu du dossier “test” et a été déplacé dans “test2”
Maintenant, je vais essayer de déplacer un dossier, j’utilise dans mon cas la même syntaxe que
précédemment mais cette fois-ci je souhaite déplacer le dossier “test” dans le dossier tmp présent à la racine.
Le dossier “test” a bien disparu du Bureau (à gauche) et est apparu dans le dossier tmp (à droite) !
ATTENTION, cette commande "fonctionne" comme un "couper coller" que vous ayez du contenu (fichiers/dossiers/etc..) dedans ou non il vous déplacera le dossier !
Pour renommer un dossier, j’utiliserais (encore) la commande mv ! Cette fois-ci la syntaxe est assez “simple” à comprendre, il vous suffit de renseigner comme “source” le nom actuel du dossier (ici pour moi test2) et de donner en “destination” le nom que vous souhaitez lui donner (ici test3 pour moi)
Le dossier “test3” apparaît bien et a remplacé “test2”
Sur les environnements Linux, comme n'importe quel OS, vous avez la possibilité d'archiver/décompresser des fichiers
Pour commencer nous allons créer une archive a partir d'un nouveau dossier, je vais l'appeler "archive1" et à l'intérieur je vais mettre un fichier "fichier_archive1.txt"
Pour archiver nous utiliserons la commande "tar" dont voici la synthaxe :
Prenons mon dossier "archive1" je peux l'archiver/compresser à différents formats : tar, gzip, bz2, xz.
Pour pouvoir utiliser une d'entre elle il faudra que j'ajoute une fonction à la commande tar, par exemple pour utiliser le format "tar" il faudra que j'utilise -c, si je souhaites utiliser un format "gzip" je devrais utiliser -z, etc...
Pour ma part je vais créer une archive appelée archive1.tar (au format tar donc), pour pouvoir expliquer à tar que je veux nommer l'archive d'un nom autre que celui du dossier actuel je dois utiliser la fonction -f (f pour "file")
Après cela faites un ls pour vérifier si l'archive a bien été créé
Super ! Vous avez créé votre première archive !
Pour décompresser, rien de plus simple ! On reprend la synthaxe de base mais cette fois-ci on y applique la fonction x (x pour eXtract) et si vous souhaitez déposer le contenu de l'archive dans un dossier particulier vous devez préciser la fonction -C (oui je sais C ne se traduit pas en "directory")
Une fois le contenu déposer je n'ai plus qu'à vérifier avec ls dans le dossier en question, par exemple dans mon cas j'ai déposé dans /tmp le contenu
Super ! Vous avez réussi à décompresser votre première archive !
Pour gérer les droits d’accès, j’utiliserais la commande “chmod” (pour change file mode).
Cette commande possède la syntaxe suivante :
Le “MODE_ou_OCTAL-MODE” dans la syntaxe correspond aux droit d’accès que l’on va fournir.
Pour cela en première étape, affichons les droits d’accès sur un dossier test créé sur le Bureau.
Ci-dessus, on retrouve drwxr-xr-x qui signifie si on le découpe :
d = directory
rwxr-xr-x = droits d’accès
Visuellement cela donne (test étant le dossier test) :
Les chiffres concernant les droits d’accès sont :
Les droits d’accès se gèrent selon les critères suivants : 4 = read, 2 = write, 1 = execute
Ce qui donne plusieurs combinaisons de droits les principales étant résumés ci-dessous :
Dans l’exemple plus haut, fournir 777 signifie : Le propriétaire, le groupe et tous les autres utilisateurs ont le droit de lire, écrire et exécuter sur le dossier test.
En rentrant la commande chmod 777 test puis en affichant les droits
Super ! Vous avez modifié les droits d'accès !
Comme vous pouvez le voir maintenant le dossier test possède rwx (read write & execute) pour le
propriétaire, rwx pour le groupe et rwx pour le reste des utilisateurs !
Enfin nous allons devenir administrateur de la machine ! Pour cela rien de plus simple, gardez les
commandes que nous avons déjà utilisées mais ajoutez “sudo” devant.
Par exemple :
Si j’essaie de faire la commande sudo mv sur mon terminal cependant, après avoir renseigné le mot de passe mon utilisateur “ilan” il me signale que je ne fais pas parti d’un fichier “sudoers” !!!
Ce fichier contient toute la configuration concernant les utilisateurs/groupes ayant le droit d’exécuter des commandes avec sudo ! Ce fichier est placé dans le répertoire /etc qui contient “tous” les fichiers de configuration de notre environnement Linux.
Pour pouvoir le modifier, il faut que je me connecte en tant que root, le seul utilisateur actuellement ayant les droits de modifier ce genre de document. Pour cela j'utilise la commande “su” et je renseigne le mot de passe “root”
Je vais ensuite aller éditer le fichier sudoers, j’utilise alors la commande "visudo" et je modifie sudoers
Une fois dans l’éditeur de texte, je vais ajouter ci-dessous mon texte à la ligne 21, ilan étant mon nom d’utilisateur. Une fois cette ligne ajouté, vous pouvez quitter en sauvegardant.
Je vais ensuite me déconnecter de la session root avec “exit"
Je reviens alors sur mon utilisateur ilan et réessaie de faire la commande "mv"
Super ! Vous avez le droit d'effectuer des commandes sudo !
Il me demande le mot de passe de ilan, puis la commande passe sans problème ! Pas de message d’erreur concernant le sudoers donc on est bon !
A partir de maintenant toutes les commandes suivantes s'effectuent avec sudo.
Je vais maintenant essayer de créer un utilisateur, petit soucis, si je souhaites utiliser la commande “adduser” pour créer des utilisateurs, si je ne suis pas "administrateur" (root) voici le message que j’aurais.
Un utilisateur lambda n’a pas le droit de créer des utilisateurs, cela parait logique. Pour que la commande fonctionne il faudra donc bel et bien utiliser “sudo” devant !
Cette commande “adduser” possède la syntaxe suivante :
Dans mon cas, je vais créer un utilisateur “toto”
Je renseigne un nouveau mot de passe, un “Full Name” (le nom qui sera affiché à l’écran quand on se connecte), etc… puis je valide en disant que Oui l’information est correcte (la lettre o)
Je vais ensuite vérifier que l’utilisateur existe bien (qu’il s’est bien créé) pour cela, je vais me connecter en utilisant “login”
Super ! Vous êtes bien connecté au compte toto !
Je suis bien connecté avec l’utilisateur “toto” !
Je peux me déconnecter ensuite avec la commande “logout” pour revenir à “ilan”
Je vais ensuite supprimer l’utilisateur, pour cela je vais utiliser la commande deluser, elle possède exactement la même syntaxe que adduser, il me suffit simplement de renseigner mon utilisateur “toto” créé précédemment et voici le résultat !
Super ! Vous avez supprimé toto !
En essayant de me reconnecter, le test de connexion incorrect (message login incorrect)
Je me reconnecte donc avec mon utilisateur “ilan” pour enchainer la suite !
Pour changer de propriétaire, la commande que j’utiliserais est “chown” (change owner
Cette commande possède la syntaxe suivante :
Il est obligatoire de fournir le nom d’utilisateur qui deviendra le nouveau propriétaire et le nom du fichier/dossier. Le groupe n’est pas obligatoire mais est très conseillé !
Dans mon cas, je vais changer le propriétaire du dossier “test2” en mettant que le propriétaire
s’appelle “toto”.
Actuellement le propriétaire est "ilan" faisant parti du groupe "ilan"
Je change le propriétaire en "toto" faisant parti du groupe "toto"
Maintenant le propriétaire est toto !
Pour installer des applications et les mettre à jour, nous utiliserons la commande “apt”
La commande possède la synthaxe suivante :
Nous utiliserons d’abord la commande apt update, cette commande vérifie les mises à jour disponible auprès du/des mirroir(s) par rapport aux applications qui sont installées
(par exemple : si j’ai l'application Firefox, il ira chercher si Firefox doit être mis à jour)
Ensuite je vais faire la commande apt upgrade, cette commande me permet de mettre à jour les paquets à mettre à jour trouvés sur le/les mirroir(s))
Enfin, si je souhaite installer une application, il faut que j’utilise la commande apt install, en précisant ensuite le nom du paquet que je souhaites installer !
Par exemple ici je souhaite installer VLC :
Il me demande de valider si je souhaite installer l'application ainsi que les paquets supplémentaires ou non. (Si je réponds non, il n'installera pas l'application)
L'installation se lance d'abord avec la réception des paquets
Puis avec le paramétrage de ceux-ci
Enfin je lance vlc depuis le terminal et il apparaitra automatiquement sur votre interface graphique !
Il existe une autre solution que "apt" pour installer des applications. Prenons un exemple, je vais essayer d'installer google chrome en passant par mon terminal, "google-chrome" n'existant pas j'aurais un message me signalant que le paquet n'existe pas.
Dans ce cas-ci, “google-chrome” ne fait pas parti des paquets présents sur les miroirs Linux
Pour installer google chrome, il va falloir passer par une autre commande que le “apt”
D’abord, allons sur google pour télécharger google chrome (comme on le ferait sur n’importe quelle machine)
J’enregistre le fichier pour qu’il s’enregistre dans “Téléchargement”
Je retourne sur mon terminal pour vérifier sa présence.
J’utilise la commande “dpkg” (pour dépackager) le contenu de l’archive google-chrome-stable_current_adm64.deb que j’ai téléchargé plus tôt.
Cette commande possède la syntaxe suivante :
J'exécute la commande avec le nom de mon .deb
Dans mon cas, il m’a signalé que des problèmes de dépendances m’ont empêché de configurer google-chrome.
Je vais donc installer le paquet “fonts-liberation” pour régler le soucis
Je réexécute la commande dpkg pour installer chrome (cette fois-ci sans problèmes vu que les dépendances sont installés)
Je vérifie maintenant que google chrome est bien présent dans la barre de recherche de l’onglet “Activités” de l’OS
Vous connaissez maintenant les commandes de base sur les environnements Linux.
Vous pouvez aller plus loin, si vous le souhaitez, n’hésitez pas à me contacter dans ce cas ou à vous renseigner sur les autres tutos présents sur mon wiki ou directement sur Google !
Si vous souhaitez avoir plus d’informations ou si vous avez découvert une coquille sur ce tutoriel, merci de me contacter à l’adresse i.martel@imweb.ovh