5. Editer des Fichiers Texte

Pour configurer votre système, vous devez éditer des fichiers texte. Ils sont presque tous dans le répertoire /etc; vous devrez utiliser la commande su pour devenir root pour les modifier. Vous pouvez vous servir de l'éditeur simple ee, mais à long terme, cela vaut la peine d'apprendre à utiliser vi. Il y a une excellente introduction à vi dans /usr/src/contrib/nvi/docs/tutorial si vous l'avez installé. Sinon vous pouvez le télécharger par ftp sur ftp://ftp.cdrom.com dans le répertoire FreeBSD/FreeBSD-current/src/contrib/nvi/tutorial.

Avant d'éditer un fichier, faites-en une copie de sauvegarde. Supposons que vous vouliez modifier le fichier /etc/rc.conf. Avec la commande cd /etc vous allez dans le répertoire /etc, puis tapez:

# cp rc.conf rc.conf.orig
pour recopier le fichier rc.conf dans rc.conf.orig, de façon à pouvoir ensuite recopier rc.conf.orig dans rc.conf pour revenir à la version originale. Il serait encore mieux de le déplacer (renommer) puis de faire la copie en sens inverse:
# mv rc.conf rc.conf.orig
# cp rc.conf.orig rc.conf
parce que la commande mv conserve la date et le nom du propriétaire d'origine du fichier. Vous pouvez maintenant éditer le fichier rc.conf. Si vous voulez revenir à la version d'origine, utilisez alors mv rc.conf rc.conf.myedit (en supposant que vous vouliez conserver la version que vous avez modifiée) puis:
# mv rc.conf.orig rc.conf
pour remettre l'original à sa place.

Pour éditer un fichier, tapez:

# vi nom_de_fichier
déplacez vous dans le fichier avec les touches flèches. Echap (la touche d'échappement) met vi en mode commande. Voici quelques-unes de ces commandes:
x

efface le caractère sur lequel se trouve le curseur.

dd

efface toute la ligne (même si elle dépasse la largeur de l'écran et s'affiche sur plus d'une ligne).

i

permet d'insérer du texte devant la position du curseur.

a

permet d'insérer du texte après la position du curseur.

Après avoir tapé i ou a, vous pouvez insérer du texte. Echap vous ramène en mode commande. Vous pouvez alors taper:
:w

pour enregistrer le fichier modifié sur disque et continuer à l'éditer,

:wq

pour enregistrer le fichier modifié sur disque et quitter l'éditeur,

:q!

pour quitter l'éditeur sans enregistrer vos modifications,

/texte

recherche la prochaine occurrence de texte et y positionne le curseur; /Entrée (la touche Entrée) recherche ensuite la prochaine occurrence de texte,

G

va à la fin du fichier,

nG

va à la nième ligne du fichier,

Ctrl-L

rafraîchit l'affichage,

Ctrl-b et Ctrl-f

remonte ou descend d'une page, de la même façon qu'avec les utilitaires more et view.



Entraînez-vous à utiliser vi dans votre répertoire utilisateur en créant un nouveau fichier avec vi nom_de_fichier puis ajoutez-y et effacez du texte, enregistrez le ficher et rééditez-le. vi peut vous réserver des surprises parce qu'il est assez complexe, et il vous arrivera de taper accidentellement des commandes au résultat inattendu. (Certains aiment vraiment vi - il est bien plus puissant qu'EDIT de DOS - voyez par exemple la commande :r command.) Utilisez Echap une ou plusieurs fois pour être sûr que vous êtes en mode commande quand vous êtes dans l'embarras, enregistrez régulièrement vos modifications avec la commande :w, et utilisez la commande :q! pour sortir et rééditer la dernière version enregistrée avec :w au besoin.

Vous pouvez maintenant cd vers /etc, su pour devenir root, utiliser vi pour éditer le fichier /etc/group, et ajouter un utilisateur au groupe wheel pour qu'il ait les mêmes droits que root. Ajoutez juste une virgule puis le nom de l'utilisateur à la fin de la première ligne, appuyez sur Echap, et utilisez la commande :wq pour enregistrer le fichier et quitter l'éditeur. La modification est aussitôt prise en compte par le système. (vous n'avez pas mis de blanc après la virgule, n'est-ce-pas?)

Ce document, ainsi que d'autres peut être téléchargé sur ftp.FreeBSD.org/pub/FreeBSD/doc/.

Pour toutes questions à propos de FreeBSD, lisez la documentation avant de contacter <questions@FreeBSD.org>.
Pour les questions sur cette documentation, contactez <doc@FreeBSD.org>.