Show node3.html syntax highlighted
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with LaTeX2HTML 99.2beta8 (1.42)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>Comment fait-on ??</TITLE>
<META NAME="description" CONTENT="Comment fait-on ??">
<META NAME="keywords" CONTENT="talk_bash">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="LaTeX2HTML v99.2beta8">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="talk_bash.css">
<LINK REL="next" HREF="node4.html">
<LINK REL="previous" HREF="node2.html">
<LINK REL="up" HREF="talk_bash.html">
<LINK REL="next" HREF="node4.html">
</HEAD>
<BODY >
<A NAME="tex2html159"
HREF="node4.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="./icons/next.png"></A>
<A NAME="tex2html155"
HREF="talk_bash.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="./icons/up.png"></A>
<A NAME="tex2html149"
HREF="node2.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="./icons/prev.png"></A>
<A NAME="tex2html157"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="./icons/contents.png"></A> <BR>
<B> Next:</B> <A NAME="tex2html160"
HREF="node4.html">Voir et connaître</A>
<B>Up:</B> <A NAME="tex2html156"
HREF="talk_bash.html">La console - version</A>
<B> Previous:</B> <A NAME="tex2html150"
HREF="node2.html">Début</A>
<BR> <HR> <P>
<!--End of Navigation Panel-->
<!--Table of Child-Links-->
<A NAME="CHILD_LINKS"><STRONG>Sous-sections</STRONG></A>
<UL>
<LI><A NAME="tex2html161"
HREF="node3.html#SECTION00031000000000000000">Je ne veux pas travailler en console: trop long d'écrire les noms de fichiers au complet.</A>
<LI><A NAME="tex2html162"
HREF="node3.html#SECTION00032000000000000000">Je ne comprend même pas ce qui est écrit. D'abord, c'est quoi le <I>prompt</I>?</A>
<LI><A NAME="tex2html163"
HREF="node3.html#SECTION00033000000000000000">Réécrire chaque fois sa ligne de commande ?? </A>
<LI><A NAME="tex2html164"
HREF="node3.html#SECTION00034000000000000000">Énumérer le contenu d'un répertoire</A>
<LI><A NAME="tex2html165"
HREF="node3.html#SECTION00035000000000000000">Comment se promener dans les répertoires ??</A>
<LI><A NAME="tex2html166"
HREF="node3.html#SECTION00036000000000000000">Je cherche un document dans mon arborescence</A>
<LI><A NAME="tex2html167"
HREF="node3.html#SECTION00037000000000000000">Comment bouger, renommer, copier et effacer un fichier ?? </A>
<LI><A NAME="tex2html168"
HREF="node3.html#SECTION00038000000000000000">Je veux pouvoir créer, détruire, renommer et copier mes répertoires</A>
<LI><A NAME="tex2html169"
HREF="node3.html#SECTION00039000000000000000">Ou est l'éditeur de texte ??</A>
<LI><A NAME="tex2html170"
HREF="node3.html#SECTION000310000000000000000">Où est le traitement de texte ??</A>
<LI><A NAME="tex2html171"
HREF="node3.html#SECTION000311000000000000000">Un programme me donne trop d'information défilante, j'en manque tout le début.</A>
<LI><A NAME="tex2html172"
HREF="node3.html#SECTION000312000000000000000">J'utilise toujours une/plusieurs option(s) d'une commande, pourrais-je m'éviter de l'(les) écrire chaque fois ??</A>
<LI><A NAME="tex2html173"
HREF="node3.html#SECTION000313000000000000000">Comment personnaliser sa console ??</A>
<LI><A NAME="tex2html174"
HREF="node3.html#SECTION000314000000000000000">C'est quoi un script shell ??</A>
<LI><A NAME="tex2html175"
HREF="node3.html#SECTION000315000000000000000">Y a-t-il de l'information quelque part ??</A>
</UL>
<!--End of Table of Child-Links-->
<HR>
<H1><A NAME="SECTION00030000000000000000">
Comment fait-on ??</A>
</H1>
<P>
La question du comment survient si souvent. Il faut admettre avec Linux qu'il y a toujours, toujours, au moins une façon de satisfaire nos requêtes numériques.
<P>
Par contre, le comment demeure et hante. Plusieurs outils de documentation sont disponibles, comme en témoigne la section <A HREF="node10.html#sec:plus">pour en savoir plus</A>. Pas toujours claire au départ, la documentation lie plutôt une commande à ses possibilités, à ses tonnes d'options, etc.
<P>
Pour le débutant que je suis, je cherche le contraire: qu'on relie un effet à sa cause. C'est le pourquoi de cette section.
<P>
Avec les quelques commandes présenter ensuite dans le document, on pourra répondre à ces questions, parfois de plus d'une manière.
<P>
<H2><A NAME="SECTION00031000000000000000"></A>
<A NAME="sub:q1"></A>
<BR>
Je ne veux pas travailler en console: trop long d'écrire les noms de fichiers au complet.
</H2>
Il existe une touche, TAB, qui complète les noms quand il n'y a pas d'ambiguité, sinon offre un choix.
<P>
C'est <A HREF="node2.html#sub:completion">la complétion</A> .
<P>
<H2><A NAME="SECTION00032000000000000000"></A>
<A NAME="sub:q2"></A>
<BR>
Je ne comprend même pas ce qui est écrit. D'abord, c'est quoi le <I>prompt</I>?
</H2>
Pour comprendre cette ligne:
<BR><code>utilisateur@ordinateur ~/rep></code>
<BR>
il faut lire ces quelques mots sur <A HREF="node2.html#sub:invite">l'invite de commande</A>.
<P>
<H2><A NAME="SECTION00033000000000000000"></A>
<A NAME="sub:q3"></A>
<BR>
Réécrire chaque fois sa ligne de commande ??
</H2>
Le bash se souvient des commandes faites par l'utilisateur. Il en garde un historique des commandes. Ces dernières sont accessibles via les flèches du clavier. Voir <A HREF="node2.html#sub:fleches">le bon usage des flèches</A>.
<P>
<H2><A NAME="SECTION00034000000000000000"></A>
<A NAME="sub:q4"></A>
<BR>
Énumérer le contenu d'un répertoire
</H2>
Une commande se dédie à cette tâche: <A HREF="node4.html#sub:ls">ls</A>.
<P>
Si il est trop long, on peut rediriger l'énumération (voir <A HREF="node2.html#sub:redirection">la redirection</A>): dans un fichier, <code>ls > listing.txt</code>, ou l'envoyer à une seconde commande permettant de voir page par page le résultat: <code>ls | less</code>.
<P>
<H2><A NAME="SECTION00035000000000000000"></A>
<A NAME="sub:q5"></A>
<BR>
Comment se promener dans les répertoires ??
</H2>
<P>
Une commande se dédie à cette tâche: <A HREF="node5.html#sub:cd">cd</A>.
<P>
Si le répertoire ne commence pas par un <code>/</code>, le shell le recherchera à partir du répertoire courant. On peut se servir de l'abbréviation pour son répertoire racine personnel (<I>home</I>): <code>~</code> le tilde<A HREF="node2.html#sub:invite"> décrit ici</A>.
<P>
<H2><A NAME="SECTION00036000000000000000"></A>
<A NAME="sub:q6"></A>
<BR>
Je cherche un document dans mon arborescence
</H2>
Le plus simple demeure la commande <A HREF="node5.html#sub:locate">locate</A>.
Cette commande cherche dans sa base de donnée renouvelée toutes les nuits habituellement.
<P>
La commande <A HREF="node5.html#sub:find">find</A> éxécute des recherches sur demande, avec autant de critères que l'on veut, pas seulement sur le PATRON que l'on recherche dans le nom.
<P>
<H2><A NAME="SECTION00037000000000000000"></A>
<A NAME="sub:q7"></A>
<BR>
Comment bouger, renommer, copier et effacer un fichier ??
</H2>
<P>
Pour bouger un fichier, on fait appel à <A HREF="node7.html#sub:mv">mv (<I>move</I>)</A>
<BR><code>mv SOURCE DESTINATION</code>
<P>
Renommer n'a pas besoin de commande spécifique: on déplace un fichier d'un nom à un second.
<BR><code>mv ANCIEN_NOM NOUVEAU_NOM</code>
<P>
la copie se fait avec, ô surprise, <A HREF="node7.html#sub:cp">cp (<I>copy</I>)</A>.
<P>
Pour effacer, c'est encore très original: <A HREF="node8.html#sub:rm">rm</A>. Cependant, il faut être prudent, car une fois parti, le fichier est vraiment prti. Pour réduire les risques de pendaison, voici deux trucs:
<UL>
<LI>Toujours ajouter l'option "-i" à la commande rm<A NAME="tex2html2"
HREF="#foot403"><SUP>2</SUP></A>.
</LI>
<LI>détourner complètement la signification de rm et en fait envoyer les fichiers dans une corbeille. Ce truc est expliqué à la section <A HREF="node9.html#subsub:corbeille">sur les alias</A>.
</LI>
</UL>
<P>
<H2><A NAME="SECTION00038000000000000000"></A>
<A NAME="sub:q8"></A>
<BR>
Je veux pouvoir créer, détruire, renommer et copier mes répertoires
</H2>
<UL>
<LI>créer (<I>make</I>): <A HREF="node6.html#sub:mkdir">mkdir</A>.
</LI>
<LI>détruire, enlever (<I>remove</I>): <A HREF="node8.html#sub:rmdir">rmdir</A>.
</LI>
<LI>renommer: <A HREF="node7.html#sub:mv">mv</A>.
</LI>
<LI>copier: <A HREF="node7.html#sub:cp">cp -r</A>.
</LI>
</UL>
<P>
Il existe une autre façon d'effacer un répertoire: <code>rm -r</code>. la commande <A HREF="node8.html#sub:rm">rm</A> n'enlève normalement que les fichiers et se plaindrait, sans même le faire, si on lui demandait d'effacer un répertoire. L'option "-r" permet cette destruction.
<P>
<H2><A NAME="SECTION00039000000000000000"></A>
<A NAME="sub:q9"></A>
<BR>
Ou est l'éditeur de texte ??
</H2>
On parle ici d'éditeur, pas de traitement de texte (à-la-M$Word).
Là, le choix est grand. Pour s'en convaincre, faites la commande
<BR><code>apropos editor</code>
<BR><A HREF="node10.html#sub:apropos">apropos</A> donne une liste de commandes ayant trait au mot-clé (PATRON) demandé.
<P>
Dans les simples, on trouve <A HREF="node6.html#sub:pico">pico</A>, utilisé par Pine, un lecteur de email.
<P>
Dans les plus extrêmes en richesse et gadgets, <A HREF="node6.html#sub:vim">ViM</A> et Emacs (que je ne présente pas).
<P>
Un ancêtre à connaître si on se promène d'un OS *NIX à un autre: <A HREF="node6.html#sub:vim">vi</A>.
<P>
<H2><A NAME="SECTION000310000000000000000"></A>
<A NAME="sub:q10"></A>
<BR>
Où est le traitement de texte ??
</H2>
PLusieurs sont disponibles, de simples à complexes, d'aisés à hermétiques.
<P>
Pour n'en citer que quelques uns
:
<UL>
<LI>StarOffice
</LI>
<LI>LyX
</LI>
<LI>Mais surtout L<SUP><SMALL>A</SMALL></SUP>T<SMALL>E</SMALL>X.
</LI>
</UL>
<P>
<H2><A NAME="SECTION000311000000000000000"></A>
<A NAME="sub:q11"></A>
<BR>
Un programme me donne trop d'information défilante, j'en manque tout le début.
</H2>
La <A HREF="node2.html#sub:redirection">redirection</A> permet justement de rediriger ce qui allait à l'écran vers un fichier, entre autres.
<P>
<H2><A NAME="SECTION000312000000000000000"></A>
<A NAME="sub:q12"></A>
<BR>
J'utilise toujours une/plusieurs option(s) d'une commande, pourrais-je m'éviter de l'(les) écrire chaque fois ??
</H2>
Tout à fait.
Durant une session de console, il est toujours utile de se servir des <A HREF="node9.html#subsub:alias">alias</A>, servant au début des lignes de commandes et agissant comme une abbréviation.
<P>
Mieux encore, il est possible d'inclure ses alias par défauts dans sa console.
Chaque console ouverte lit dans un fichier de configuration des paramètres à observer, des variables à initialiser, etc. Donc il suffit d'y inscrire ses alias (et plus tard toutes sortes de détails). Les alias et le bashrc sont survolés <A HREF="node9.html#sub:bashrc">ici</A>.
<P>
<H2><A NAME="SECTION000313000000000000000"></A>
<A NAME="sub:q13"></A>
<BR>
Comment personnaliser sa console ??
</H2>
Chaque nouvelle console ouverte lit dans un fichier de configuration des paramètres à observer, des variables à initialiser, etc. Donc il suffit d'y inscrire ses personnalisations et d'y changer les paramètres du BASH. Voir <A HREF="node9.html#sub:bashrc">ici</A>.
<P>
<H2><A NAME="SECTION000314000000000000000"></A>
<A NAME="sub:q14"></A>
<BR>
C'est quoi un script shell ??
</H2>
<P>
Façon subtil de renvoyer <A HREF="node9.html#sub:scripts">là</A> !!
<P>
<H2><A NAME="SECTION000315000000000000000"></A>
<A NAME="sub:q15"></A>
<BR>
Y a-t-il de l'information quelque part ??
</H2>
<P>
Oui. oui oui.
<P>
<BR>
<BR>
<P>
Plusieurs commandes fournissent de la documentation, de l'aide:
<UL>
<LI><A HREF="node10.html#sub:help">COMMANDE --help</A>
</LI>
<LI><A HREF="node10.html#sub:man">man COMMANDE</A>
</LI>
<LI><A HREF="node10.html#sub:info">info COMMANDE</A>
</LI>
<LI><A HREF="node10.html#sub:apropos">apropos COMMANDE</A>
</LI>
</UL>
<P>
Et <A HREF="node10.html#sub:internet">l'internet</A>, indispensable organe du Penguin.
<P>
<BR><HR><H4>Notes</H4>
<DL>
<DT><A NAME="foot403">... rm</A><A NAME="foot403"
HREF="node3.html#tex2html2"><SUP>2</SUP></A>
<DD>Il pourrait sembler pédestre de l'écrire à chaque fois, mais on peut inclure automatiquement des options pour une commande grâce au fichier de configuration du BASH <A HREF="node9.html#sub:bashrc">~/.bashrc</A>.
</DL><HR>
<A NAME="tex2html159"
HREF="node4.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="./icons/next.png"></A>
<A NAME="tex2html155"
HREF="talk_bash.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="./icons/up.png"></A>
<A NAME="tex2html149"
HREF="node2.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="./icons/prev.png"></A>
<A NAME="tex2html157"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="./icons/contents.png"></A> <BR>
<B> Next:</B> <A NAME="tex2html160"
HREF="node4.html">Voir et connaître</A>
<B>Up:</B> <A NAME="tex2html156"
HREF="talk_bash.html">La console - version</A>
<B> Previous:</B> <A NAME="tex2html150"
HREF="node2.html">Début</A>
<!--End of Navigation Panel-->
<ADDRESS>
<I>Xavier Barnabe-Theriault <BR>
2001-09-20</I>
</ADDRESS>
</BODY>
</HTML>
See more files for this project here