Une fois que la procédure d'installation est terminée, vous arrivez à l'invite de connexion :
Pour vous connecter, vous avez le choix entre :
Vous connecter en tant que root : tapez root, appuyez sur Entrée, ensuite tapez le mot de passe root que vous avez défini pendant la procédure d'installation et appuyez sur Entrée. Vous voyez alors apparaître un certain nombre de messages et enfin le prompt du root :
Quand vous êtes ainsi connecté en tant que root, vous avez tous les droits sur le système.
Vous connecter en tant que simple utilisateur : tapez le nom d'utilisateur que vous avez défini pendant la procédure d'installation, appuyez sur Entrée, ensuite tapez le mot de passe associé à cet utilisateur et appuyez sur Entrée. Vous voyez alors apparaître un certain nombre de messages et enfin le prompt de l'utilisateur :
Quand vous êtes ainsi connecté en tant que simple utilisateur, vous n'avez que des droits limités sur le système.
Attention | |
---|---|
Rappel : l'utilisation du compte root est réservée à la modification de la configuration du système, à l'installation de paquets et aux rares tâches qui nécessitent les droits de root. Pour toutes les autres tâches, il faut utiliser un compte utilisateur. En effet, l'utilisation du compte root est dangereuse : une fausse manipulation peut détruire le système, ce qui est impossible en tant que simple utilisateur ! |
Dans toute la suite de cette formation, nous adopterons la convention suivante :
les commandes qui devront être exécutées en tant
que root auront un prompt
#
:
#
commande_à_exécuter
les commandes qui devront être exécutées en tant
que simple utilisateur auront un prompt
%
ou $
:
%
commande_à_exécuter
Vous n'avez peut-être pas encore remarqué, mais vous disposez de plusieurs consoles. Au démarrage, vous arrivez sur la première console, appelée tty1 (teletypewriter). Vous pouvez passer à la deuxième console (appelée tty2) avec la combinaison de touches Alt+F2. Pour revenir à la première console, utilisez la combinaison de touches Alt+F1. Vous pouvez aussi utiliser Alt+Flèche gauche et Alt+Flèche droite (ou les touches fenêtre) pour passer d'une console voisine à l'autre. Par défaut, il y a 6 consoles.
Pour vous déconnecter, et retourner à l'invite de connexion, vous pouvez saisir la commande logout puis valider avec Entrée, ou bien utiliser la combinaison de touches Ctrl+d.
Avertissement | |
---|---|
Je présente certaines notions de façon volontairement inexacte, pour les rendre plus simple à appréhender. Après avoir pris connaissance avec l'interpréteur de commandes (le shell), je vous conseille de prendre le temps de lire un guide plus complet, comme celui d'Isabelle Vollant. Vous y trouverez probablement des différences avec ce que j'écris : dans ce cas, fiez-vous à ce guide plutôt qu'à mon texte ! |
Lorsque vous utilisez un shell, chaque ligne que vous tapez est une commande, qui invoque un logiciel ou une commande interne du shell. Ces commandes peuvent accepter des arguments, qui sont alors séparés par des espaces. Ainsi, pour invoquer la commande cp avec deux arguments, on tape :
$
cp /usr/share/doc/bash/copyright copyright2
Par ailleurs, certaines commandes acceptent également des options, qui sont en général données comme premiers arguments, et précédées par des tirets. Voici par exemple une commande ln avec une option -s et deux arguments :
$
ln -s /usr/share/doc/bash/copyright copyright2
Astuce | |
---|---|
À partir de maintenant, je vous invite à essayer chaque commande au fur et à mesure que je vous les présenterai : j'ai fait en sorte qu'elles puissent s'enchaîner. |
Toutes vos commandes sont exécutées dans le répertoire
courant. Ce répertoire est indiqué dans le prompt : dans
l'exemple suivant, la commande ls va travailler sur
le répertoire /usr/share
:
formation@debian:/usr/share$
ls
Lorsque vous commencez à utiliser un shell, après vous être connecté, le
répertoire courant est fixé à votre répertoire personnel,
/home/<utilisateur>
, qui est abrégé par le
symbole ~
. Vous pouvez changer de répertoire avec la
commande cd (change directory).
Avec un argument, elle vous envoie dans le répertoire donné ; sans
argument, elle vous ramène à votre répertoire personnel :
formation@debian:~$
cd /usr/share
formation@debian:/usr/share$
cd
formation@debian:~$
Lorsque vous souhaitez agir sur un fichier, vous devez indiquer l'endroit où il se trouve — son chemin — à la commande que vous utilisez pour cela. Il y a trois façons de désigner un fichier :
en indiquant son chemin complet, en commençant par la
racine /
, par exemple :
/usr/share/doc/bash/copyright
;
en indiquant son chemin par rapport au répertoire
courant, sans commencer par une
/
, par exemple
doc/bash/copyright
, si je me situe dans
le répertoire
/usr/share/
;
en indiquant son chemin à partir de votre répertoire
personnel, abrégé par le caractère ~
, par
exemple :
~/.bash_history
Par ailleurs, vous pouvez remonter d'un niveau dans
un chemin, en utilisant le répertoire spécial ..
, que
l'on appelle répertoire parent. Ainsi, quand vous êtes
dans votre répertoire personnel, vous pouvez passer dans le répertoire
/home/
, puis dans /
, puis retourner
dans votre répertoire personnel ainsi :
~$
cd ..
/home$
cd ..
/$ cd
~$
Enfin, vous pouvez désigner le répertoire courant en utilisant le
répertoire spécial .
:
~$
cd .
~$
(on change… vers le répertoire courant)
Note | |
---|---|
Lorsque vous écrivez le chemin d'un fichier, les sous-répertoire
composant ce chemin doivent être séparés par des barres obliques
|
Vous pouvez créer un nouveau répertoire en utilisant la commande mkdir (make directory), et en précisant le chemin (absolu, relatif, ou relatif à votre répertoire personnel) du répertoire que vous voulez créer. Ainsi, ces quatre commandes sont équivalentes (la dernière est un exemple d'utilisation d'un répertoire parent) :
~$
mkdir test
~$
mkdir /home/formation/test
~$
mkdir ~/test
~$
mkdir ../formation/test
Enfin, vous pouvez effacer un répertoire avec la commande rmdir (remove directory) :
~$
mkdir test2
~$
rmdir test2
Voici quelques commandes indispensables, à essayer et à apprendre :
copie un fichier vers un répertoire, en changeant éventuellement son nom :
$
cp /usr/share/doc/bash/copyright .
$
cp /usr/share/doc/bash/copyright copyright2
déplace un fichier vers un répertoire, en changeant éventuellement son nom :
$
mv copyright test/
$
mv copyright2 test/copyright3
supprime un fichier :
$
rm test/copyright3
affiche le nom d'un fichier, le contenu d'un répertoire, ou du répertoire courant :
$
ls
test
$
ls test
copyright
$
ls test/copyright
test/copyright
affiche le contenu d'un ou plusieurs fichiers (les uns à la suite des autres, sans séparation, dans ce cas) :
$
cat test/copyright
[la licence de Bash]
$
cat test/copyright test/copyright
[la licence de Bash en deux exemplaires]
affiche le contenu d'un long fichier, avec la possibilité de naviguer dedans (avec la touche Espace, les flèches, et la touche q pour quitter).
Nous avons déjà commencé à peupler votre répertoire personnel de fichiers sans intérêt… Il est temps de faire le ménage. Pour cela, nous allons utiliser une option spéciale de la commande rm : -rf, un raccourci pour -r -f, qui permet d'effacer un répertoire :
en descendant dans le répertoire et tous ses sous-répertoires éventuels pour les effacer avant,
en forçant l'effacement sans demander de confirmation à chaque fois.
Dans notre cas, nous avons un répertoire test/
à effacer :
$
rm -rf test
Si vous ne deviez retenir que deux commandes : apropos et man.
Cette commande permet... de chercher une commande, à partir d'un mot-clef ! Ainsi, si vous cherchez comment naviguer sur le Web :
%
apropos web
w3m (1) - a text based Web browser and pager
Cette commande permet d'afficher le manuel de n'importe quel commande, fichier de configuration, fonction C… installé sur votre système. Pour afficher le manuel de w3m que nous avons découvert grâce à la commande apropos :
%
man w3m
Voici quelques commandes qui vous seront certainement utiles un jour ou l'autre : ln, find, grep, chmod, chown et chgrp.
Elles ne vous seront pas utiles tout de suite : pour les découvrir, je vous renvoie à leurs manuels respectifs (man ln, man find…) et au site d'Isabelle Vollant, qui les décrit de façon très pratique.
Une première explication de l'utilisation de cette commande a déjà été donnée dans la section Intégration d'un système de fichiers (montage) de la première partie de cette formation. Elle sert à intégrer un système de fichiers dans un autre. Elle doit être exécutée en tant que root. Sa syntaxe habituelle est :
#
mount -o options /dev/periphérique /mnt
à condition que le type de système de fichiers soit supporté par le noyau
et que le répertoire /mnt
existe déjà.
Pour démonter ce système de fichiers, il suffit de taper en root :
#
umount /mnt
Par contre, n'importe quel utilisateur peut taper la commande mount tout court pour savoir quels sont les systèmes de fichiers montés à l'instant d'exécution de la commande.
Cette commande sert à changer d'utilisateur, après avoir rentré le bon mot de passe, bien sûr !
permet de devenir root.
permet de devenir l'utilisateur toto.
Note | |
---|---|
Le passage de root à un simple utilisateur par la commande su toto se fait sans rentrer le mot de passe de l'utilisateur toto. |
Cette commande sert à lister les processus et leurs propriétés. Sous Unix, chaque tâche s'exécute au sein d'un ou plusieurs processus. Chaque processus a un PID (Processus ID) qui lui est propre. Si un processus plante, les autres processus ne sont pas affectés. On peut tuer un processus avec la commande kill ou killall.
liste les processus de l'utilisateur qui exécute la commande qui sont rattachés au terminal depuis lequel la commande est exécutée.
liste les processus de l'utilisateur qui exécute la commande quel que soit le terminal de rattachement.
liste les processus de tous les utilisateurs quel que soit le terminal de rattachement.
liste les processus de tous les utilisateurs même ceux qui ne sont rattachés à aucun terminal. Cette commande liste donc l'intégralité des processus du système. Elle est équivalente à la commande ps -A
liste tous les processus du système en les regroupant par enchaînement d'exécution.
Les commandes kill et killall servent à envoyer des signaux à des processus.
envoie le signal TERM au processus dont le PID est 42. En gros, on demande au processus 42 de se terminer tout seul. Bien sur, on ne peut terminer que les processus que l'on a soi-même lancé, sauf le root qui peut faire ce qu'il veut avec tous les processus.
envoie le signal KILL au processus dont le PID est 42. Quand un processus est planté, c'est le seul moyen de l'arrêter, car la commande précédente n'aura pas d'effet.
envoie le signal TERM au processus dont le nom est vlc. Cette commande est à répéter plusieurs fois s'il y a plusieurs processus qui portent le nom vlc.
envoie le signal KILL au processus dont le nom est vlc.
change le mot de passe (il commence par demander l'ancien mot de passe quand il s'agit d'un simple utilisateur).
pour savoir à quels groupes appartient l'utilisateur.
ajoute l'utilisateur toto au système.
supprime l'utilisateur toto du système.
ajoute l'utilisateur toto au groupe disk (modification effective après que l'utilisateur toto se soit déconnecté puis reconnecté).
enlève l'utilisateur toto du groupe audio.
fait le point sur l'espace libre de chaque système de fichiers monté.
mesure la taille du répertoire depuis lequel il est exécuté.
éteint l'ordinateur.
redémarre l'ordinateur.
indique depuis combien de temps le système n'a pas redémarré. Certains s'amusent ainsi à faire des concours d'uptime pour prouver la stabilité de leur machine sous GNU/Linux !
permet de savoir quels utilisateurs sont connectés sur le système et ce qu'ils font.
donnent des informations sur les périphériques connectés à votre système (PCI, AGP, USB ou autres) : très pratique pour avoir des renseignements sur son matériel ! Attention, quand la commande affiche Unknown device, cela veut juste dire que l'identifiant du périphérique n'a pas de nom correspondant dans la base de données de ces commandes, mais cela ne veut pas dire que le périphérique marche, ne marche pas ou ne marchera jamais sous Linux !
donne plein d'informations sur le processeur.
donne des informations sur le système, notamment la version du noyau.
donne l'heure, selon l'horloge de votre ordinateur ;
affiche un calendrier du mois courant. cal 2005 affiche un calendrier de l'année 2005 ;
une calculatrice en mode texte ;
permet de rafraîchir l'affichage d'une application en console quand l'affichage est perturbé (par un message d'erreur par exemple) ;
permettent respectivement de bloquer et de débloquer l'affichage d'un terminal.
arrête un programme, ou annule une commande en cours de saisie