Product SiteDocumentation Site

Annexe B. Petit cours de rattrapage

Bien que cet ouvrage s'adresse principalement aux administrateurs ou utilisateurs avancés, nous ne souhaitons pas exclure les novices désireux de se former. Nous rappelons donc dans cette partie quelques concepts informatiques fondamentaux que l'on côtoie en exploitant un ordinateur sous Unix.

B.1. Interpréteur de commandes et commandes de base

Dans le monde Unix, l'administrateur est inévitablement confronté à la ligne de commande, ne serait-ce que dans les cas où le système ne démarre plus correctement et propose uniquement ce moyen comme accès de secours. Il est donc important de savoir se débrouiller un minimum dans un interpréteur de commandes.
Les commandes présentées dans cette section le sont de manière assez rapide. Il ne faut pas hésiter à consulter les pages de manuels correspondantes pour découvrir les nombreuses options disponibles.

B.1.1. Déplacement dans l'arborescence et gestion des fichiers

Après connexion, la commande pwd (print working directory, afficher le répertoire de travail) indique l'emplacement courant. La commande cd répertoire (change directory, changer de répertoire) sert à naviguer dans l'arborescence des fichiers. Le répertoire parent est toujours nommé .. tandis que . est un synonyme pour le répertoire courant. La commande ls affiche le contenu d'un répertoire ; en l'absence de paramètres, elle travaille sur le répertoire courant.
$ pwd
/home/rhertzog
$ cd Bureau
$ pwd
/home/rhertzog/Bureau
$ cd .
$ pwd
/home/rhertzog/Bureau
$ cd ..
$ pwd
/home/rhertzog
$ ls
Bureau     Images   Musique  Téléchargements
Documents  Modèles  Public   Vidéos
Créer un nouveau répertoire s'effectue avec mkdir répertoire, alors que la commande rmdir répertoire supprime un répertoire vide. La commande mv sert à renommer et/ou à déplacer les fichiers et les répertoires, tandis que rm fichier supprime un fichier.
$ mkdir test
$ ls
Bureau     Images   Musique  Téléchargements  Vidéos
Documents  Modèles  Public   test
$ mv test nouveau
$ ls
Bureau     Images   Musique  Public           Vidéos
Documents  Modèles  nouveau  Téléchargements
$ rmdir nouveau
$ ls
Bureau     Images   Musique  Téléchargements
Documents  Modèles  Public   Vidéos

B.1.2. Consultation et modification des fichiers texte

La commande cat fichier (prévue pour concaténer des fichiers sur la sortie standard) lit un fichier et affiche son contenu dans le terminal. Si le fichier est trop gros, la commande less (ou more) permet de l'afficher page par page.
La commande editor lance un éditeur de texte (comme vi ou nano) et permet de créer/modifier/lire des fichiers texte. Pour les fichiers les plus simples, il est parfois possible de les créer directement depuis l'interpréteur de commandes grâce aux redirections. Ainsi, echo "texte" >fichier crée un fichier nommé fichier contenant « texte ». Pour ajouter une ligne à la fin de ce fichier, il est possible de faire echo "texte supplémentaire" >>fichier. On notera l'emploi de >> dans cet exemple.

B.1.3. Recherche de fichiers et dans les fichiers

La commande find répertoire critères recherche des fichiers dans l'arborescence sous répertoire. L'option -name nom est le critère de recherche le plus courant et permet de retrouver un fichier par son nom.
La commande grep expression fichiers extrait du contenu des fichiers les lignes correspondant à l'expression rationnelle (voir encadré B.A.-BA Expression rationnelle). L'option -r exécute une recherche récursive sur tous les fichiers contenus dans le répertoire indiqué en paramètre. Cela permet d'identifier facilement un fichier dont on connaît une partie du contenu.

B.1.4. Gestion des processus

La commande ps aux liste les processus en cours d'exécution et leur identifiant pid (process id). Par la suite, la commande kill -signal pid envoie un signal à un processus donné (à condition qu'il appartienne au même utilisateur) ; le signal TERM demande au programme de se terminer alors que KILL le tue brutalement.
L'interpréteur de commandes permet de lancer des programmes en tâche de fond : il suffit pour cela d'ajouter « &» à la fin de la commande. Dans ce cas, l'utilisateur retrouve le contrôle immédiatement, bien que la commande lancée ne soit pas encore terminée. La commande jobs indique les processus exécutés en arrière-plan. La commande fg %numéro-de-job (foreground, avant-plan) replace le processus à l'avant-plan. Dans cette situation, la combinaison de touches Control+Z permet de stopper l'exécution du processus et de reprendre le contrôle de la ligne de commande. Pour réactiver en arrière-plan le processus stoppé, il faut faire bg %numéro-de-job (pour background, arrière-plan).

B.1.5. Informations système : mémoire, espace disque, identité

La commande free affiche des informations sur l'usage de la mémoire vive, tandis que df (disk free) rapporte l'espace disponible sur les différents disques accessibles dans l'arborescence. On emploie fréquemment l'option -h de df (pour human readable) afin qu'il affiche les tailles avec une unité plus adaptée (généralement mégaoctets ou gigaoctets). De même, la commande free dispose de -m ou -g pour afficher les informations soit en mégaoctets soit en gigaoctets.
$ free
             total       used       free     shared    buffers     cached
Mem:       1028420    1009624      18796          0      47404     391804
-/+ buffers/cache:     570416     458004
Swap:      2771172     404588    2366584
$ df
Sys. de fich.        1K-blocs       Occupé Disponible Capacité Monté sur
/dev/hda6              9614084   4737916   4387796  52% /
tmpfs                   514208         0    514208   0% /lib/init/rw
udev                     10240       100     10140   1% /dev
tmpfs                   514208    269136    245072  53% /dev/shm
/dev/hda7             44552904  36315896   7784380  83% /home
La commande id affiche l'identité de l'utilisateur connecté et indique la liste des groupes dont il est membre. Il est parfois important de pouvoir vérifier si l'on est membre d'un groupe donné ; cela peut conditionner l'accès à certains fichiers ou périphériques.
$ id
uid=1000(rhertzog) gid=1000(rhertzog) groupes=1000(rhertzog),24(cdrom),25(floppy),27(sudo),29(audio),30(dip),44(video),46(plugdev),108(netdev),109(bluetooth),115(scanner)