Utilisation simple d'Unix


L'utilisation courante d'Unix se fait par l'intermédiaire d'un interpréteur de commandes, appelé shell. Un shell est lancé automatiquement dans chaque fenêtre xterm ou console , cf. Utilisation simple de l'environnement KDE , et chaque fois que l'on se connecte à distance sur une machine (par ssh ou slogin). Sur les machines de l'enseignement, le shell par défaut est bash.

Édition des commandes

L'interpréteur bash offre quelques facilités pour éditer la prochaine commande à soumettre à partir de l'historique des commandes précédentes. On peut notamment utiliser quelques combinaisons de touches très utiles :

C-bRecule d'un caractère (idem flèche à gauche)
C-fAvance d'un caractère (idem flèche à droite)
C-aVa en début de ligne
C-eVa en fin de ligne
C-pReprend la commande précédente (idem flèche montante)
C-nReprend la commande suivante (idem flèche descendante)
C-dDétruit le caractère
C-kDétruit le reste de la ligne

C-x s'obtient en appuyant sur la touche x alors que la touche Control (ou Ctrl) est enfoncée.

Dans l'environnement X Window, on peut également composer une commande par des "copier-coller" à la souris, cf. Utilisation simple de l'environnement KDE .
La commande history affiche une liste des commandes précédentes et la commande ls affiche une liste des fichiers.
"Copier-coller" c'est aussi le moyen le plus rapide pour essayer les exemples donnés dans les pages web.

Quelques commandes indispensables

Une commande est composée d'un ou plusieurs mots. Le premier mot est le nom de la commande, les suivants sont ses arguments. Les arguments qui commencent par - sont des options qui modifient le fonctionnement standard de la commande.

man
La commande man affiche le mode d'emploi de la commande dont le nom est passé en argument. Il y a toujours quelque chose à apprendre avec man, même en ce qui concerne les commandes que l'on pense les plus ordinaires. Par exemple,
man who
nous dit tout sur la commande who. Pour faire défiler les pages de man, on utilise la barre d'espace. On peut remonter d'une page par C-b et on quitte par la touche q.
Et bien sûr, on peut faire :
man man

apropos
La commande apropos s'emploie suivie d'un mot clef et elle liste tous les titres de pages de man relative à ce mot. Pour un exemple impressionnant, on peut essayer :
apropos file
Mais, heureusement, on n'est pas obligé de lire tout ça pour commencer !
Au lieu de apropos, on peut utiliser man -k, c'est-à-dire man avec l'option k (comme key-word), par exemple :
man -k file

who
La commande who utilisée sans argument indique qui est connecté sur la machine, depuis quand et depuis où. On peut essayer aussi :
who am i
whoami

echo
La commande echo se contente de réécrire ses arguments. L'intérêt peut ne pas sembler évident mais cela permet :

  • d'écrire des messages depuis un shell-script,
  • de comprendre comment le shell interpète les arguments avant de les passer à la commande. On voit clairement comment se fait le traitement des quotes en essayant les exemples suivants :
    echo coucou 'coucou' "coucou" '"coucou"' "'coucou'"
    echo "'"'"'
    echo bonjour `whoami`
    echo `echo "'coucou'"`

    slogin ou ssh
    La commande slogin, alias de ssh, sert à se connecter sur une autre machine sur laquelle un nouveau shell est lancé. C'est la version sécurisée de la commande rlogin. On l'utilise en mettant en argument le nom ou le numéro de la machine cible, par exemple :
    slogin albatros
    On peut ainsi accéder à n'importe quel poste de travail, cf. Les postes de travail pour une liste.

    exit
    La commande exit sert à terminer le shell courant, ce qui provoque normalement la fin du processus sous-jacent (xterm, console, slogin, ssh).

    passwd
    La commande passwd sert normalement à modifier son mot de passe sous Unix, on ne peut pas l'utiliser sur les postes de travail de l'enseignement.

    Autres commandes très utiles

    L'utilisation courante d'Unix demande aussi de maîtriser les commandes relatives à la gestion des fichiers, cf. Le système de fichiers d'Unix et au contrôle des processus, cf. Contrôle des processus .


    URL: https://www.enseignement.polytechnique.fr/profs/informatique/Philippe.Chassignet/INIT/p10.html

    Pour toutes suggestions, commentaires ou remarques, email : Philippe.Chassignet@polytechnique.fr