2002-11-22 20:19:50 +01:00
|
|
|
|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
|
|
|
|
<!DOCTYPE html
|
|
|
|
|
PUBLIC "-//ENS/Tuteurs//DTD TML 1//EN"
|
|
|
|
|
"tuteurs://DTD/tml.dtd">
|
|
|
|
|
<html>
|
|
|
|
|
<head>
|
|
|
|
|
<title>Fichiers</title>
|
|
|
|
|
</head>
|
|
|
|
|
<body>
|
|
|
|
|
|
2004-03-14 16:00:56 +01:00
|
|
|
|
<h1>Manipuler les fichiers</h1>
|
2002-11-22 20:19:50 +01:00
|
|
|
|
|
2004-03-14 16:00:56 +01:00
|
|
|
|
<h2><a name="comment">Cr<43>er un fichier</a></h2>
|
|
|
|
|
|
|
|
|
|
<h3>G<>n<EFBFBD>ralit<69>s</h3>
|
2002-11-22 20:19:50 +01:00
|
|
|
|
|
|
|
|
|
<p>
|
2007-07-17 12:01:59 +02:00
|
|
|
|
Un <dfn>fichier</dfn> est un <em>paquet d'informations</em><3E>: ce peut
|
2004-03-14 16:00:56 +01:00
|
|
|
|
<EFBFBD>tre aussi bien du texte, que de la musique ou une image. Chaque objet
|
|
|
|
|
que vous manipulez en informatique (une page Web, la musique de
|
|
|
|
|
Casimir, vos photos de vacances, un logiciel, etc.) correspond <20> un
|
|
|
|
|
fichier.
|
2002-11-22 20:19:50 +01:00
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<p>
|
2004-03-14 16:00:56 +01:00
|
|
|
|
Quand vous <20>crivez un texte avec OpenOffice.org et que vous le
|
2007-07-17 12:01:59 +02:00
|
|
|
|
sauvegardez sous le nom <20><>Rapport<72>de<64>ma<6D>trise<73><65>, vous cr<63>ez un fichier
|
2004-03-14 16:00:56 +01:00
|
|
|
|
<EFBFBD> ce nom, <20>crit sur le disque dur. Chaque fois que vous <20>crivez
|
|
|
|
|
quelque chose sur le disque, vous cr<63>ez un ou plusieurs fichiers.
|
2002-11-22 20:19:50 +01:00
|
|
|
|
</p>
|
|
|
|
|
|
2004-03-14 16:00:56 +01:00
|
|
|
|
<h3>Cr<43>er un fichier texte</h3>
|
2002-11-22 20:19:50 +01:00
|
|
|
|
|
|
|
|
|
<p>
|
2004-03-14 16:00:56 +01:00
|
|
|
|
Une des op<6F>rations les plus courantes consiste <20> <20>crire du texte. Pour
|
|
|
|
|
cela, voir le cours sur les <a href="editeurs/"><3E>diteurs de
|
|
|
|
|
texte</a>. Quand on vous demande de cr<63>er un fichier, g<>n<EFBFBD>ralement il
|
|
|
|
|
faut utiliser un <20>diteur de texte. Ainsi, pour cr<63>er le fichier
|
|
|
|
|
<code>index.html</code> (accueil d'une page Web), utilisez l'<27>diteur
|
2007-09-17 07:46:15 +02:00
|
|
|
|
de KDE, kwrite, et tapez<65>:
|
2002-11-22 20:19:50 +01:00
|
|
|
|
</p>
|
|
|
|
|
|
2004-03-14 16:00:56 +01:00
|
|
|
|
<pre>
|
2007-09-17 07:46:15 +02:00
|
|
|
|
<span class="prompt">brick ~/www/ $</span> kwrite index.html
|
2004-03-14 16:00:56 +01:00
|
|
|
|
</pre>
|
|
|
|
|
|
|
|
|
|
|
2002-11-22 20:19:50 +01:00
|
|
|
|
<p>
|
2004-03-14 16:00:56 +01:00
|
|
|
|
Si vous <20>tes press<73>, la commande <code>cat</code> peut faire office
|
2007-07-17 12:01:59 +02:00
|
|
|
|
d'<27>diteur minimaliste. Tapez la commande suivante, et quelques mots<74>:
|
2002-11-22 20:19:50 +01:00
|
|
|
|
</p>
|
|
|
|
|
|
2004-03-14 16:00:56 +01:00
|
|
|
|
<pre>
|
|
|
|
|
<span class="prompt">brick ~ $</span> cat > notes
|
|
|
|
|
Faire les courses
|
|
|
|
|
Passer <20> la biblioth<74>que
|
|
|
|
|
</pre>
|
|
|
|
|
|
|
|
|
|
<p class="continue">
|
|
|
|
|
Et finissez par <code>Ctrl+D</code>. Le fichier <code>notes</code>
|
|
|
|
|
contient les quelques lignes que vous avez saisies.
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<h3>Cr<43>er un fichier vide</h3>
|
|
|
|
|
|
2002-11-22 20:19:50 +01:00
|
|
|
|
<p>
|
2004-03-14 16:00:56 +01:00
|
|
|
|
On peut aussi cr<63>er un fichier <20> l'aide de la commande
|
|
|
|
|
<code>touch</code>. <code>touch toto</code> cr<63>e un fichier vide
|
2007-07-17 12:01:59 +02:00
|
|
|
|
appel<EFBFBD> <20><>toto<74><6F>. En fait, cette commande sert essentiellement <20>
|
2004-03-14 16:00:56 +01:00
|
|
|
|
modifier la date de derni<6E>re modification d'un fichier.
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<div class="ens">
|
2007-07-17 12:01:59 +02:00
|
|
|
|
<strong>Application<6F>:</strong> vous avez une page Web sur le serveur
|
2004-03-14 16:00:56 +01:00
|
|
|
|
des <20>l<EFBFBD>ves et que vous ne voulez pas qu'<27> chaque virgule modifi<66>e, on
|
|
|
|
|
voie votre page dans la liste des <a
|
|
|
|
|
href="http://www.eleves.ens.fr/home/index-time.html.fr">pages
|
|
|
|
|
r<EFBFBD>cemment modifi<66>es</a>. Cr<43>ez alors dans votre r<>pertoire
|
2007-07-17 12:01:59 +02:00
|
|
|
|
<code>www</code> un fichier vide appel<65> <code>.last_modified</code><3E>:
|
2004-03-14 16:00:56 +01:00
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<pre>
|
|
|
|
|
<span class="prompt">brick ~/www/ $</span> touch .last_modified
|
|
|
|
|
</pre>
|
|
|
|
|
|
|
|
|
|
<p class="continue">
|
|
|
|
|
Votre page, d<>sormais, ne figurera dans la liste des r<>centes
|
|
|
|
|
modifications qu'apr<70>s un nouveau <code>touch</code> du fichier
|
|
|
|
|
<code>.last_modified</code>.
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<h2><a name="nom">Nommer ses fichiers</a></h2>
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
Les noms de fichiers s'<27>crivent avec des caract<63>res
|
|
|
|
|
<dfn>alphanum<75>riques</dfn> (lettres et chiffres). On peut utiliser
|
|
|
|
|
des majuscules et des minuscules, mais elles ne sont pas
|
2007-07-17 12:01:59 +02:00
|
|
|
|
interchangeables<EFBFBD>: <code>document</code> et <code>Document</code> sont
|
2004-03-14 16:00:56 +01:00
|
|
|
|
deux fichiers distincts.
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
Il est pr<70>f<EFBFBD>rable d'<27>viter les espaces dans les noms de fichiers. On
|
|
|
|
|
peut les remplacer par un <i lang="en">underscore</i> (<code>_</code>)
|
2007-07-17 12:01:59 +02:00
|
|
|
|
ou un tiret (<code>-</code>).<2E>:
|
2004-03-14 16:00:56 +01:00
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<pre>
|
|
|
|
|
banque-de-france.tex
|
|
|
|
|
banque_centrale.dvi
|
|
|
|
|
</pre>
|
|
|
|
|
|
|
|
|
|
<p class="continue">
|
|
|
|
|
Il vaut mieux <20>viter les caract<63>res accentu<74>s, et proscrire le reste
|
|
|
|
|
(ponctuations diverses, signes bizarres). Il faut aussi <20>viter de
|
|
|
|
|
faire commencer un fichier par un <code>.</code> (par exemple
|
|
|
|
|
<code>.document</code>). Il est <20>galement sage d'<27>viter de donner des
|
|
|
|
|
noms trop longs (m<>me si en th<74>orie vous avez droit <20> 255 caract<63>res).
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
Certains fichiers ont des suffixes conventionnels qui les identifient
|
|
|
|
|
aupr<EFBFBD>s des utilisateurs et de certains programmes (liste non
|
2007-07-17 12:01:59 +02:00
|
|
|
|
exhaustive de suffixes et d'outils)<29>:
|
2002-11-22 20:19:50 +01:00
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<table class="tableau">
|
|
|
|
|
<tr>
|
|
|
|
|
<th>Suffixe</th>
|
|
|
|
|
<th>Nature</th>
|
|
|
|
|
<th>Logiciel <20> utiliser</th>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td><code>.tex</code></td>
|
|
|
|
|
<td>Fichier source pour LaTeX</td>
|
|
|
|
|
<td><a href="editeurs/"><3E>diteur de texte</a></td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td><code>.dvi</code></td>
|
|
|
|
|
<td>R<>sultat de la compilation LaTeX</td>
|
2007-09-17 07:46:15 +02:00
|
|
|
|
<td><code>kdvi</code>, <a href="&url.tuteurs;logiciels/latex/xdvi.html"><code>xdvi</code></a></td>
|
2002-11-22 20:19:50 +01:00
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td><code>.aux</code>, <code>.log</code>, <code>.toc</code>, <code>.mp</code>, etc.</td>
|
|
|
|
|
<td>Fichiers produits automatiquement par la compilation LaTeX</td>
|
|
|
|
|
<td><3E> regarder avec <a href="#less"><code>less</code></a></td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td><code>.ps</code>, <code>.eps</code></td>
|
|
|
|
|
<td>Fichiers PostScript</td>
|
2007-09-17 07:46:15 +02:00
|
|
|
|
<td><code>kghostview</code>, <code>gv</code></td>
|
2002-11-22 20:19:50 +01:00
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td><code>.txt</code></td>
|
|
|
|
|
<td>Fichier texte</td>
|
|
|
|
|
<td><a href="editeurs/"><3E>diteur</a> si vous voulez le
|
|
|
|
|
modifier, <a href="#less"><code>less</code></a> si vous voulez juste
|
|
|
|
|
le lire.</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td><code>.html</code>, <code>.shtml</code>, <code>.htm</code></td>
|
|
|
|
|
<td>Pages Web</td>
|
2002-12-16 01:09:16 +01:00
|
|
|
|
<td><a href="&url.tuteurs;internet/web/lynx.html">Navigateur</a>
|
2007-09-17 07:46:15 +02:00
|
|
|
|
(<code>konqueror</code>, <code>firefox</code>, <code>w3m</code>...)</td>
|
2002-11-22 20:19:50 +01:00
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td><code>.au</code>, <code>.ogg</code>, <code>.mp2</code>, <code>.mp3</code></td>
|
|
|
|
|
<td>Son</td>
|
|
|
|
|
<td>Les fichiers <code>.au</code> s'<27>coutent avec <code>play</code>, les
|
2007-09-17 07:46:15 +02:00
|
|
|
|
<code>.ogg</code> avec <code>ogg123</code>, <!-- les <code>.mp2</code> avec
|
|
|
|
|
<code>maplay</code>, --> les <code>.mp3</code> avec <code>mpg123</code>. </td>
|
2002-11-22 20:19:50 +01:00
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td><code>.tiff</code>, <code>.png</code>, <code>.jpg</code>,
|
|
|
|
|
<code>.gif</code>, <code>.ppm</code>...</td>
|
|
|
|
|
<td>Images</td>
|
2007-09-17 07:46:15 +02:00
|
|
|
|
<td><code>kview</code>
|
2007-07-17 12:01:59 +02:00
|
|
|
|
pour les regarder<65>; <code>gimp</code> pour les modifier</td>
|
2002-11-22 20:19:50 +01:00
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td><code>.mov</code>, <code>.avi</code></td>
|
|
|
|
|
<td>S<>quences anim<69>es</td>
|
2007-09-17 07:46:15 +02:00
|
|
|
|
<td><code>mplayer</code></td>
|
2002-11-22 20:19:50 +01:00
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td><code>.pdf</code></td>
|
|
|
|
|
<td>Portable Document Format</td>
|
2007-09-17 07:46:15 +02:00
|
|
|
|
<td><code>kpdf</code>, <a href="http://www.spi.ens.fr/install/acrobat.html"><code>acroread</code></a> (Acrobat Reader)</td>
|
2002-11-22 20:19:50 +01:00
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td><code>.gz</code>, <code>.tgz</code>, <code>.tar</code>,
|
|
|
|
|
<code>.tar.gz</code>, <code>.Z</code>, <code>.tar.Z</code>,
|
|
|
|
|
<code>.zip</code>, <code>.zoo</code>, <code>.lha</code>, <code>.lzx</code>,
|
|
|
|
|
<code>.z</code>, <code>.uu</code>, <code>.shar</code></td>
|
|
|
|
|
<td>Divers formats d'archives plus ou moins compress<73>s</td>
|
|
|
|
|
<td>Consultez la page sur la <a href="archives.html">compression</a></td>
|
|
|
|
|
</tr>
|
|
|
|
|
</table>
|
|
|
|
|
|
|
|
|
|
|
2004-03-14 16:00:56 +01:00
|
|
|
|
<h2><a name="less">Lire un fichier</a></h2>
|
|
|
|
|
|
2004-08-20 13:34:12 +02:00
|
|
|
|
<h3><a name="cat">Lire un fichier avec <code>cat</code></a></h3>
|
2004-03-14 16:00:56 +01:00
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
Pour pouvoir consulter un fichier (sans l'<27>diter), le plus simple est
|
2007-07-17 12:01:59 +02:00
|
|
|
|
la commande <code>cat</code><3E>:
|
2004-03-14 16:00:56 +01:00
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<pre>
|
|
|
|
|
<span class="prompt">brick ~ $</span> cat <kbd>fichier</kbd>
|
|
|
|
|
</pre>
|
|
|
|
|
|
|
|
|
|
<p class="continue">
|
|
|
|
|
Le probl<62>me est que <code>cat</code> affiche l'int<6E>gralit<69> du fichier
|
|
|
|
|
que vous lui demandez. Si le fichier est plus long que la taille de
|
|
|
|
|
votre <20>cran (ce qui arrive quand m<>me souvent), vous verrez d<>filer
|
|
|
|
|
tr<EFBFBD>s vite <20> l'<27>cran le contenu de votre fichier, sans pouvoir
|
|
|
|
|
l'arr<72>ter ou le ralentir. Pas tr<74>s pratique...
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<h3>Les <i lang="en">pagers</i> <code>more</code> et
|
|
|
|
|
<code>less</code></h3>
|
2002-11-22 20:19:50 +01:00
|
|
|
|
|
|
|
|
|
<p>
|
2004-03-14 16:00:56 +01:00
|
|
|
|
Mieux vaut alors utiliser ce qu'en anglais on appelle un <i
|
2007-07-17 12:01:59 +02:00
|
|
|
|
lang="en">pager</i> (parfois traduit par <20><>visionneuse<73><65> en
|
|
|
|
|
fran<EFBFBD>ais). Le nom <20><>pager<65><72> vient du fait qu'il affiche un fichier
|
2004-03-14 16:00:56 +01:00
|
|
|
|
page par page et non tout d'un coup comme le fait
|
|
|
|
|
<code>cat</code>. Sur les Unix un minimum r<>cents, la commande qui
|
|
|
|
|
fait cela est <code>less</code>. Pour lire le fichier
|
2007-07-17 12:01:59 +02:00
|
|
|
|
<code>toto.txt</code>, tapez simplement<6E>:
|
2004-03-14 16:00:56 +01:00
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<pre>
|
|
|
|
|
<span class="prompt">brick ~ $</span> less toto.txt
|
|
|
|
|
</pre>
|
|
|
|
|
|
|
|
|
|
<p class="continue">
|
2007-07-17 12:01:59 +02:00
|
|
|
|
Voici un tableau des commandes utiles de <code>less</code><3E>:
|
2002-11-22 20:19:50 +01:00
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<table class="tableau">
|
|
|
|
|
<tr>
|
|
|
|
|
<td><code>h</code></td>
|
|
|
|
|
<td>afficher une aide.</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td><code>SPC</code></td><td>faire d<>filer le texte page par page</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td><code>d, ^D</code> (<em>down</em>)</td><td>descendre d'un demi-<2D>cran</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td><code>f, ^F</code> (<em>forward</em>)</td><td>descendre d'un <20>cran</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td><code>p, ^P</code> (<em>previous</em>)</td><td>remonter d'un demi-<2D>cran</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td><code>b, ^B</code> (<em>back</em>)</td><td>remonter d'un <20>cran</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td><code>j</code></td><td>descendre d'une ligne</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td><code>k</code></td><td>remonter d'une ligne</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td><code>G</code></td><td>aller <20> la fin du texte</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td><code><em>nombre</em>G</code></td>
|
|
|
|
|
<td>aller <20> la ligne de num<75>ro <em>nombre</em> (par exemple, <code>1G</code>
|
|
|
|
|
place <20> la premi<6D>re ligne du fichier).</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td><code>/mot</code></td>
|
2007-07-17 12:01:59 +02:00
|
|
|
|
<td>chercher le <20><>mot<6F><74> dans le texte. Il sera signal<61> en inverse dans
|
2002-11-22 20:19:50 +01:00
|
|
|
|
tout le texte. Pour aller <20> la prochaine occurence du mot, taper
|
|
|
|
|
<code>n</code>, pour aller <20> la pr<70>c<EFBFBD>dente occurence, taper
|
|
|
|
|
<code>N</code>.</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td><code>q</code> </td><td>quitter</td>
|
|
|
|
|
</tr>
|
|
|
|
|
</table>
|
|
|
|
|
|
|
|
|
|
<p>
|
2004-03-14 16:00:56 +01:00
|
|
|
|
<strong><code>more</code></strong> (en savoir <em> davantage</em> sur
|
|
|
|
|
un fichier) est une commande standard sur tous les syst<73>mes Unix
|
|
|
|
|
(alors que <code>less</code> n'est pas install<6C>
|
|
|
|
|
partout). <code>less</code> (install<6C> <20> l'<27>cole) est cependant plus
|
2007-07-17 12:01:59 +02:00
|
|
|
|
performant<EFBFBD>: les mots recherch<63>s apparaissent sur fond noir au lieu
|
2004-03-14 16:00:56 +01:00
|
|
|
|
d'<27>tre juste plac<61>s en haut de l'<27>cran, le d<>filement du texte est
|
|
|
|
|
plus pr<70>cis. Si vous n'avez que <code>more</code> <20> disposition, vous
|
2007-07-17 12:01:59 +02:00
|
|
|
|
pouvez utiliser les commandes suivantes<65>:
|
2002-11-22 20:19:50 +01:00
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<table class="tableau">
|
|
|
|
|
<tr>
|
|
|
|
|
<td><code>h</code></td><td>afficher une aide</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td><code>d</code> (<em> down</em>)</td><td>descendre d'un demi-<2D>cran</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td><code>f</code> (<em> forward</em>)</td><td>descendre d'un <20>cran</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td><code>b</code> (<em> back</em>)</td><td>remonter d'un demi-<2D>cran</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td><code>/mot</code></td>
|
2007-07-17 12:01:59 +02:00
|
|
|
|
<td>chercher le <20><>mot<6F><74> dans le texte (le r<>sultat est beaucoup moins clair
|
2002-11-22 20:19:50 +01:00
|
|
|
|
qu'avec <code>less</code> ).</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td><code>q</code></td><td>quitter</td>
|
|
|
|
|
</tr>
|
|
|
|
|
</table>
|
|
|
|
|
|
2004-08-20 13:34:12 +02:00
|
|
|
|
<h3><a name="head">Afficher le d<>but d'un fichier</a></h3>
|
2004-03-14 16:00:56 +01:00
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
On utilise la commande <code>head</code> pour afficher le d<>but d'un
|
2007-07-17 12:01:59 +02:00
|
|
|
|
fichier<EFBFBD>:
|
2004-03-14 16:00:56 +01:00
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<pre>
|
|
|
|
|
<span class="prompt">brick ~ $</span> head point_de_lendemain.txt
|
2007-07-17 12:01:59 +02:00
|
|
|
|
J'aimais <20>perdumment la comtesse de ...<2E>; j'avais vingt ans, et
|
|
|
|
|
j'<27>tais ing<6E>nu<6E>; elle me trompa, je me f<>chai, elle me
|
|
|
|
|
quitta. J'<27>tais ing<6E>nu, je la regrettai<61>; j'avais vingt ans, elle
|
|
|
|
|
me pardonna<6E>: et comme j'avais vingt ans, que j'<27>tais ing<6E>nu,
|
2004-03-14 16:00:56 +01:00
|
|
|
|
toujours tromp<6D>, mais plus quitt<74>, je me croyais l'amant le mieux
|
|
|
|
|
(...)
|
|
|
|
|
</pre>
|
2002-11-22 20:19:50 +01:00
|
|
|
|
|
2004-03-14 16:00:56 +01:00
|
|
|
|
<p class="continue">
|
|
|
|
|
Par d<>faut, <code>head</code> affiche les 10 premi<6D>res lignes. Pour
|
|
|
|
|
lui sp<73>cifier un nombre de lignes pr<70>cis, utilisez l'option
|
2007-07-17 12:01:59 +02:00
|
|
|
|
<code>-n</code>, <var>n</var> <20>tant le nombre de votre choix<69>:
|
2004-03-14 16:00:56 +01:00
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<pre>
|
|
|
|
|
<span class="prompt">brick ~ $</span> head -2 point_de_lendemain.txt
|
2007-07-17 12:01:59 +02:00
|
|
|
|
J'aimais <20>perdumment la comtesse de ...<2E>; j'avais vingt ans, et
|
|
|
|
|
j'<27>tais ing<6E>nu<6E>; elle me trompa, je me f<>chai, elle me
|
2004-03-14 16:00:56 +01:00
|
|
|
|
<span class="prompt">brick ~ $</span>
|
|
|
|
|
</pre>
|
2002-11-22 20:19:50 +01:00
|
|
|
|
|
|
|
|
|
<p>
|
2007-07-17 12:01:59 +02:00
|
|
|
|
<EFBFBD><EFBFBD>Mais <20> quoi est-ce que <20>a peut bien servir<69>?<3F><>, vous direz-vous. L<>,
|
2004-03-14 16:00:56 +01:00
|
|
|
|
comme <20>a, c'est vrai que l'utilit<69> est limit<69>e. Mais en combinaison
|
|
|
|
|
avec d'autres commandes, c'est tr<74>s utile. Un exemple tir<69> de notre
|
2007-07-17 12:01:59 +02:00
|
|
|
|
page sur la <a href="place_disque.html">place disque</a><3E>:
|
2002-11-22 20:19:50 +01:00
|
|
|
|
</p>
|
|
|
|
|
|
2004-03-14 16:00:56 +01:00
|
|
|
|
<pre>
|
|
|
|
|
<span class="prompt">clipper ~ $</span> du -ak | sort -nr | head -10
|
|
|
|
|
98280 .
|
|
|
|
|
22007 ./www
|
|
|
|
|
1658 ./Mail
|
|
|
|
|
9637 ./www/hist
|
|
|
|
|
5005 ./www/hist/maitrise
|
|
|
|
|
4910 ./histoire
|
|
|
|
|
3941 ./Mail/archives
|
|
|
|
|
3757 ./www/philo/
|
|
|
|
|
3274 ./www/philo/cours
|
|
|
|
|
3112 ./www/philo/cours/hegel
|
|
|
|
|
2841 ./prive
|
|
|
|
|
</pre>
|
|
|
|
|
|
|
|
|
|
<p class="continue">
|
|
|
|
|
Nous avons ici les 10 fichiers ou r<>pertoires les plus gros de notre
|
|
|
|
|
compte. Toutes les explications sur cette suite de commandes se
|
|
|
|
|
trouvent dans nitre page sur la <a href="place_disque.html">place
|
|
|
|
|
disque</a>.
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<h3>Afficher la fin d'un fichier</h3>
|
|
|
|
|
|
2002-11-22 20:19:50 +01:00
|
|
|
|
<p>
|
2004-03-14 16:00:56 +01:00
|
|
|
|
Cette fois, c'est la commande <code>tail</code> qu'on utilise, avec
|
2007-07-17 12:01:59 +02:00
|
|
|
|
les m<>mes options que <code>head</code><3E>:
|
2002-11-22 20:19:50 +01:00
|
|
|
|
</p>
|
|
|
|
|
|
2004-03-14 16:00:56 +01:00
|
|
|
|
<pre>
|
|
|
|
|
<span class="prompt">brick ~ $</span> tail -3 point_de_lendemain.txt
|
|
|
|
|
sensible. Adieu, encore une fois. Vous <20>tes charmant... Ne me
|
2007-07-17 12:01:59 +02:00
|
|
|
|
brouillez pas avec la Comtesse<73>». Elle me serra la main, et
|
2004-03-14 16:00:56 +01:00
|
|
|
|
me quitta.
|
|
|
|
|
</pre>
|
2002-11-22 20:19:50 +01:00
|
|
|
|
|
2004-03-14 16:00:56 +01:00
|
|
|
|
<p>
|
|
|
|
|
Cette commande devient tr<74>s int<6E>ressante avec l'option
|
2007-07-17 12:01:59 +02:00
|
|
|
|
<code>-f</code><3E>: celle-ci dit <20> <code>tail</code> de ne pas s'arr<72>ter
|
2004-03-14 16:00:56 +01:00
|
|
|
|
<EFBFBD> la fin du fichier, mais de continuer <20> afficher les nouvelles
|
|
|
|
|
informations qui seraient ajout<75>es au fichier. Une applications
|
|
|
|
|
typique est la surveillance des fichiers de logs (journaux o<> le
|
|
|
|
|
syst<EFBFBD>me, ou certains programmes, consignent des informations sur leur
|
|
|
|
|
travail).
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<h4>Application</h4>
|
2002-11-22 20:19:50 +01:00
|
|
|
|
|
|
|
|
|
<p>
|
2004-03-14 16:00:56 +01:00
|
|
|
|
Vous <20>tes en train de r<>diger votre <a
|
|
|
|
|
href="&url.tuteurs;internet/web/htaccess.html"><code>.htaccess</code></a>
|
|
|
|
|
(fichier de configuration du serveur Web, Apache) et vous voulez
|
|
|
|
|
regarder en temps r<>el les messages d'erreur du serveur.
|
2002-11-22 20:19:50 +01:00
|
|
|
|
</p>
|
|
|
|
|
|
2004-03-14 16:00:56 +01:00
|
|
|
|
<div class="ens">
|
|
|
|
|
Ces messages d'erreur, <20> l'ENS, sont dans
|
|
|
|
|
<code>~webmaster/logs/access_log.curr</code>, il faut donc surveiller
|
|
|
|
|
les messages d'erreur sui arrivent au fur et <20> mesure que vous faites
|
2007-07-17 12:01:59 +02:00
|
|
|
|
vos essais. Tapez dans l'une de vos fen<65>tres la commande suivante<74>:
|
2004-03-14 16:00:56 +01:00
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<pre>
|
|
|
|
|
<span class="prompt">clipper ~ $</span> tail -f ~webmaster/logs/access_log.curr | grep monlogin
|
|
|
|
|
</pre>
|
|
|
|
|
|
|
|
|
|
<p class="continue">
|
|
|
|
|
et vous verrez s'afficher, au fur et <20> mesure et en temps r<>el, toutes
|
|
|
|
|
les erreurs qui contiennent votre login, donc vos pages. Pour arr<72>ter
|
|
|
|
|
<code>tail</code> quand vous en avez assez, tapez <code>Ctrl+C</code>.
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<h2>Manipuler les fichiers</h2>
|
|
|
|
|
|
|
|
|
|
<h3>Copier un fichier</h3>
|
2002-11-22 20:19:50 +01:00
|
|
|
|
|
|
|
|
|
<p>
|
2004-03-14 16:00:56 +01:00
|
|
|
|
<dfn>Copier un fichier</dfn>, c'est prendre un fichier d<>j<EFBFBD> existant
|
|
|
|
|
et en cr<63>er une copie rigoureusement identique sous un nom
|
|
|
|
|
diff<EFBFBD>rent. On utilise pour cela la commande <code>cp</code> (comme <i
|
|
|
|
|
lang="en">cp</i>). Pour copier <code>toto.txt</code> en
|
2007-07-17 12:01:59 +02:00
|
|
|
|
<code>toto2.txt</code><3E>:
|
2004-03-14 16:00:56 +01:00
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<pre>
|
|
|
|
|
<span class="prompt">brick ~ $</span> cp toto.txt toto2.txt
|
|
|
|
|
</pre>
|
|
|
|
|
|
|
|
|
|
<p class="continue">
|
|
|
|
|
Notez qu'on ne peut pas se servir de <code>cp</code> pour copier un
|
|
|
|
|
r<EFBFBD>pertoire. Ainsi, si vous essayez de copier votre r<>pertoire
|
2007-07-17 12:01:59 +02:00
|
|
|
|
<code>www</code>, <code>cp</code> va se plaindre<72>:
|
2002-11-22 20:19:50 +01:00
|
|
|
|
</p>
|
|
|
|
|
|
2004-03-14 16:00:56 +01:00
|
|
|
|
<pre>
|
|
|
|
|
<span class="prompt">brick ~ $</span> cp www www2
|
|
|
|
|
cp: www: is a directory
|
|
|
|
|
</pre>
|
|
|
|
|
|
|
|
|
|
<div class="encadre">
|
2007-07-17 12:01:59 +02:00
|
|
|
|
<strong>S'exercer<65>:</strong> pour v<>rifier que vous avez bien compris,
|
2004-03-14 16:00:56 +01:00
|
|
|
|
faites les <a href="exercices/cp_mv.html">exercices sur <code>cp</code></a>.
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<h3><a name="mv">Renommer un fichier</a> ou un r<>pertoire</h3>
|
|
|
|
|
|
2002-11-22 20:19:50 +01:00
|
|
|
|
<p>
|
2004-03-14 16:00:56 +01:00
|
|
|
|
<dfn>Renommer un fichier</dfn>, c'est lui donner un nouveau nom, sans
|
|
|
|
|
rien modifier d'autre. On utilise pour cela la commande
|
|
|
|
|
<code>mv</code> (comme <i lang="en">move</i>). Pour renommer
|
2007-07-17 12:01:59 +02:00
|
|
|
|
<code>dissert.tex</code> en <code>dissertation.tex</code><3E>:
|
2002-11-22 20:19:50 +01:00
|
|
|
|
</p>
|
|
|
|
|
|
2004-03-14 16:00:56 +01:00
|
|
|
|
<pre>
|
|
|
|
|
<span class="prompt">brick ~ $</span> mv dissert.tex dissertation.tex
|
|
|
|
|
</pre>
|
|
|
|
|
|
2002-11-22 20:19:50 +01:00
|
|
|
|
<p>
|
2004-03-14 16:00:56 +01:00
|
|
|
|
La m<>me commande sert <20>galement, avec la m<>me syntaxe, pour les
|
|
|
|
|
r<EFBFBD>pertoires. Ainsi, si vous voulez renommer votre r<>pertoire
|
2007-07-17 12:01:59 +02:00
|
|
|
|
<code>boulot</code> en r<>pertoire <code>magistere</code><3E>:
|
2002-11-22 20:19:50 +01:00
|
|
|
|
</p>
|
|
|
|
|
|
2004-03-14 16:00:56 +01:00
|
|
|
|
<pre>
|
|
|
|
|
<span class="prompt">brick ~ $</span> mv boulot magistere
|
|
|
|
|
</pre>
|
|
|
|
|
|
|
|
|
|
<h3>D<>placer un fichier</h3>
|
2002-11-22 20:19:50 +01:00
|
|
|
|
|
|
|
|
|
<p>
|
2004-03-14 16:00:56 +01:00
|
|
|
|
C'est toujours la commande <code>mv</code> que l'on utilise. La
|
2007-07-17 12:01:59 +02:00
|
|
|
|
syntaxe est la suivante<74>: <code>mv fichier
|
2004-03-14 16:00:56 +01:00
|
|
|
|
nouvel_endroit</code>. Ainsi, vous voulez d<>placez le fichier
|
|
|
|
|
<code>cv.html</code>, situ<74> <20> la racine de votre compte, dans votre
|
2007-07-17 12:01:59 +02:00
|
|
|
|
r<EFBFBD>pertoire <code>www</code><3E>:
|
2004-03-14 16:00:56 +01:00
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<pre>
|
|
|
|
|
<span class="prompt">brick ~ $</span> mv cv.html www
|
|
|
|
|
</pre>
|
|
|
|
|
|
|
|
|
|
<p class="continue">
|
2007-07-17 12:01:59 +02:00
|
|
|
|
Autre exemple<6C>:
|
2004-03-14 16:00:56 +01:00
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<pre>
|
|
|
|
|
<span class="prompt">brick ~ $</span> mv fichier ..
|
|
|
|
|
</pre>
|
|
|
|
|
|
|
|
|
|
<p class="continue">
|
2007-07-17 12:01:59 +02:00
|
|
|
|
d<EFBFBD>place un fichier dans le r<>pertoire p<>re —<3B>si vous ne
|
2004-03-14 16:00:56 +01:00
|
|
|
|
comprenez pas ce terme, reportez-vous au tableau qui illustre la
|
|
|
|
|
commande <a href="repertoires.html#cd"><code>cd</code></a> dans la
|
|
|
|
|
page sur les <a href="repertoires.html">r<>pertoires</a>.
|
2002-11-22 20:19:50 +01:00
|
|
|
|
</p>
|
|
|
|
|
|
2004-03-14 16:00:56 +01:00
|
|
|
|
<div class="encadre">
|
|
|
|
|
<strong>S'exercer :</strong> pour v<>rifier que vous avez bien compris,
|
|
|
|
|
faites les <a href="exercices/cp_mv.html">exercices sur
|
|
|
|
|
<code>mv</code></a>. </div>
|
|
|
|
|
|
|
|
|
|
<h3><a name="rm">Effacer un fichier</a></h3>
|
|
|
|
|
|
2002-11-22 20:19:50 +01:00
|
|
|
|
<p>
|
2004-03-14 16:00:56 +01:00
|
|
|
|
Sous Unix, <dfn>effacer un fichier</dfn>, c'est le d<>truire de fa<66>on
|
|
|
|
|
<strong>irr<72>versible</strong>. Pas de concept de poubelle dans
|
2007-07-17 12:01:59 +02:00
|
|
|
|
laquelle on peut fouiller, comme sous Windows ou Mac<61>OS. C'est la
|
2004-03-14 16:00:56 +01:00
|
|
|
|
commande <code>rm</code> (comme <i lang="en">remove</i>) qui efface un
|
2007-07-17 12:01:59 +02:00
|
|
|
|
fichier<EFBFBD>:
|
2002-11-22 20:19:50 +01:00
|
|
|
|
</p>
|
|
|
|
|
|
2004-03-14 16:00:56 +01:00
|
|
|
|
<pre>
|
|
|
|
|
<span class="prompt">brick ~ $</span> rm fichier
|
|
|
|
|
</pre>
|
|
|
|
|
|
|
|
|
|
<div class="ens">
|
|
|
|
|
Dans les configs conscrits, depuis un certain temps, <code>rm</code>
|
2007-07-17 12:01:59 +02:00
|
|
|
|
vous demande de confirmer l'ordre d'effacement<6E>:
|
2004-03-14 16:00:56 +01:00
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<pre>
|
|
|
|
|
<span class="prompt">brick ~ $</span> rm fichier
|
|
|
|
|
rm: remove fichier (yes/no)?
|
|
|
|
|
</pre>
|
|
|
|
|
|
|
|
|
|
<div class="ens">
|
|
|
|
|
En effet, le <code>rm</code> que vous utilisez fait en fait <code>rm
|
2007-07-17 12:01:59 +02:00
|
|
|
|
-i</code>, comme vous le montrera la commande <code>which</code><3E>:
|
2004-03-14 16:00:56 +01:00
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<pre>
|
|
|
|
|
<span class="prompt">brick ~ $</span> which rm
|
|
|
|
|
rm: aliased to nocorrect rm -i
|
|
|
|
|
</pre>
|
|
|
|
|
|
|
|
|
|
<p class="continue">
|
|
|
|
|
Cette pr<70>caution <20>vite le fameux doigt qui glisse et autres erreurs
|
|
|
|
|
qui effacent par m<>garde des fichiers importants. Mais cette
|
2007-07-17 12:01:59 +02:00
|
|
|
|
pr<EFBFBD>caution n'existe pas pour toutes les configurations<6E>: observez donc
|
2004-03-14 16:00:56 +01:00
|
|
|
|
la plus grande prudence en utilisant <code>rm</code>.
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<div class="encadre">
|
2007-07-17 12:01:59 +02:00
|
|
|
|
<strong>Remarque</strong><3E>: <20> l'ENS, les partitions utilisateurs sont
|
2004-03-14 16:00:56 +01:00
|
|
|
|
sauvegard<EFBFBD>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 <20>lectronique au <a
|
|
|
|
|
href="http://www.spi.ens.fr/">SPI</a> pour demander qu'on vous le
|
|
|
|
|
r<EFBFBD>cup<EFBFBD>re.
|
|
|
|
|
</div>
|
|
|
|
|
|
2002-11-22 20:19:50 +01:00
|
|
|
|
<p>
|
2002-12-16 09:07:27 +01:00
|
|
|
|
Il existe aussi <a href="&url.tuteurs;logiciels/rcs/">RCS</a>, qui
|
2002-11-22 20:19:50 +01:00
|
|
|
|
enregistre des copies de sauvegarde de vos fichiers, et permet de g<>rer
|
|
|
|
|
les diff<66>rentes versions de votre travail.
|
|
|
|
|
</p>
|
|
|
|
|
|
2004-03-14 16:00:56 +01:00
|
|
|
|
<h4>Effacer plusieurs fichiers en m<>me temps</h4>
|
2002-11-22 20:19:50 +01:00
|
|
|
|
|
|
|
|
|
<p>
|
2004-03-14 16:00:56 +01:00
|
|
|
|
Nettoyage de printemps sur votre compte, vous voulez supprimer
|
|
|
|
|
plusieurs fichiers en m<>me temps. Il suffit tout simplement de les
|
2007-07-17 12:01:59 +02:00
|
|
|
|
indiquer <20> la suite <20> <code>rm</code><3E>:
|
2004-03-14 16:00:56 +01:00
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<pre>
|
|
|
|
|
<span class="prompt">brick ~ $</span> rm article_vn.tex article_leveque.tex article_leveque2.tex
|
|
|
|
|
</pre>
|
|
|
|
|
|
|
|
|
|
<h4>Effacer un r<>pertoire et son contenu</h4>
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
La commande pour effacer un r<>pertoire est <code>rmdir</code>
|
|
|
|
|
(cf. notre <a href="repertoires.html">page sur les r<>pertoires</a>),
|
|
|
|
|
mais elle ne marche que si le r<>pertoire est vide. La commande
|
2007-07-17 12:01:59 +02:00
|
|
|
|
<code>rm</code> ne peut pas effacer directement un r<>pertoire<72>:
|
2004-03-14 16:00:56 +01:00
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<pre>
|
|
|
|
|
<span class="prompt">brick ~ $</span> rm www
|
|
|
|
|
rm: www is a directory
|
|
|
|
|
</pre>
|
|
|
|
|
|
|
|
|
|
<p class="continue">
|
|
|
|
|
Pour effacer un r<>pertoire <em>et son contenu</em>, utilisez l'option
|
|
|
|
|
<code>-R</code> (comme <i lang="en">recursive</i> de
|
|
|
|
|
<code>rm</code>. Pour effacer votre r<>pertoire <code>toto/</code> et
|
2007-07-17 12:01:59 +02:00
|
|
|
|
les fichiers qu'il contient, tapez<65>:
|
2004-03-14 16:00:56 +01:00
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<pre>
|
|
|
|
|
<span class="prompt">brick ~ $</span> rm -R toto
|
|
|
|
|
</pre>
|
|
|
|
|
|
|
|
|
|
<div class="ens">
|
|
|
|
|
<EFBFBD> l'ENS, parce que <code>rm</code> est en fait <code>rm -i</code>,
|
|
|
|
|
<code>rm</code> vous demandera confirmation pour chacun des fichiers
|
2007-07-17 12:01:59 +02:00
|
|
|
|
contenus dans le r<>pertoire <code>toto/</code><3E>:
|
2004-03-14 16:00:56 +01:00
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<pre>
|
|
|
|
|
<span class="prompt">brick ~ $</span> rm -R toto
|
|
|
|
|
rm: examine files in directory toto (yes/no)? yes
|
|
|
|
|
rm: remove toto/titi (yes/no)? y
|
|
|
|
|
rm: remove toto/tata (yes/no)?
|
|
|
|
|
(...)
|
|
|
|
|
</pre>
|
|
|
|
|
|
|
|
|
|
<p class="continue">
|
|
|
|
|
Si vous trouvez fastidieux de devoir r<>pondre oui <20> chaque fois, vous
|
|
|
|
|
pouvez utiliser en plus l'option <code>-f</code> (comme <i
|
|
|
|
|
lang="en">force</i>) de <code>rm</code>. Cette option supplante
|
|
|
|
|
l'option <code>-i</code> et <strong>efface irr<72>m<EFBFBD>diablement sans
|
|
|
|
|
demander confirmation</strong>. Faites donc tr<74>s attention avec.
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<h4>Effacer des fichiers au nom exotique</h4>
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
Comment effacer des fichiers qui comment par des caract<63>res bizarres,
|
2007-07-17 12:01:59 +02:00
|
|
|
|
ou qui comportent des espaces dans leur nom<6F>? La commande
|
|
|
|
|
<code>rm</code> semble devenir subitement inefficace<63>! Essayons
|
2004-03-14 16:00:56 +01:00
|
|
|
|
d'abord avec un fichier avec des espaces :
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<pre>
|
|
|
|
|
<span class="prompt">brick ~ $</span> rm si<73>cle de p<>ricl<63>s.doc
|
|
|
|
|
rm: si<73>cle: No such file or directory
|
|
|
|
|
rm: de: No such file or directory
|
|
|
|
|
rm: p<>ricl<63>s.doc: No such file or directory
|
|
|
|
|
</pre>
|
|
|
|
|
|
|
|
|
|
<p class="continue">
|
|
|
|
|
En fait, <code>rm</code> croit que vous voulez effacer d'abord un
|
|
|
|
|
fichier appel<65> <code>si<73>cle</code>, puis un autre appel<65>
|
|
|
|
|
<code>de</code>, etc. La solution est de mettre le nom du fichier
|
2007-07-17 12:01:59 +02:00
|
|
|
|
entre guillemets ("), et <code>rm</code> l'efface sans probl<62>me<6D>:
|
2004-03-14 16:00:56 +01:00
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<pre>
|
|
|
|
|
<span class="prompt">brick ~ $</span> rm "si<73>cle de p<>ricl<63>s.doc"
|
|
|
|
|
remove si<73>cle de p<>ricl<63>s.doc? y
|
|
|
|
|
<span class="prompt">brick ~ $</span>
|
|
|
|
|
</pre>
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
Essayons maintenant avec un fichier commen<65>ant par un caract<63>re
|
2007-07-17 12:01:59 +02:00
|
|
|
|
bizarre, par exemple un tiret<65>:
|
2004-03-14 16:00:56 +01:00
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<pre>
|
|
|
|
|
<span class="prompt">brick ~ $</span> rm -bla
|
|
|
|
|
rm: illegal option -- b
|
|
|
|
|
usage: rm [-f | -i] [-dPRrvW] file ...
|
|
|
|
|
unlink file
|
|
|
|
|
<span class="prompt">brick ~ $</span> rm "-bla"
|
|
|
|
|
rm: illegal option -- b
|
|
|
|
|
usage: rm [-f | -i] [-dPRrvW] file ...
|
|
|
|
|
unlink file
|
|
|
|
|
</pre>
|
|
|
|
|
|
|
|
|
|
<p class="continue">
|
|
|
|
|
Pas bien brillant... La commande <code>rm</code> croit <20> cause du
|
|
|
|
|
tiret initial qu'il s'agit d'options. Or il n'y a pas d'option
|
2007-07-17 12:01:59 +02:00
|
|
|
|
<code>-b</code> pour <code>rm</code>. Solution<6F>: utiliser l'option
|
|
|
|
|
<code>--</code><3E>:
|
2004-03-14 16:00:56 +01:00
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<pre>
|
|
|
|
|
<span class="prompt">brick ~ $</span> rm -- -bla
|
|
|
|
|
remove -bla?
|
|
|
|
|
</pre>
|
|
|
|
|
|
|
|
|
|
<p class="continue">
|
|
|
|
|
Une autre solution consiste <20> donner <20> <code>rm</code> un chemin,
|
2007-07-17 12:01:59 +02:00
|
|
|
|
absolu ou relatif. Avec un chemin relatif, par exemple<6C>:
|
2004-03-14 16:00:56 +01:00
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<pre>
|
|
|
|
|
<span class="prompt">brick ~ $</span> rm ./-bla
|
|
|
|
|
remove -bla?
|
|
|
|
|
</pre>
|
|
|
|
|
|
|
|
|
|
<h3>Concat<61>ner des fichiers</h3>
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
<dfn>Concat<61>ner des fichiers</dfn>, c'est les placer bout <20> bout. On
|
|
|
|
|
utilise la commande <code>cat</code> (comme <i
|
2007-07-17 12:01:59 +02:00
|
|
|
|
lang="en">concatenate</i>)<29>:
|
2004-03-14 16:00:56 +01:00
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<pre>
|
|
|
|
|
<span class="prompt">brick ~ $</span> cat fichier1 fichier2 > fichier3
|
|
|
|
|
</pre>
|
|
|
|
|
|
|
|
|
|
<p class="continue">
|
|
|
|
|
Les fichiers 1 et 2 plac<61>s bout <20> bout et le r<>sultat est mis dans un
|
|
|
|
|
<code>fichier3</code> cr<63><72> automatiquement. Le <i lang="en">shell</i>
|
|
|
|
|
refuse d'<27>craser un fichier existant.
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<p class="continue">
|
|
|
|
|
Dans <code>fichier3</code> appara<72>t d'abord <code>fichier1</code> puis
|
|
|
|
|
<code>fichier2</code>. Concat<61>ner deux fichiers de la sorte ne les
|
|
|
|
|
d<EFBFBD>truit pas (il existe <20> la fois <code>fichier1</code>,
|
|
|
|
|
<code>fichier2</code> et <code>fichier3</code>).
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
On peut aussi placer deux fichiers bout <20> bout sans cr<63>er de troisi<73>me
|
2007-07-17 12:01:59 +02:00
|
|
|
|
fichier. La syntaxe est alors la suivante<74>:
|
2004-03-14 16:00:56 +01:00
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<pre>
|
|
|
|
|
<span class="prompt">brick ~ $</span> cat fichier2 >> fichier1</pre>
|
|
|
|
|
|
|
|
|
|
<p class="continue">
|
2007-07-17 12:01:59 +02:00
|
|
|
|
<code>fichier2</code> est plac<61> <20><>au bout<75><74> de <code>fichier1</code>.
|
2004-03-14 16:00:56 +01:00
|
|
|
|
<code>fichier2</code> reste inchang<6E>, <code>fichier1</code> contient
|
|
|
|
|
d<EFBFBD>sormais son propre texte suivi du texte de <code>fichier2</code>.
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<h2>R<>capitulons (exemple)</h2>
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
On veut renommer le fichier <code>chrono</code> du sous-r<>pertoire
|
|
|
|
|
<code>ancienne/</code> en <code>evolution</code>, et le mettre dans le
|
|
|
|
|
r<EFBFBD>pertoire <code>histoire/</code>. Dans cet exemple, nous sommes dans
|
2007-07-17 12:01:59 +02:00
|
|
|
|
<code>histoire/ancienne/</code><3E>:
|
2002-11-22 20:19:50 +01:00
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<div class="illustration">
|
|
|
|
|
<table class="tableau">
|
|
|
|
|
<tr>
|
|
|
|
|
<td>
|
2007-07-17 12:01:59 +02:00
|
|
|
|
<p class="continue"><strong>(1)</strong> <20>tat de d<>part<72>:</p>
|
2002-11-22 20:19:50 +01:00
|
|
|
|
<img src="fichiers_ex1.png" alt="[histoire (ancienne (chrono, empire.tex))]"/>
|
|
|
|
|
</td>
|
|
|
|
|
<td>
|
|
|
|
|
<p class="continue"><strong>(2)</strong> <code>cp chrono evolution</code></p>
|
|
|
|
|
<img src="fichiers_ex2.png" alt="[histoire (ancienne (chrono, empire.tex, evolution))]"/>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td>
|
|
|
|
|
<p class="continue"><strong>(3)</strong> <code>mv evolution ..</code></p>
|
|
|
|
|
<img src="fichiers_ex3.png" alt="[histoire (ancienne (chrono, empire.tex), evolution)]"/>
|
|
|
|
|
</td>
|
|
|
|
|
<td>
|
|
|
|
|
<p class="continue"><strong>(4)</strong> <code>rm chrono</code></p>
|
|
|
|
|
<img src="fichiers_ex4.png" alt="[histoire (ancienne (empire.tex), evolution)]"/>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
</table>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<p>
|
2007-07-17 12:01:59 +02:00
|
|
|
|
On peut aussi faire plus rapidement<6E>:
|
2002-11-22 20:19:50 +01:00
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<pre>
|
|
|
|
|
mv chrono evolution
|
|
|
|
|
mv evolution ..</pre>
|
|
|
|
|
|
|
|
|
|
<p>
|
2007-07-17 12:01:59 +02:00
|
|
|
|
Ou, en une seule ligne de commande<64>:
|
2002-11-22 20:19:50 +01:00
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<pre>
|
|
|
|
|
mv chrono ../evolution</pre>
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
La m<>me s<>rie d'op<6F>rations est possible depuis <code>histoire/</code>; elle se
|
2007-07-17 12:01:59 +02:00
|
|
|
|
fera avec la suite de commandes suivantes<65>:
|
2002-11-22 20:19:50 +01:00
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<table class="tableau">
|
|
|
|
|
<tr>
|
|
|
|
|
<td><pre>cp ancienne/chrono evolution
|
|
|
|
|
rm ancienne/chrono</pre>
|
|
|
|
|
</td>
|
|
|
|
|
<td>On recopie le fichier <code>chrono</code> du sous-r<>pertoire
|
|
|
|
|
<code>ancienne/</code> en un second fichier <code>evolution</code> plac<61> dans
|
2007-07-17 12:01:59 +02:00
|
|
|
|
le r<>pertoire courant<6E>: on se retrouve directement dans l'<27>tat 3.
|
2002-11-22 20:19:50 +01:00
|
|
|
|
Ensuite, on efface le fichier <code>chrono</code> qui est toujours dans le
|
|
|
|
|
r<EFBFBD>pertoire <code>ancienne/</code>.</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td><pre>mv ancienne/chrono ..
|
|
|
|
|
mv chrono evolution</pre></td>
|
|
|
|
|
<td>D'abord on d<>place le fichier, ensuite on le renomme.</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td>
|
|
|
|
|
<pre>mv ancienne/chrono evolution</pre></td>
|
|
|
|
|
<td> En une seule ligne, on d<>place le fichier et on le renomme.</td>
|
|
|
|
|
</tr>
|
|
|
|
|
</table>
|
|
|
|
|
|
|
|
|
|
<p>
|
2004-03-14 16:00:56 +01:00
|
|
|
|
Il y a donc rarement une seule fa<66>on de manipuler ses fichiers, c'est
|
|
|
|
|
une question d'aisance et de rapidit<69>.
|
2002-11-22 20:19:50 +01:00
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<div class="metainformation">
|
2007-09-17 07:46:15 +02:00
|
|
|
|
Auteurs<72>: <20>milia Robin (2002), Marie-Lan Nguyen (2004). Mise <20> jour<75>:
|
|
|
|
|
Marc Mezzarobba.
|
|
|
|
|
Derni<EFBFBD>re modification<6F>: le <date value="$Date: 2007-09-17 05:46:15 $" />.
|
2002-11-22 20:19:50 +01:00
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</body>
|
|
|
|
|
</html>
|