Manipuler les fichiers (files)

Comment un fichier est-il créé ?

Un fichier est un paquet d'informations : du texte, de la musique, une image... Chaque objet que vous manipulez en informatique (une page Web, la musique de Casimir, vos photos de vacances, un logiciel...) correspond à un fichier. Quand vous écrivez un texte avec Word et que vous le sauvegardez sous le nom « Rapport de maîtrise », vous créez un fichier à ce nom, écrit sur le disque dur. Chaque fois que vous écrivez quelque chose sur le disque, vous créez un ou plusieurs fichiers.

Une des opérations les plus courantes consiste à écrire du texte. Pour cela, voir le cours sur les éditeurs de texte.

Quel nom donner à ses fichiers ?

Les noms de fichiers s'écrivent avec des caractères alphanumériques (lettres et chiffres). On peut utiliser des majuscules et des minuscules, mais elles ne sont pas interchangeables : document et Document sont deux fichiers distincts.

Il est préférable d'éviter les espaces dans les noms de fichiers (les remplacer par underscore _, tiret -, virgule , ou point .). Il vaut mieux éviter les caractères accentués, et proscrire le reste (ponctuations diverses, signes bizarres). Il faut aussi éviter de faire commencer un fichier par un . (par exemple .document), et de faire des noms trop longs (même si en théorie vous avez droit à 255 caractères).

