Chapitre 1. Débuter en console

Table des matières
1. Notions de base
1.1. Se logguer
1.2. Convention
1.3. Passer d'une console à une autre
2. Les commandes Unix
2.1. Liste des commandes de base à connaître
2.2. Les principales commandes système
2.3. Autres commandes système
2.4. Les petites commandes pratiques

1. Notions de base

1.1. Se logguer

Une fois que la procédure d'installation est terminée, vous arrivez au prompt de login :

Figure 1-1. Prompt de login sur la machine alpy

Pour vous logguer, vous avez le choix entre :

  • vous logguer 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 :

    Figure 1-2. Prompt du root sur la machine alpy

    Quand vous êtes ainsi loggué en tant que root, vous avez tous les droits sur le système.

  • vous logguer 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 :

    Figure 1-3. Prompt de l'utilisateur alexis sur la machine alpy

    Quand vous êtes ainsi loggué 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 packages 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 !

1.2. Convention

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 % :

    
% commande_à_exécuter
    

1.3. Passer d'une console à une autre

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. 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 pour passer d'une console voisine à l'autre. Par défaut, il y a 6 consoles.

2. Les commandes Unix

2.1. Liste des commandes de base à connaître

Ci-dessous se trouve une liste de commandes Unix de base à connaître :

  • ls

  • cd

  • mv

  • cp

  • rm

  • mkdir

  • rmdir

  • ln

  • cat

  • more

  • less

  • find

  • grep

  • chmod

  • chown

  • chgrp

Si vous ne les connaissez pas, il existe des cours sur Internet qui vous permettront de les apprendre. Par exemple ce cours de l'Ecole Polytechnique de Montréal.

2.2. Les principales commandes système

2.2.1. Mount

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 de la première partie de cette formation. Elle sert à intégrer un système de fichier dans le système de fichier de la racine. Elle doit être exécutée en tant que root. Sa syntaxe habituelle est :


# mount -t type_de_système_de_fichier -o options /dev/periphérique /mnt/répertoire_de_montage

à condition que le type de système de fichier soit supporté par le noyau et que le répertoire /mnt/répertoire_de_montage existe déjà.

Pour démonter ce système de fichier, il suffit de taper en root :


# umount /dev/périphérique

ou :


# umount /mnt/répertoire_de_montage

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.

2.2.2. su

Cette commande sert à changer d'utilisateur, après avoir rentré le bon mot de passe, bien sûr !

  • su permet de devenir root.

  • su toto 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.

2.2.3. ps

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.

  • ps : 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.

  • ps -u : liste les processus de l'utilisateur qui exécute la commande quel que soit le terminal de rattachement.

  • ps -au : liste les processus de tous les utilisateurs quel que soit le terminal de rattachement.

  • ps -aux : liste les processus de tous les utilisateurs même ceux qui sont rattachés à aucun terminal. Cette commande liste donc l'intégralité des processus du système. Elle est équivalente à la commande ps -A

  • ps -faux : liste tous les processus du système en les regroupant par enchaînement d'exécution.

2.2.4. kill et killall

Les commandes kill et killall servent à envoyer des signaux à des processus.

  • kill 42 : 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.

  • kill -9 42 : 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.

  • killall vlc : 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.

  • killall -9 vlc : envoie le signal KILL au processus dont le nom est vlc.

2.2.5. nice et renice

Les commandes nice et renice servent à gérer la priorité des processus. La priorité d'un processus est un nombre entier relatif compris entre -20 (priorité haute) et 19 (priorité basse).

Par défaut, les programmes lançés par les utilisateurs du système ont la priorité 0 (priorité moyenne). Certains services sont lançés par le système avec une priorité différente de 0. Pour voir la priorité des processus lançés, utilisez le programme top : il vous affiche la liste des processus classés par utilisation du processeur et actualisée toutes les 5 secondes. La quatrième colonne intitulée NI indique la priorité. Pour quitter top, appuyez sur q.

Seul le root a le droit de lancer des processus avec une priorité comprise entre -20 et -1 inclus. Pour lancer un programme avec une priorité X (X compris entre -20 et 19) :


# nice -n X nom_du_programme

Pour changer la priorité d'un processus déjà lancé, il faut être soit root soit le propriétaire du processus et connaître son PID :


# renice X PID_du_processus

2.3. Autres commandes système

  • id : permet de savoir quel numéro d'utilisateur (uid, comme user id) et quel numéro de groupe (gid, comme group id) sont associés à un utilisateur.

  • passwd : change le mot de passe (il commence par demander l'ancien mot de passe quand il s'agit d'un simple utilisateur).

  • groups : pour savoir à quels groupes appartient l'utilisateur.

  • adduser toto : ajoute l'utilisateur toto au système.

  • deluser toto : supprime l'utilisateur toto du système.

  • adduser toto disk : ajoute l'utilisateur toto au groupe disk (modification effective après que l'utilisateur toto se soit déloggué puis reloggué).

  • deluser toto audio : enlève l'utilisateur toto du groupe audio.

  • printenv : affiche les variables d'environnement de l'utilisateur.

  • df -h : fait le point sur l'espace libre de chaque partition.

  • du -sh : mesure la taille du répertoire depuis lequel il est exécuté.

  • halt : éteint l'ordi. Equivaut à la commande shutdown -h now.

  • reboot : reboote l'ordi. Equivaut à la commande shutdown -r now.

  • uptime : dit depuis combien de temps le système n'a pas rebooté. Certains s'amusent ainsi à faire des concours d'uptime pour prouver la stabilité de leur machine sous Linux !

  • w : permet de savoir quels utilisateurs sont loggés sur le système et ce qu'ils font.

  • lspci : donne des informations sur les bus PCI du système et les périphériques PCI qui y sont rattachés (AGP est considéré comme un bus PCI) : très pratique pour avoir des renseignements sur le hardware du système ! Attention, quand la commande affiche Unknown device, cela veut juste dire que l'ID PCI du périphérique n'a pas de nom correspondant dans la base de données de lspci, mais cela ne veut pas dire que le périphérique "marche", "ne marche pas" ou "ne marchera jamais" sous Linux !

  • cat /proc/cpuinfo : donne plein d'infos sur le processeur.

  • cat /proc/interrupts : donne des infos sur l'utilisation des IRQs par les périphériques.

  • cat /proc/dma : donne des infos sur l'utilisation des DMA par les périphériques.

  • cat /proc/ioports : donne des infos sur l'utilisation des ports I/O (Input / Output) par les périphériques.

  • uname -a : donne des informations sur le système, notamment la version du noyau.

2.4. Les petites commandes pratiques

  • date : donne l'heure système.

  • cal : affiche un calendrier du mois courant. cal 2005 affiche un calendrier de l'année 2005.

  • bc : une calculatrice en mode texte.

  • la combinaison de touches Ctrl-l permet de rafraîchir l'affichage d'une application en console quand l'affichage est perturbé (par un message d'erreur par exemple).