5.6. Opérations de base sur les fichiers

Vous aurez sans doute à afficher le contenu d'un fichier. Pour cela, la commande la plus appropriée est certainement la commande less :

less fichier

Cette commande affiche le contenu du fichier et vous permet de le faire défiler avec les flèches du curseur. Lorsque vous désirez terminer la visualisation, il suffit de taper la touche q (pour « quitter » less). Pour information, le nom de la commande less provient d'un trait d'humour sur une commande Unix plus classique, la commande more. Cette commande effectue à peu près le même travail que less, mais elle n'affiche le texte que page par page. Pour passer à la page suivante, il faut appuyer sur la barre d'espace. Quant à l'origine du nom de la commande more, c'est qu'elle affiche le mot « more » au bas de l'écran pour indiquer qu'il y a encore du texte à visualiser, et qu'il faut appuyer sur la barre d'espace pour lire la suite.

La commande less permet également d'effectuer une recherche dans le fichier en cours d'édition. Pour cela, il suffit de taper une commande de recherche de less. Cette commande commence par une barre oblique, suivie du texte à chercher. Par exemple, pour rechercher la chaîne de caractères « local » dans un fichier en cours de visualisation avec less, il suffit de taper :

/local

Lorsque vous voudrez rechercher l'occurrence suivante du motif de recherche, vous pourrez appuyer sur la touche n (pour « Next » en anglais). Pour rechercher l'occurrence précédente, il suffit de taper la touche N (en majuscule, cette fois).

Il est encore plus probable que vous aurez à éditer un fichier. Cette opération peut se faire relativement facilement grâce à un éditeur simplifié, vi. Cet éditeur n'est pas franchement ce qui se fait de plus convivial, cependant, il existe sur toutes les plates-formes Unix d'une part, et il est suffisamment léger pour pouvoir fonctionner sur un système minimal. Il est donc recommandé de savoir se servir de vi, ne serait-ce que dans le cas où votre système ne serait pas complètement fonctionnel. En clair, quand tout va mal, on peut compter sur vi ! vi sera décrit plus loin dans la Section 5.8, car il dispose d'un grand nombre de commandes et il ne serait pas opportun de les décrire ici.

En général, la création d'un fichier se fait avec vi, bien que d'autres commandes puissent créer des fichiers. En revanche, pour supprimer un fichier, il n'existe qu'une seule commande :

rm chemin
chemin est le chemin complet permettant d'accéder au fichier à supprimer. Il est possible de spécifier plusieurs fichiers à la commande rm. Dans ce cas, ils seront tous supprimés. rm est également capable de supprimer tous les fichiers d'un répertoire, ainsi que ses sous-répertoires. Dans ce cas, elle détruit toute une branche de l'arborescence du système de fichiers. Pour cela, il suffit d'utiliser l'option -r (pour « récursif ») avant le chemin du répertoire à supprimer.

Attention ! : La commande rm ne demande aucune confirmation avant de supprimer les fichiers ! D'autre part, les fichiers supprimés sont irrémédiablement perdus (il n'y a pas de commande « undelete » ou autre commande similaire). Vérifiez donc bien ce que vous avez tapé avant de valider une commande rm (surtout si vous êtes sous le compte root). Il peut être judicieux de forcer la commande rm à demander confirmation avant la suppression des fichiers, à l'aide de son option -i. On pourra pour cela définir un alias « rm -i » pour la commande rm dans le fichier d'initialisation du shell (c'est-à-dire le fichier .bashrc pour le shell bash). La notion d'alias sera décrite dans la Section 5.9.9.

La copie d'un fichier se fait avec la commande cp, dont la syntaxe est donnée ci-dessous :

cp fichiers répertoire
fichiers est la liste des fichiers à copier, et répertoire est le répertoire destination dans lequel ces fichiers doivent être copiés.

Enfin, le déplacement des fichiers se fait avec la commande mv, comme indiqué ci-dessous :

mv source destination
source est le nom du fichier source et destination est le nom du répertoire destination. Notez que mv est une commande très puissante, puisqu'elle permet également de déplacer des répertoires et de renommer des fichiers et des répertoires. Pour renommer un fichier ou un répertoire, il suffit d'indiquer le nouveau nom de ce fichier ou de ce répertoire à la place de destination.