Certains fichiers ont des suffixes conventionnels qui les identifient auprès des utilisateurs et de certains programmes (liste non exhaustive de suffixes et d'outils) :

Suffixe Nature Logiciel à utiliser
.tex Fichier source pour LaTeX Éditeur de texte
.dvi Résultat de la compilation LaTeX xdvi
.aux, .log, .toc, .mp, etc. Fichiers produits automatiquement par la compilation LaTeX À regarder avec less
.ps, .eps Fichiers PostScript gv (Ghostview)
.txt Fichier texte Éditeur si vous voulez le modifier, less si vous voulez juste le lire.
.html, .shtml, .htm Pages Web Navigateur (netscape, links...)
.au, .ogg, .mp2, .mp3 Son Les fichiers .au s'écoutent avec play, les .ogg avec ogg123, les .mp2 avec maplay , les .mp3 avec mpg123.
.tiff, .png, .jpg, .gif, .ppm... Images xv pour les regarder ; gimp pour les modifier
.mov, .avi Séquences animées xanim
.pdf Portable Document Format acroread (Acrobat Reader)
.gz, .tgz, .tar, .tar.gz, .Z, .tar.Z, .zip, .zoo, .lha, .lzx, .z, .uu, .shar Divers formats d'archives plus ou moins compressés Consultez la page sur la compression

De façon générale, tous les fichiers LaTeX ont un suffixe .tex, et toutes les pages Web un suffixe .html (par exemple ce document s'appelle fichiers.html).

less fichier

Permet lire un fichier sans l'éditer (c'est-à-dire ouvrir un document afin de pouvoir le modifier). Les commandes de base sont :

h afficher une aide.
SPCfaire défiler le texte page par page
d, ^D (down)descendre d'un demi-écran
f, ^F (forward)descendre d'un écran
p, ^P (previous)remonter d'un demi-écran
b, ^B (back)remonter d'un écran
jdescendre d'une ligne
kremonter d'une ligne
Galler à la fin du texte
nombreG aller à la ligne de numéro nombre (par exemple, 1G place à la première ligne du fichier).
/mot chercher le « mot » dans le texte. Il sera signalé en inverse dans tout le texte. Pour aller à la prochaine occurence du mot, taper n, pour aller à la précédente occurence, taper N.
q quitter

Remarques sur more et cat

cat a pour fonction première d'afficher un fichier. Il est rapide et pratique pour un fichier très court, mais nous ne vous le conseillons pas pour regarder un fichier un peu conséquent : cat affiche le contenu du fichier d'un seul coup (si le texte fait plus de 10-15 lignes, on ne voit rien). D'autre part, il ne permet aucune recherche.

more (en savoir davantage sur un fichier) est une commande standard sur tous les systèmes Unix (alors que less n'est pas installé partout). less (installé à l'École) est cependant plus performant : les mots recherchés apparaissent sur fond noir au lieu d'être juste placés en haut de l'écran, le défilement du texte est plus précis. Si vous n'avez que more à disposition, vous pouvez utiliser les commandes suivantes :

hafficher une aide
d ( down)descendre d'un demi-écran
f ( forward)descendre d'un écran
b ( back)remonter d'un demi-écran
/mot chercher le « mot » dans le texte (le résultat est beaucoup moins clair qu'avec less ).
qquitter

Manipuler les fichiers

cp nom1 nom2 (copy)

Permet de recopier le fichier nom1dans un fichier nom2. Ils seront donc identiques.

&icone.note; Exercices sur cp.

mv nom1 nom2 (move, déplacer et renommer)

Renommer

mv truc chose : renomme le fichier ou le répertoire truc en chose.

Déplacer

mv truc chose/ : déplace le fichier truc dans le répertoire chose/.

mv fichier .. : déplace un fichier dans le répertoire père (pour ce terme, voir dans le tableau qui illustre cd).

&icone.note; Exercices sur mv.

rm fichier (remove)

À ne jamais confondre avec mv ... Cette commande détruit le fichier, de façon irréversible. Avec la config conscrits, confirmation est demandée (option -i de rm). Ce n'est pas le cas pour toutes les configurations : observez donc la plus grande prudence avec cette commande...

Remarques : Les partitions utilisateurs sont sauvegardées toutes les nuits par le SPI. Si donc vous effacez un fichier accidentellement et qu'il avait plus d'un ou deux jours, vous pouvez envoyer un courrier électronique au SPI pour demander qu'on vous le récupère (spi@clipper).

Il existe aussi RCS, qui enregistre des copies de sauvegarde de vos fichiers, et permet de gérer les différentes versions de votre travail.

Exemple

On veut renommer le fichier chrono du sous-répertoire ancienne/ en evolution, et le mettre dans le répertoire histoire/. Dans cet exemple, nous sommes dans histoire/ancienne/ :

(1) État de départ :

[histoire (ancienne (chrono, empire.tex))]

(2) cp chrono evolution

[histoire (ancienne (chrono, empire.tex, evolution))]

(3) mv evolution ..

[histoire (ancienne (chrono, empire.tex), evolution)]

(4) rm chrono

[histoire (ancienne (empire.tex), evolution)]

On peut aussi faire plus rapidement :

mv chrono evolution
mv evolution ..

Ou, en une seule ligne de commande :

mv chrono ../evolution

La même série d'opérations est possible depuis histoire/; elle se fera avec la suite de commandes suivantes :

cp ancienne/chrono evolution
rm ancienne/chrono
On recopie le fichier chrono du sous-répertoire ancienne/ en un second fichier evolution placé dans le répertoire courant : on se retrouve directement dans l'état 3. Ensuite, on efface le fichier chrono qui est toujours dans le répertoire ancienne/.
mv ancienne/chrono ..
mv chrono evolution
D'abord on déplace le fichier, ensuite on le renomme.
mv ancienne/chrono evolution
En une seule ligne, on déplace le fichier et on le renomme.

Il y a donc rarement une seule façon de manipuler ses fichiers, c'est une question d'aisance et de rapidité.

cat

Afficher un fichier

C'est pratique pour lire un fichier court, inutilisable sinon (voir les remarques à propos de more et de cat). Dans cet usage, cat sert surtout lorsque vous programmez.

Concaténer des fichiers

cat fichier1 fichier2 > fichier3 

Les fichiers 1 et 2 sont concaténés (placés bout à à bout) et le résultat est mis dans un fichier3 créé automatiquement. Le shell refuse d'écraser un fichier existant.

Dans fichier3 apparaît d'abord fichier1 puis fichier2. Concaténer deux fichiers de la sorte ne les détruit pas (il existe à la fois fichier1, fichier2 et fichier3).

On peut aussi placer deux fichiers bout à bout sans créer de troisième fichier. La syntaxe est alors la suivante :

cat fichier2 >> fichier1

fichier2 est placé « au bout » de fichier1. fichier2 reste inchangé, fichier1 contient désormais son propre texte suivi du texte de fichier2.

Écrire

cat peut faire office d'éditeur minimaliste; tapez la commande suivante, et quelques mots :

corvette ~ $ cat > notes
Faire les courses
Passer à la bibliothèque
...

Et finissez par ^D. Le fichier notes contient les quelques lignes que vous avez saisies.

head fichier et tail fichier

Par défaut, ces commandes montrent les dix premières (head) ou les dix dernières (tail) lignes d'un fichier.

On peut utiliser l'option -nombre pour spécifier le nombre de lignes que l'on veut faire apparaître :

head -24 mon-fichier

affiche les 24 premières lignes du fichier.

Auteur : Émilia Robin. Dernière modification le 2002-11-22.