  De DOS a Linux
  Par Guido Gonzato <guido@ibogfs.df.unibo.it>
  v1.0, 11 Decembre 1996

  Ce  HOWTO est dedie a tous les (bientot ex- ?) utilisateurs de DOS qui
  viennent de faire le grand saut et ont decide  de  passer  a  Linux,le
  clone gratuit d'Unix pour les ordinateurs a base de 386 ou plus. Etant
  donne les similarites entre DOS et Unix, le but  de  ce  document  est
  d'aider  l'utilisateur  de transposer sa connaissance de DOS a l'envi-
  ronnement Linux, pour devenir productif le plus rapidement   possible.
  Adaption francaise : Mark Hoebeke (mh@ebene.jouy.inra.fr).

  11..  IInnttrroodduuccttiioonn

  11..11..  LLiinnuuxx eesstt--iill llee bboonn cchhooiixx ppoouurr vvoouuss ??

  Vous  voulez passer de DOS a Linux ? Bonne idee, mais attention : cela
  peut ne pas etre utile pour vous. A mon humble avis, il  n'existe  pas
  de  ``meilleur  ordinateur''  ou ``meilleur systeme d'exploitation'' :
  cela depend de ce que l'on veut faire. Voila pourquoi je ne crois  pas
  que Linux soit la meilleure solution pour tout le monde, meme s'il est
  techniquement superieur a de nombreux  systemes  d'exploitation.  Vous
  tirerez  un  immense  benefice  de  Linux si ce dont vous avez besoin,
  c'est de logiciels de  programmation,  de  l'internet,  de  TeX...  de
  logiciels  techniques  en  general,  mais  si  vos  besoins concernent
  d'abord des logiciels commerciaux, ou  si  vous  ne  vous  sentez  pas
  d'attaque  pour  apprendre  et  pour taper des commandes, passez votre
  chemin.

  Linux n'est  pas  (pour  l'instant)  aussi  facile  a  utiliser  et  a
  configurer que Windows ou le Mac, alors soyez pret(e) a bidouiller pas
  mal. En depit de ces avertissements, laissez-moi vous dire que je suis
  sur a 100% que si vous etes un utilisateur du bon type, vous trouverez
  en Linux votre Nirvana informatique. La balle est dans votre camp.  Et
  rappelez-vous  que,  de  toute  facon,   Linux  et DOS/Windows peuvent
  coexister sur la meme machine.

  Pre-requis pour ce HOWTO : je supposerai que

  +o  vous connaissez le commandes et les concepts de base de DOS;

  +o  Linux, et le  systeme  X  Window  si  possible,  sont  correctement
     installes sur votre PC;

  +o  votre shell--- l'equivalent du COMMAND.COM-- est bash;

  +o  vous  comprenez  que ce guide n'est qu'une introduction incomplete.
     Pour plus d'information,  consultez  le  ``Linux  Installation  and
     Getting  Started''  de  Matt Welsh et/ou le ``Linux User Guide'' de
     Larry Greenfield  (sunsite.unc.edu:/pub/Linux/docs/LDP).

     (NdT : "Le Guide du Rootard",  une introduction approfondie a Linux
     en   francais   est   disponible   sous   divers   format  a  l'URL
     ftp://ftp.ibp.fr/pub/linux/french/docs/ .)

  Ce howto remplace le vieux mini-howto ``From DOS to Linux - Quick !''.

  11..22..  OOuuii,, cc''eesstt llee bboonn cchhooiixx.. DDiitteess--mm''eenn pplluuss..

  Vous  avez installe Linux et les programmes dont vous aviez besoin sur
  le PC. Vous vous etes cree un compte (si ce n'est pas  le  cas,  tapez
  adduser  _s_u_r _l_e _c_h_a_m_p_!) et Linux tourne. Vous venez d'entrer votre nom
  et votre mot de passe, et, a present vous fixez l'ecran en  pensant  :
  ``Et maintenant ?''

  Ce n'est pas le moment de desesperer. Vous etes tout pres de faire les
  memes choses que vous aviez l'habitude de faire sous DOS, et  beaucoup
  plus.  Si  vous etiez sous DOS, au lieu d'etre sous Linux, vous feriez
  quelques unes des taches suivantes :

  +o  executer des programmes  et  creer,  copier,  visualiser,  effacer,
     renommer des fichiers;

  +o  faire des CD, MD, RD et DIR sur vos repertoires;

  +o  formatter  des  disquettes  et  copier des fichiers a partir de/sur
     ceux-ci;

  +o  vous occuper de vos AUTOEXEC.BAT et CONFIG.SYS;

  +o  ecrire vos propres fichiers .BAT et/ou programmes QBasic;

  +o  le 1% restant;

  Vous serez ravi de savoir que ces taches peuvent etre accomplies  sous
  Linux  d'une  maniere  similaire que sous DOS. Sous DOS, l'utilisateur
  moyen utilise bien peu des  plus de 100  commandes  disponibles  :  la
  meme chose, jusqu'a un certain point, reste valable pour Linux.

  Quelques points a souligner avant de continuer :

  +o  d'abord,  comment  en sortir. Pour quitter Linux : si vous voyez un
     ecran en mode texte, appuyez  sur  CTRL-ALT-DEL,  attendez  que  le
     systeme  ait  pris soin de ses entrailles et vous dise que tout est
     OK, eteignez alors le PC. Si vous  travaillez  sous  le  systeme  X
     Window,  appuyez  d'abord  sur  CTRL-ALT-BACKSPACE,  et ensuite sur
     CTRL-ALT-DEL. Ne _j_a_m_a_i_s eteindre ou reinitialiser le PC directement
     : cela peut endommager le systeme de fichiers;

  +o  contrairement  a  DOS, Linux a des mecanismes de securite internes,
     dus a sa nature multi-utilisateurs. Des droits sont  associees  aux
     fichiers  et  aux  repertoires,  et certains d'entre eux ne peuvent
     donc pas etre accessibles par un  utilisateur  ordinaire;  (cf.  la
     section  ``Droits'').  Seul  l'utilisateur dont le nom de login est
     ``root'' a tous les pouvoirs. (Ce gars  la  c'est  l'administrateur
     systeme.  Si  vous  travaillez sur votre propre PC, c'est egalement
     vous qui serez root.) Au contraire, DOS vous laissera effacer  tout
     le contenu de votre disque dur.

  +o  vous etes fortement encourage(e) a experimenter, jouer, essayer par
     vous-meme : cela ne fera surement pas de mal. Vous  pouvez  obtenir
     un  peu d'aide en tapant a l'invite ($ est l'invite standard, # est
     l'invite de root) :

       $ help

  (ceci donne de l'aide a propos de bash), ou, pour avoir  l'aide  d'une
  commande, tapez

       $ man commande

  ce  qui,  si vous avez installe les pages du manuel, invoquera la page
  du manuel (``man'') associee a commande. Vous pouvez agalement essayer
  :

       $ apropos commande
       $ whatis commande

  et tapez 'q' pour quitter;

  +o  une  grande  partie  de  la  puissance  et de la flexibilite d'Unix
     provient des concepts simples de redirection  et  de  ``piping''  (
     NdT.:  enchainement  des  commandes  ou  la  sortie  d'une commande
     devient l'entree de la commande suivante ), bien plus puissants que
     sous DOS. N'ayez pas peur d'utiliser ces commandes !

  +o  conventions  : <...> signifie que quelque chose doit etre specifie,
     alors que [...] designe quelque chose d'optionnel. Par exemple :

       $ tar -tf <fichier.tar> [> fichier_de_redirection]

  fichier.tar   doit   etre   indique,   mais   la   redirection    vers
  fichier_de_redirection est optionnelle.

  +o  a  partir  de maintenant, ``LPM'' signifie ``s'il vous plait, lisez
     les pages du manuel pour plus d'information''.

  11..33..  PPoouurr lleess iimmppaattiieennttss

  Vous voulez vous faire la main ? Jetez un oeil a ceci :

  DOS                     Linux                   Notes
  ------------------------------------------------------------------------------

  BACKUP                  tar -Mcvf device dir/   completement different
  CD dirname\             cd dirname/             presque la meme syntaxe
  COPY file1 file2        cp file1 file2          idem
  DEL file                rm file                 attention - pas de undelete
  DELTREE dirname         rm -R dirname/          idem
  DIR                     ls                      pas exactement la meme syntaxe
  EDIT file               vi file                 je ne pense pas que vous
                                                  aimerez
                          emacs file              ca c'est mieux
                          jstar file              un peu comme edit de dos
  FORMAT                  fdformat,
                          mount, umount           une syntaxe assez differente
  HELP command            man command             la meme philosophie
  MD dirname              mkdir dirname/          presque la meme syntaxe
  MOVE file1 file2        mv file1 file2          idem
  NUL                     /dev/null               idem
  PRINT file              lpr file                idem
  PRN                     /dev/lp0,
                          /dev/lp1                idem
  RD dirname              rmdir dirname/          presque la meme syntaxe
  REN file1 file2         mv file1 file2          ne marche pas pour des fichiers
                                                  mutliples
  RESTORE                 tar -Mxpvf device       une syntaxe differente
  TYPE file               less file               beaucoup mieux
  WIN                     startx                  completement differents !

  Si vous avez besoin de plus que d'une  table  de  commandes,  veuillez
  vous reporter aux sections suivantes.

  22..  LLeess ffiicchhiieerrss eett lleess pprrooggrraammmmeess

  22..11..  LLeess ffiicchhiieerrss :: nnootteess pprreelliimmiinnaaiirreess

  Linux  a  un  systeme de fichiers---ce qui signifie ``la structure des
  repertoires et des fichiers  qui  s'y  trouvent''---tres  similaire  a
  celui  de  DOS.  Les  fichiers ont des noms qui obeissent a des regles
  speciales,  sont  disposes  dans  des   repertoires,   certains   sont
  executables,  et  parmi  ceux-ci  la plupart ont des options. De plus,
  vous pouvez utiliser les caracteres ``joker'', faire des  redirections
  et  des  enchainements de commandes. Il n'y a que quelques differences
  mineures :

  +o  sous  DOS,  les  noms  de  fichiers  sont  de  la  forme  8.3;  ex.
     SUFFITPA.TXT.  Sous  Linux,   on  peut  faire  mieux.  Si vous avez
     installe  Linux en utilisant un systeme de fichiers comme  ext2  ou
     umsdos,  vous  pouvez  utiliser  des  noms  de  fichiers plus longs
     (jusqu'a 255 caracteres), et qui comportent plus d'un point  :  par
     exemple  Ceci_est.un.TRES_long.nom.de.fichier.  Veuillez  noter que
     j'ai utilise aussi bien des majuscules  que  des  minuscules  :  en
     fait...

  +o  dans  un  nom  de  fichier  ou  une commande, les majuscules et les
     minuscules  sont  differenciees.   Donc,   NOMDEFICHIER.tar.gz   et
     nomdefichier.tar.gz  sont  deux  fichiers  differents.  ls  est une
     commande, LS est une erreur;

  +o  il n'y a pas s'extensions obligatoires pour  les  programmes  comme
     .COM  et  .EXE, ou pour les fichiers batch comme .BAT. Les fichiers
     executables se terminent par une asterisque Par exemple :

       $ ls -F
       lettre_a_Joe  cindy.jpg  cjpg*  Je_suis_un_repertoire/  mon_1er_script*  old~

  Les fichiers cjpg* et mon_1er_script* sont executables---  des  ``pro-
  grammes''. Sous DOS, des fichiers de sauvegarde se terminent par .BAK,
  alors que sous Linux, ils se terminent par une tilde '~'. En outre, un
  fichier  dont  le nom commence par un point est considere comme cache.
  Exemple : le fichier .Je.suis.un.fichier.cache ne figurera pas dans la
  sortie de la commande ls;

  +o  Sous  DOS,  les options des programmes sont specifies avec /option,
     sous Linux il s'agit de -option  ou  --option.  Exemple  :  dir  /s
     devient  ls  -R.  Remarquez  quee de nombreux programmes DOS, comme
     PKZIP ou ARJ, utilisent les options a la maniere d'Unix.

  Vous pouvez  maintenant  vous  rendre  a  la  Section  ``Traduire  des
  commandes  DOS  vers  Linux'',  mais, a votre place je poursuivrais la
  lecture.

  22..22..  LLeess lliieennss ssyymmbboolliiqquueess

  Unix dispose d'un type de fichier qui n'existe pas sous DOS : le  lien
  symbolique. On peut le voir comme un pointeur sur un fichier ou sur un
  repertoire, et il peut etre utilise en lieu et place du fichier ou  du
  repertoire  sur lequel il pointe; cela ressemble aux raccourcis de Win
  95.  Des exemples de liens symboliques sont /usr/X11  qui  pointe  sur
  /usr/X11R6;  /dev/modem  qui  pointe  soit sur /dev/cua0 ou /dev/cua1.
  Pour creer un lien symbolique :

       $ ln -s <fichier_ou_rep> <nom_du_lien>

  Example :

       $ ln -s /usr/doc/g77/DOC g77manual.txt

  Maintenant,  vous   pouvez   utiliser   g77manual.txt   au   lieu   de
  /usr/doc/g77/DOC.

  22..33..  DDrrooiittss eett pprroopprriieetteess

  Ls  fichiers  et  repertoires  DOS  ont  les  attributs  suivants  : A
  (archive), H (cache), R (lecture seule) et S (systeme). Seuls H  et  R
  ont  un sens sous Linux : les fichiers caches commencent par un point,
  et pour ce qui est de l'attribut R, lisez ce qui suit.

  Sous Unix,  un  fichier  a  des  ``droits''  et  un  proprietaire  qui
  appartient a un ``groupe''. Considerez cet exemple :

       $ ls -l /bin/ls
       -rwxr-xr-x  1  root  bin  27281 Aug 15 1995 /bin/ls*

  Le   premier  champ  contient  les  droits  du  fichier  /bin/ls,  qui
  appartient a root et au groupe bin. Si l'on ne  tient  pas  compte  du
  reste  de l'information (il y a le livre de Matt pour cela), souvenez-
  vous que -rwxr-xr-x signifie (de gauche a droite) :

  - est le type du fichier (- = fichier ordinaire, d = repertoire,  l  =
  lien  etc...);  rwx  sont  les  droits pour le proprietaire du fichier
  (r=read=lecture, w=write=ecriture, x=execution); r-x sont  les  droits
  pour le groupe auquel appartient le proprietaire (lecture, execution);
  (je n'aborderai  pas  le  concept  de  groupe,  tant  que  vous  serez
  debutant(e),  vous  pouvez vous en passer ;-) r-x sont les droits pour
  tous les autres utilisateurs (lecture, execution).

  Ceci explique vous vous ne pouvez pas effacer  le  fichier  /bin/ls  a
  moins  d'etre  root  :  vous n'avez pas les droits pour le faire. Pour
  changer les droits d'un fichier, la commande est :

       $ chmod <quiXdroits> <fichier>

  ou qui est u (user, c.a.d le proprietaire), g (groupe), o (other,  les
  autres),  X est soit + ou -, droits est r (lecture), w (ecriture) ou x
  (execution). Exemples :

       $ chmod u+x fichier

  ceci met les droits d'execution  pour  le   proprietaire  du  fichier.
  Raccourci : chmod +x fichier.

       $ chmod go-wx fichier

  ceci  enleve  les  droits  d'eciture et d'execution pour tout le monde
  sauf le proprietaire.
       $ chmod ugo+rwx fichier

  ceci donne les droits de lecture d'ecriture et d'execution a  tout  le
  monde.

       # chmod +s fichier

  ceci  fabrique  un fichier appelle ``setuid'' ou ``suid'' --un fichier
  que tout le monde peut executer avec les privileges de root.

  ( NdT.:  L'auteur donne ici une explication expressement simplifiee du
  ``suid''. En effet, un fichier de ce type (generalement un executable)
  se comporte de la facon suivante  :  quelque  soit  l'utilisateur  qui
  lance  la  commande,  le  processus  qui  lui  sera associe aura comme
  proprietaire le  proprietaire  du  fichier.  En  temps  normal,  c'est
  l'utilisateur qui lance une commande qui est proprietaire du processus
  associe a  cette  commande....  Or  comme  dans  la  plupart  des  cas
  l'utilisation du ``suid'' se fait sur des fichiers appartenant a root,
  l'utilisateur execute bien ces fichiers avec les droits de root.)

  Un moyen plus court  pour  designer  les  droits  est  d'utiliser  des
  nombres  :  rwx-xr-x peut s'ecrire 755 (chaque lettre  correspond a un
  bit : --- vaut 0, --x vaut 1, -w- vaut 2, -wxvaut 3...).  Cela  parait
  complique,  mais avec un peu de pratique, vous comprendrez le concept.

  root, appele egalement le super-utilisateur, peut changer  les  droits
  des  fichiers  quelque  soit leur proprietaire.  Il y aurait plus a en
  dire---LPM.

  22..44..  TTrraadduuiirree lleess ccoommmmaannddeess DDOOSS vveerrss LLiinnuuxx

  A gauche, ls commandes DOS; a droite, leurs equivalents Linux.

       COPY :          cp
       DEL :           rm
       MOVE :          mv
       REN :           mv
       TYPE :          more, less, cat

  Les operateurs de redirection et d'enchainement de commandes :  < > >>
  |

  Les jokers : * ?

  nul :        /dev/null

  prn, lpt1 :  /dev/lp0 ou /dev/lp1; lpr

  - EXEMPLES -

       DOS                                     Linux
       ---------------------------------------------------------------------

       C:\GUIDO>copy joe.txt joe.doc           $ cp joe.txt joe.doc
       C:\GUIDO>copy *.* total                 $ cat * > total
       C:\GUIDO>copy fractals.doc prn          $ lpr fractals.doc
       C:\GUIDO>del temp                       $ rm temp
       C:\GUIDO>del *.bak                      $ rm *~
       C:\GUIDO>move paper.txt tmp\            $ mv paper.txt tmp/
       C:\GUIDO>ren paper.txt paper.asc        $ mv paper.txt paper.asc
       C:\GUIDO>print letter.txt               $ lpr letter.txt
       C:\GUIDO>type letter.txt                $ more letter.txt
       C:\GUIDO>type letter.txt                $ less letter.txt
       C:\GUIDO>type letter.txt > nul          $ cat letter.txt > /dev/null
               n/a                             $ more *.txt *.asc
               n/a                             $ cat section*.txt | less

  Notes :

  +o  *  est  plus  malin  sous Linux : * correspond a tous les fichiers,
     sauf les fichiers caches; .* correspond a tous les fichiers caches;
     *.*  correspond  seulement  a  ceux qui ont un '.' au milieu, suivi
     d'autres caracteres; p*r correspond a la fois a `peter' et `piper';
     *c* correspond a la fois a `picked' et `peck';

  +o  lors de l'utilisation de more, appuyez sur ESPACE pour parcourir le
     fichier, 'q' ou CTRL-C pour quitter. less est plus intuitif et vous
     permet d'utiliser les fleches;

  +o  il  n'y  a  pas  de UNDELETE alors _r_e_f_l_e_c_h_i_s_s_e_z_-_y _a _d_e_u_x _f_o_i_s avant
     d'effacer quoi que ce soit.

  +o  en plus des < > >> du DOS, Linux  connait  2>  pour  rediriger  les
     messages  d'erreur  (stderr);  de  plus,  2>&1 redirige stderr vers
     stdout, alors que 1>&2 redirige stdout vers stderr;

  +o  Linux a un autre caractere joker : le  [].  Utilisation  :   [abc]*
     correspond a tous les fichiers commencant par a, b, c; *[I-N,1,2,3]
     correspond aux fichiers se terminant par I,J,K,L,M,N,1,2,3;

  +o  il n'y a pas de RENAME identique a celui du DOS; en fait, mv  *.xxx
     *.yyy ne marchera pas;

  +o  utilisez  cp  -i et mv -i pour etre averti(e) lorsqu'un fichier est
     sur le point d'etre ecrase.

  22..55..  FFaaiirree ttoouurrnneerr ddeess pprrooggrraammmmeess :: llee mmuullttiittaacchhee eett lleess sseessssiioonnss

  Pour  faire  tourner un programme, entrez son nom comme vous le feriez
  sous DOS. Si le repertoire (section ``Repertoires'') ou se  trouve  le
  programme est inclus  dans le PATH (section ``Demarrage du systeme''),
  le programme demarrera. Attention : au contraire du DOS,  sous  Linux,
  un  programme  situe  dans  le  repertoire courant ne sera pas lance a
  moins que ce repertoire ne soit inclus dans le  PATH.  Solution  :  si
  prog est votre programme, tapez

  Voici a quoi ressemble une ligne de commande typique:

       $ commande -o1 -o2 ... -on par1 par2 ... parn < entree > sortie

  ou  -o1,  ..., -on sont les options de la commande, et par1, ..., parn
  ses parametres. Vous pouvez specifier plusieurs commandes sur la ligne
  de commande:

       $ commande1 ; commande2 ; ... ; commanden

  C'est  a  peu pres tout en ce qui concerne l'execution des programmes,
  mais il  est  aise  d'aller  un  peu  plus  loin.  L'une  des  raisons
  principales  d'utiliser  Linux est qu'il est un systeme d'exploitation
  multitache--il peut  faire  tourner  plusieurs  programmes  (que  nous
  appellerons  processus a partir de maintenant) en meme temps. De plus,
  Linux vous permet d'avoir plusieurs sessions  :  c'est  comme  d'avoir
  plein d'ordinateurs sous la main pour travailler !

  +o  Pour passer de la session 1..6 :

       $ ALT-F1 ... ALT-F6

  +o  Pour  commencer  une  nouvelle  session  sans  quitter  la  session
     courante :

       $ su - <nom de login>

  Exemple :

       $ su - root

  Ceci est utile, par exemple, lorsque vous avez besoin  de  monter  une
  disquette (section ``Les disquettes'') :

  +o  Pour terminer une session :

       $ exit

  S'il y a des jobs arretes (lire plus loin), vous serez averti(e).

  +o  Pour lancer un processus en avant-plan :

       $ nomdeprogramme [-options] [parametres] [< entree] [> sortie]

  +o  Pour lancer un processus en ariere-plan, ajoutez une eperluette '&'
     a la fin de la ligne de commande :

       $ nomdeprogramme [-options] [parametres] [< entree] [> sortie]
       [1] 123

  le shell identifie le processus a un numero de job (ex. [1];  cf.  ci-
  dessous), et a un PID (123 dans notre exemple).

  +o  Pour voir combien il y a de processus :

       $ ps -a

  Ceci affichera une liste des processus en train de tourner.

  +o  Pour tuer un processus :

       $ kill <PID>

  Vous  pourrez  avoir besoin de tuer un processus lorsque vous ne savez
  pas  comment le quitter proprement... ;-). Parfois,  un  processus  ne
  pourra  etre tue qu'en faisant ceci :

       $ kill -15 <PID>
       $ kill -9 <PID>

  En plus de ceci, le shell vous permet d'arreter ou de suspendre tempo-
  rairement un processus, d'envoyer  un  processus  en  arriere-plan  et
  d'amener  un processus de l'arriere-plan vers le premier plan. Dans ce
  contexte, les processus sont appelles des ``jobs''.

  +o  Pour voir combien il y a de jobs :

       $ jobs

  ici, les jobs sont identifies par leur numero de job, et non par  leur
  PID.

  +o  Pour  arreter  un  processus  qui  tourne  au premier plan (cela ne
     marchera pas toujours) :

       $ CTRL-C

  +o  Pour suspendre un  processus  qui  tourne  au  premier  plan  (meme
     remarque) :

       $ CTRL-Z

  +o  Pour  envoyer  un  processus  suspendu  en arriere plan (il devient
     alors un job) :

       $ bg <job>

  +o  Pour amener un job vers le premier plan :

       $ fg <job>

  +o  Pour tuer un job :

       $ kill <%job>

  ou <job> peut etre 1, 2, 3, ...  A l'aide de ces commandes, vous  pou-
  vez  formatter  un  disque, compresser un lot de fichiers, compiler un
  programme, decompresser et archiver tout a  la fois  tout  en  gardant
  une  invite  a  votre disposition. Essayez de faire ceci avec DOS ! Et
  essayez avec Windows, rien que pour voir la difference de performance.

  22..66..  FFaaiirree ttoouurrnneerr ddeess pprrooggrraammmmeess ssuurr ddeess oorrddiinnaatteeuurrss ddiissttaannttss

  Pour  faire  tourner  un  programme  sur  une  machine  distante  dont
  l'adresse IP est grossebecane.distante.fr, faites :

       $ telnet grossebecane.distante.fr

  Apres  vous etre connecte, demarrez votre programme favori. Il va sans
  dire que vous devez avoir un compte sur la machine distante.

  Si  vous  disposez  de  X11,  vous  pouvez  meme  faire  tourner   une
  application  X  sur  un  ordinateur  distant, avec affichage sur votre
  ecran   X.   Supposons   que    la    machine    X    distante    soit
  grossebecane.distante.fr  et que boite.linux.locale soit votre machine
  Linux.   Pour   faire   tourner   un   programme   X   residant    sur
  grossebecane.distante.fr a partir de boite.linux.locale, faites ce qui
  suit :

  +o  demarrez  X11,  lancez  un  xterm  ou  un  emulateur  de   terminal
     equivalent, et tapez :

       $ xhost + grossebecane.distante.fr
       $ telnet grossebecane.distante.fr

  +o  apres vous etre connecte, tapez :

       grossebecane:$ DISPLAY=boite.linux.locale:0.0
       grossebecane:$ nomdeprogramme &

  (  au  lieu de DISPLAY..., vous pourriez avoir a ecrire setenv DISPLAY
  boite.linux.locale:0.0. Cela depend du shell distant. )

  Et    voila!    Maintenant,    nomdeprogramme    va    demarrer    sur
  grossebecane.distante.fr  et  s'affichera  sur votre ecran. Toutefois,
  n'essayez pas ceci sur une liaison PPP.

  33..  LL''uuttiilliissaattiioonn ddeess rreeppeerrttooiirreess

  33..11..  LLeess rreeppeerrttooiirreess :: nnootteess pprreelliimmiinnaaiirreess

  Nous avons vu les differences entre les fichiers sous  DOS  et  Linux.
  Pour  ce  qui est des repertoires, sous DOS, le repertoire racine est
  sous Linux c'est /. De meme, les repertoires  imbriques  sont  separes
  par  sous  DOS,  et  par  / sous Linux. Exemple de chemin d'acces a un
  fichier :

       DOS :    C:\ARTICLES\GEOLOGIE\MI_EOC.TEX
       Linux :  /home/guido/articles/geologie/mi_eocene.tex

  Comme d'habitude, .. est  le  repertoire  pere,  et  systeme  ne  vous
  permettra  pas  de  faire  des  cd,  rd,  ou  md  n'importe ou. Chaque
  utilisateur demarre de son propre repertoire, appele  'home'  qui  lui
  est  attribue  par  l'administrateur systeme; par exemple, sur mon PC,
  mon repertoire home est /home/guido/.
  33..22..  LLeess ddrrooiittss ssuurr lleess rreeppeerrttooiirreess

  Les repertoires ont egalement des droits. Ce que nous avons vu dans la
  section   ``Droits''   est   aussi   valable   pour   les  repertoires
  (utilisateur, groupe et autres). Pour un repertoire,  rx signifie  que
  vous  pouvez  faire  cd  vers  ce  repertoire,  et w signifie que vous
  pouvez detruire un fichier dans ce repertoire (si les  permissions  du
  fichier  vous  le permettent, bien sur), ou effacer le repertoire lui-
  meme.

  Par exemple, pour empecher les  utilisateurs  de  jeter  un  oeil  sur
  /home/guido/texte/ :

       $ chmod o-rwx /home/guido/texte

  33..33..  TTrraadduuiirree lleess ccoommmmaannddeess DDOOSS vveerrss LLiinnuuxx

       DIR :           ls, find, du
       CD :            cd, pwd
       MD :            mkdir
       RD :            rmdir
       DELTREE :       rm -R
       MOVE :          mv

  - EXEMPLES -

       DOS                                     Linux
       ---------------------------------------------------------------------

       C:\GUIDO>dir                            $ ls
       C:\GUIDO>dir file.txt                   $ ls file.txt
       C:\GUIDO>dir *.h *.c                    $ ls *.h *.c
       C:\GUIDO>dir/p                          $ ls | more
       C:\GUIDO>dir/a                          $ ls -l
       C:\GUIDO>dir *.tmp /s                   $ find / -name "*.tmp"
       C:\GUIDO>cd                             $ pwd
               n/a - cf note                   $ cd
               idem                            $ cd ~
               idem                            $ cd ~/temp
       C:\GUIDO>cd \autre                      $ cd /autre
       C:\GUIDO>cd ..\temp\poubelle            $ cd ../temp/poubelle
       C:\GUIDO>md nvxprog                     $ mkdir nvxprogs
       C:\GUIDO>move prog ..                   $ mv prog ..
       C:\GUIDO>md \progs\turbo                $ mkdir /progs/turbo
       C:\GUIDO>deltree temp\poubelle          $ rm -R temp/poubelle
       C:\GUIDO>rd nvxprogs                    $ rmdir nvxprogs
       C:\GUIDO>rd \progs\turbo                $ rmdir /progs/turbo

  Notes :

  1. pour  utiliser  rmdir, le repertoire a effacer doit etre vide. Pour
     effacer un repertoire et tout son contenu, utilisez rm  -R  (a  vos
     risques et perils).

  2. le  caractere  '~' est un raccourci pour le nom de votre repertoire
     home.  Les  commandes  cd  ou  cd  ~  vous  emmeneront  dans  votre
     repertoire  home,  ou  que  vous  soyez;  la commande cd ~/tmp vous
     emmenera vers /home/votre_rep_home/tmp.

  3. cd - ``defait'' le dernier cd.

  44..  DDiissqquueetttteess,, ddiissqquueess dduurrss eett aauuttrreess

  44..11..  GGeessttiioonn ddeess ppeerriipphheerriiqquueess

  Vous n'y avez jamais pense,  mais  la  commande  DOS  FORMAT  A:  fait
  beaucoup  plus  de  travail  qu'il  n'y  parait. En fait, lorsque vous
  lancez la commande FORMAT cela  va  :  1)  formatter  physiquement  le
  disque, 2) creer le repertoire A: (= creer un systeme de fichiers); 3)
  rendre le disque accessible a l'utilisateur (= monter le disque).

  Ces trois etapes sont distinguees sous Linux. Vous pouvez utiliser des
  disquettes  au  format  MS-DOS,  bien  que  d'autres  formats,  et des
  meilleurs, soient disponibles---le format MS-DOS ne vous laissera  pas
  utiliser les noms de fichiers longs.  Voici comment preparer un disque
  (vous aurez besoin de demarrer une session en tant que root) :

  +o  Pour formatter une disquette classique 1.44 Mo (A:) :

       # fdformat /dev/fd0H1440

  +o  Pour creer un systeme de fichiers :

       # mkfs -t ext2 -c /dev/fd0H1440

  ou

       # mformat a:

  pour creer un systeme de fichiers MS-DOS. Avant d'utiliser le  disque,
  vous devez le monter.

  +o  Pour monter le disque :

  # mount -t ext2 /dev/fd0 /mnt

  ou

       # mount -t msdos /dev/fd0 /mnt

  Maintenant,  vous pouvez acceder aux fichiers de la disquette. Lorsque
  vous avez fini, et avant d'extraire la disquette vous _d_e_v_e_z le  demon-
  ter.

  +o  Pour demonter le disque :

       # umount /mnt

  A  present  vous pouvez extraire la disquette. De toute evidence, vous
  ne devez faire fdformat et mkfs que sur des disquettes non formattees,
  et  pas  sur des disquettes deja utilisees. Si vous voulez utiliser le
  lecteur B:, adressez fd1H1440 et fd1 au lieu de fd0H1440 et  fd0  dans
  les exemples ci-dessus.

  Tout  ce  que  vous  aviez  l'habitude  de  faire  avec  A: et B: peut
  maintenant etre fait en utilisant /mnt a la place. Exemples :

       DOS                                     Linux
       ---------------------------------------------------------------------

       C:\GUIDO>dir a:                         $ ls /mnt
       C:\GUIDO>copy a:*.*                     $ cp /mnt/* /docs/temp
       C:\GUIDO>copy *.zip a:                  $ cp *.zip /mnt/zip
       C:\GUIDO>a:                             $ cd /mnt
       A:>_                                    /mnt/$ _

  Cela va sans dire, ce qui est vrai pour les disquettes vaut  egalement
  pour  d'autres peripheriques; en l'occurrence, vous pouvez avoir envie
  de monter un autre disque dur, ou un lecteur de CD-ROM. Voici  comment
  monter le CD-ROM :

       # mount -t iso9660 /dev/cdrom /mnt

  Ceci  etait la maniere ``officielle'' de monter vos disques, mais il y
  a une astuce. Comme c'est un peu penible  de  devoir  etre  root  pour
  monter  une disquette ou un CD-ROM, voici comment faire pour permettre
  a tout utilisateur d'utiliser cette maniere pour les monter :

  +o  en tant  que  root,  creez  les  repertoires  /mnt/a,  /mnt/a:,  et
     /mnt/cdrom

  +o  ajoutez les lignes suivantes a /etc/fstab :

       /dev/cdrom      /mnt/cdrom  iso9660 ro,user,noauto          0       0
       /dev/fd0        /mnt/a:     msdos   user,noauto             0       0
       /dev/fd0        /mnt/a      ext2    user,noauto             0       0

  A  present, pour monter une disquette au format DOS, au format ext2 et
  un CD-ROM :

       $ mount /mnt/a:
       $ mount /mnt/a
       $ mount /mnt/cdrom

  /mnt/a, /mnt/a:, et /mnt/cdrom peuvent maintenant  etre  utilises  par
  chaque  utilisateur.  J'ai  decouvert  que pour ecrire sur /mnt/a sans
  etre  root, juste apres avoir prepare la disquette, il est  necessaire
  de faire :

       # mount /mnt/a
       # chmod 777 /mnt/a
       # umount /mnt/a

  Rappelez-vous  que  de permettre a n'importe qui de monter des disques
  est un trou de securite beant, si cela vous preoccupe.

  44..22..  LLeess ssaauuvveeggaarrddeess

  Maintenant que vous savez comment manipuler les disquettes etc., voici
  quelques  lignes  montrant  comment  faire  vos  sauvegardes.  Il  y a
  plusieurs paquetages pour vous venir en  aide,  mais  la  moindre  des
  choses  que  vous  puissiez faire pour effectuer une sauvegarde multi-
  volumes est (en tant que root) :

       # tar -M -cvf /dev/fd0H1440 /rep_a_sauvegarder

  Assurez-vous d'avoir mis une disquette formattee dans le  lecteur,  et
  d'en  avoir  prepare  plusieurs  autres.  Pour recuperer vos affaires,
  inserez la premiere disquette dans le lecteur et faites :
       # tar -M -xpvf /dev/fd0H1440

  55..  TTaaiilllleerr llee ssyysstteemmee aa vvoottrree mmeessuurree

  55..11..  LLeess ffiicchhiieerrss dd''iinniittiiaalliissaattiioonn dduu ssyysstteemmee

  Deux fichiers importants sous DOS sont AUTOEXEC.BAT et CONFIG.SYS, qui
  sont  utilises  au  demarrage pour initialiser le systeme, positionner
  quelques variables d'environnement comme PATH  et  FILES,  et  le  cas
  echeant  lancer  un  programme ou un fichier batch. Sous Linux, il y a
  plusieurs fichiers d'initialisation, dont  certains  que  vous  feriez
  mieux  de  ne  pas  modifier  a moins de savoir exactement ce que vous
  faites. De toute facon, je vais  vous  dire  lesquels  sont  les  plus
  importants :

       FICHIERS                        NOTES

       /etc/inittab                    n'y touchez pas pour l'instant !
       /etc/rc.d/*                     idem

  Si  tout  ce  dont  vous  avez besoin est de positionner votre PATH et
  d'autres variables d'environnement, ou de changer les messages  de  la
  connexion  ou  de lancer un programme apres la connexion, regardez les
  fichiers suivants :

       FILES                           NOTES

       /etc/issue                      definit le message de pre-connexion
       /etc/motd                       definit le message de post-connexion
       /etc/profile                    definit PATH et d'autres variables etc.
       /etc/bashrc                     definit les alias et les fonctions etc
                                       (cf. ci-dessous)
       /home/votre_home/.bashrc        definit vos alias + fonctions
       /home/votre_home/.bash_profile  definit l'environnement +  lance vos progs
       /home/votre_home/.profile       idem

  Ci ce dernier fichier existe (remarquez que c'est un  fichier  cache),
  il  sera  lu apres la connexion et les commandes qu'il contient seront
  executees.

  Exemple---regardez ce .profile :

  ______________________________________________________________________
  # Je suis un commentaire
  echo Environnement :
  printenv | less   # equivalent de la commande SET sous DOS
  alias d='ls -l'   # facile pour comprendre ce qu'est un alias
  alias up='cd ..'
  echo "Je vous rappelle que le path est "$PATH
  echo "Aujourd hui est le `date`"  # utilise la sortie de la commande 'date'
  echo "Bonjour, "$LOGNAME
  # Ce qui suit est une "commande shell"
  ctgz() # Liste le contenu d'une archive  .tar.gz .
  {
    for file in $*
    do
      gzip -dc ${file} | tar tf -
    done
  }
  # fin du .profile
  ______________________________________________________________________

  PATH  et   LOGNAME,   vous   l'avez   devine,   sont   des   variables
  d'environnement.  Il  y'en a beaucoup d'autres avec lesquelles on peut
  s'amuser; par exemple, LPM, pour des applications comme less.

  55..22..  LLeess ffiicchhiieerrss dd''iinniittiiaalliissaattiioonn ddeess pprrooggrraammmmeess

  Sous Linux, tout peut virtuellement etre taille selon vos besoins.  La
  plupart des programmes a un ou plusieurs fichiers d'initialisation que
  vous pouvez manipuler, souvent sous forme de que vous voudrez modifier
  sont :

  affectations des touches du clavier.

  systeme  X Window.

  fvwm.  Un exemple se trouve dans: /usr/lib/X11/fvwm/system.fvwmrc

  terminal pour X, et d'autres programmes.

  Pour  tous  ceux-ci,  et les autres que vous rencontrerez tot ou tard,
  LPM.

  66..  UUnn ppeeuu ddee pprrooggrraammmmaattiioonn

  66..11..  LLeess ssccrriippttss sshheellll :: ddeess ffiicchhiieerrss ..BBAATT ddooppeess aauuxx sstteerrooiiddeess

  Si  vous utilisiez les fichiers .BAT pour creer des raccourcis pour de
  longues lignes de commande (c'est ce  que  je  faisais  beaucoup  moi-
  meme),  ce  but  peut  etre  atteint  en  inserant  des  lignes  alias
  appropriees (cf. les exemples ci-dessus)  dans  profile  ou  .profile.
  Mais  si  vos  .BAT  etaient  plus  compliques,  alors vous aimerez le
  langage de script que vous offre le shell : il est aussi puissant  que
  le QBasic, sinon plus. Il a des variables, des structures comme while,
  for, case, if... then... else, et un tas d'autres  caracteristiques  :
  il  peut  constituer  une  bonne  alternative a un ``vrai'' langage de
  programmation.

  Pour ecrire un script---l'equivalent d'un fichier .BAT sous DOS---tout
  ce  que  vous  avez  a  faire  est  d'ecrire un fichier ASCII standard
  contenant les instructions, de le sauver, et de le  rendre  executable
  avec  la commande chmod +x <fichierscript>. Pour l'executer, tapez son
  nom.

  Quelques mots de mise en garde. L'editeur du systeme  est  appele  vi,
  et,  d'apres  mon  experience, la plupart des nouveaux utilisateurs le
  trouve tres difficile a utiliser. Je ne  vais  pas  expliquer  comment
  l'utiliser,  parce  que  je  ne l'aime pas et que je ne l'utilise pas,
  alors voila. Lisez le ``Linux installation...'' de Math Welsh  p.  109
  (vous feriez mieux de mettre la main sur un autre editeur comme joe ou
  emacs pour X.) Je me contenterai de dire que :

  +o  pour inserer du texte, tapez 'i' puis votre texte;

  +o  pour quitter vi sans sauver, tapez <ESC> puis :q!

  +o  pour sauver et quitter, tapez <ESC> puis :wq

  L'ecriture de scripts sous bash est un  sujet  tellement  vaste  qu'il
  necessiterait  un  livre  a  lui seul, et je ne creuserai pas le sujet
  plus en avant. Je vous donnerai juste  un  exemple  de  script  shell,
  duquel vous pouvez extraire quelques regles de base :

  ______________________________________________________________________

  #!/bin/sh
  # echantillon.sh
  # je suis un commentaire
  # ne changez pas la premiee ligne, elle doit se trouver la
  echo "Ce systeme est : `uname -a`" # utilise la sortie de la commande 'uname'
  echo "Je m appelle $0" # variables predefinies
  echo "Vous m avez donne les  $# parametres suivants : "$*
  echo "Le premier parametre est : "$1
  echo -n "Commnt vous appelez-vous? " ; read votre_nom
  echo notez la difference : "salut $votre_nom" # delimitation par "
  echo notez la difference : 'salut $votre_nom' # delimitation par '
  DIRS=0 ; FILES=0
  for file in `ls .` ; do
    if [ -d ${file} ] ; then # si le fichier est un repertoire
      DIRS=`expr $DIRS + 1`  # DIRS = DIRS + 1
    elif [ -f ${file} ] ; then
      FILES=`expr $FILES + 1`
    fi
    case ${file} in
      *.gif|*jpg) echo "${file} : fichier graphique" ;;
      *.txt|*.tex) echo "${file} : fichier texte" ;;
      *.c|*.f|*.for) echo "${file} : fichier source" ;;
      *) echo "${file} : fichier generique" ;;
    esac
  done
  echo "il y a  ${DIRS} repertoires et ${FILES} fichiers"
  ls | grep "ZxY--!!!WKW"
  if [ $? != 0 ] ; then # code de sortie de la derniere commande
    echo "ZxY--!!!WKW not found"
  fi
  echo "Ca suffit... tapez 'man bash' si vous voulez plus d infos."
  ______________________________________________________________________

  66..22..  EE--CC--iieezz ppaarr vvoouuss--mmeemmee

  Sous  Unix,  le  langage  systeme  est  le  C, que vous l'aimiez ou le
  detestiez. Des tonnes d'autres langages (FORTRAN, Pascal, Lisp, Basic,
  Perl, awk...) sont agalement disponibles.

  En  partant  du  principe  que  vous  connaissez  le C, voici quelques
  indications pour ceux d'entre vous qui  ont  ete  pourris-gates  parle
  Turbo  C++ ou l'un de ses freres du DOS. Le compilateur C de Linux est
  appelle  gcc  et  n'a  pas  toutes  les  fioritures  qui   accopagnent
  generalement  ses correspondants DOS : pas de IDE, d'aide en ligne, de
  debugger integre etc... C'est just un compilateur brut en  mode  ligne
  de  commande,  tres  puissant et efficace. Pour compiler votre hello.c
  standard, vous ferez :

       $ gcc hello.c

  ce qui va creer un fichier executable appele a.out. Pour donner un nom
  different a l'executable, faites :

       $ gcc -o hola hello.c

  Pour  linker  un  pogramme  avec  une  bibliotheque;  ajoutez l'option
  -l<nomdebiblio>.  Par  exemle,  pour  linker  avec   la   bibliotheque
  mathematique :

       $ gcc -o mathprog mathprog.c -lm

  (L'option   -l<nomdebiblio>   oblige  gcc  a  linker  la  bibliotheque
  /usr/lib/lib<nomdebiblio>.a; donc, -lm renvoie a  /usr/lib/libm.a.)

  Jusque la, tout va bien. Mais lorsque votre programme est  compose  de
  plusieurs  fichiers  source,  vous  aurez  besoin  de  faire  appel  a
  l'utilaire  make.  Supposons  que  vous  ayez   ecrit   un   analyseur
  d'expressions  :  son  fichier  source  s'appelle parser.c et inclut (
  #include ) deux fichiers  d'en-tetes,  parser.h  et  xy.h.  Puis  vous
  voulez  utiliser  les  routines de parser.c dans un programme, disons,
  calc.c, qui inclut ( #include ) a  son  tour  parser.h.  Quel  souk  !
  Comment devez vous faire pour compiler calc.c?

  Vous  aurez  a  ecrire  un  fichier  appele  makefile,  qui apprend au
  compilateur les dependances entre fichiers objet et  fichiers  source.
  Dans notre exemple :

  ______________________________________________________________________

  # Voici le makefile, utilise pour compiler calc.c
  # Pressez la touche <TAB> aux endroits indiques!

  calc: calc.o parser.o
  <TAB>gcc -o calc calc.o parser.o -lm
  # calc depend de deux fichiers objet: calc.o et parser.o

  calc.o: calc.c parser.h
  <TAB>gcc -c calc.c
  # calc.o depend de deux fichiers source

  parser.o:  parser.c parser.h xy.h
  <TAB>gcc -c parser.c
  # parser.o depend de trois fichiers source

  # fin du makefile.
  ______________________________________________________________________

  Sauvez ce fichies sous le nom de  makefile et tapez

       $ make

  pour  compiler votre programme; une alternative est de le sauver comme
  calc.mak et de taper

       $ make -f calc.mak

  Et, bien sur, LPM.

  Vous pouvez invoquer un minimum d'aide a propos des fonctions  C,  qui
  sont traitees dans les pages man, section 3, par exemple,

       $ man 3 printf

  Il  y  a  des tas de bibliotheques disponibles; parmi les premiers que
  vous voudrez utiliser il y a ncurses, qui s'occupe des effets du  mode
  texte,  et  svgalib  pour  faire  du graphique. Si vous vous sentez de
  taille  a  attaquer   la   programmation   X,   procurez-vous   XForms
  (bloch.phys.uwm.edu/pub/xforms        )       et/ou       MGUI       (
  www.volftp.vol.it/IT/IT/ITALIANI/MORELLO/index.htm       ),       deux
  bibliotheques  geniales qui facilitent la programmation X. De plus, si
  vous ne pouvez vous passer d'un IDE a  la  Borland,  procurez-vous  le
  paquetage  xwpe  a partir de sunsite.unc.edu:/pub/Linux/apps/editors/.
  Il y beaucoup de chances pour que vous l'aimiez.

  77..  LLee 11%% qquuii rreessttee

  77..11..  FFaabbrriiqquueerr ddee llaa mmeemmooiirree vviirrttuueellllee

  Bien que Linux soit capable, en theorie, de tourner avec seulement 2Mo
  de RAM, au plus vous en avez, au plus vous pourrez faire. Le systeme X
  Window ne tournera pas a moins d'avoir au minimum 8Mo. Pour creer 8 Mo
  supplementaires de memoire virtuelle, tapez en tant que root :

       # dd if=/dev/zero of=/swapfile bs=1024 count=8192
       # mkswap /swapfile 8192
       # sync
       # swapon /swapfile

  Ajoutez la derniere ligne a /etc/rc.d/rc.local pour activer le fichier
  de swap (swapfile) au prochain demarrage, ou ajoutez la ligne qui suit
  a /etc/fstab :

       /swapfile   swap   swap   defaults

  77..22..  LL''uuttiilliissaattiioonn ddee ttaarr && zziipp

  Sous  Unix,  il  y a deux applications tres repandues pour archiver et
  compresser  les  fichiers.  tar  est  utilise  pour   construire   des
  archives---il  agit  comme  PKZIP  mais  ne  compresse pas, il archive
  seulement. Pour fabriquer une nouvelle archive :

       $ tar -cvf <nom_d_archive.tar> <fichier> [fichier...]

  Pour extraire des fichiers d'une archive :

       $ tar -xpvf <nom_d_archive.tar> [fichier...]

  Pour afficher la liste du contenu d'une archive :

       $ tar -tf <nom_d_archive.tar> | less

  Vous pouvez compresser les fichiers a  l'aide  de  compress,  qui  est
  obsolete et ne devrait plus etre  utilise, ou gzip :

       $ compress <fichier>
       $ gzip <fichier>

  qui  creent un fichier compresse avec l'extension .Z (compress) ou .gz
  (gzip). Ces programmes ne peuvent compresser qu'un fichier a la  fois.
  Pour decompresser, utilisez :

       $ compress -d <fichier.Z>
       $ gzip -d <fichier.gz>

  LPM.

  Les  utilitaires  unarj,  zip et unzip (compatibles avec PK??ZIP) sont
  egalement disponibles. Des fichiers avec l'extension .tar.gz  ou  .tgz
  (archives avec tar, puis compresses avec gzip) sont aussi communs dans
  le monde UNIX que le sont les fichiers .ZIP sous  DOS.  Voici  comment
  afficher la liste du contenu d'une archive .tar.gz :

       $ gzip -dc <fichier.tar.gz> | tar tf - | less

  77..33..  LL''iinnssttaallllaattiioonn dd''aapppplliiccaattiioonnss

  Tout  d'abord  :  l'installation de paquetages est le travail de root.
  Certaines applications Linux sont distribuees  sous  forme  d'archives
  .tar.gz  ou  .tgz,  specialement  preparees  pour etre decompressees a
  partir de / a l'aide de la commande suivante :

       # gzip -dc <fichier.tar.gz> | tar xvf -

  Les fichiers seront decompresses dans le bon repertoire qui sera  cree
  au  passage.  Les  utilisateurs de la distribution Slackware disposent
  d'un programme a l'utilisation facile: pkgtool; un autre outil est rpm
  qui est disponible dans toutes les distributions grace a Red Hat.

  D'autres  paquetages  ne  devraient  pas etre installes a partir de /;
  typiquement, l'archive contiendra un repertoire appele nomdupaquetage/
  et tout un tas de fichiers et de sous-repertoires sous nomdupaquetage.
  Une bonne regle est d'installer ces paquetages a partir de /usr/local.
  Il  existe  egalement  quelques  paquetages  distribues  sous forme de
  fichiers source C ou C++ que  vous  devrez  compiler  pour  creer  les
  binaires.  Dans la plupart des cas, tout ce que vous aurez a faire est
  de lancer make. Bien evidemment, vous aurez besoin du compilateur gcc.

  77..44..  LLeess aassttuucceess iinnddiissppeennssaabblleess

  LLaa  ccoommpplleettiioonn  ddeess  ccoommmmaannddeess  :  l'appui sur <TAB> lors de la saisie
  d'une commande completera la ligne de  commande  pour  vous.  Exemple:
  vous  n'avez pas besoin de taper gcc ceci_est_un_nom_long; l'entree de
  gcc cec<TAB> suffira. (Si vous avez d'autres fichiers  qui  commencent
  par  les  memes  caracteres,  il faut fournir assez de caracteres pour
  resoudre toutes les ambiguites.)

  LLee ddeeffiilleemmeenntt eenn aarrrriieerree : l'appui sur  SHIFT  +  PAG  UP  (la  touche
  grise)  vous  permet  de  remonter  de quelques pages, le nombre etant
  determine par la quantite de memoire video dont vous disposez.

  LLaa rreemmiissee aa zzeerroo ddee ll''eeccrraann : si par hasard, vous faites  more ou  cat
  sur  un  fichier  binaire,  votre  ecran  peut  se retrouver rempli de
  caracteres quelconques. Pour y remedier, tapez reset ou cette sequence
  de caracteres : echo CTRL-V ESC c RETURN.

  LLee ccoollllaaggee ddee tteexxttee : en mode console, cf. ci-dessous; sous X, cliquez
  et deplacez la souris en maintenant enfonce le bouton de gauche;  pour
  selectionner  le  texte  dans  une fenetre xterm, cliquez alors sur le
  bouton du milieu (ou sur les deux boutons en meme temps si  vous  avez
  une souris a deux boutons) pour coller. Il existe egalement xclipboard
  (helas, uniquement pour le texte); ne vous laissez  pas  derouter  par
  son temps de reponse tres long.

  UUttiilliissaattiioonn  ddee llaa ssoouurriiss : installez gpm, un pilote de souris pour le
  mode console. Cliquez  et deplacez la souris en maintenant  enfonce le
  bouton  de  gauche; pour selectionner le texte, cliquez ensuite sur le
  bouton de droite pour coller le  texte  selectionne.  Cela  fonctionne
  d'une console a l'autre.

  LLeess  mmeessssaaggeess  dduu  nnooyyaauu  :  jetez  un  oeil  sur /var/adm/messages ou
  /var/log/messages en tant que  root pour voir ce que le noyau a a vous
  dire, y compris les messages de demarrage.

  77..55..  DDeess pprrooggrraammmmeess eett ddeess ccoommmmaannddeess uuttiilleess

  Cette  liste  est  bien  sur  le  reflet  de mes preferences et de mes
  besoins personnels. En premier lieu,  ou  les  trouver.  Puisque  vous
  savez  tous  comment  surfer  sur le Net et comment utiliser archie et
  ftp, je me contenterai de  vous  donner  trois  des  plus  importantes
  adresses    pour   Linux   :   sunsite.unc.edu,   tsx-11.mit.edu,   et
  nic.funet.fi. Veuillez utiliser votre site miroir le plus proche.

  +o  at vous permet de faire tourner des programmes a une  date  et  une
     heure donnees;

  +o  awk est un langage simple mais puissant pour manipuler les fichiers
     de donnees (et pas seulement ca). Par exemple, soit data.dat  votre
     fichier de donnees a plusieurs champs,

       $ awk '$2 ~ "abc" {print $1, "\t", $4}' data.dat

  affiche  les  champs 1 et 4 de chaque ligne de data.dat dont le second
  champ contient ``abc''.

  +o  delete-undelete   font   ce   qu'indique   leur   nom    (    NdT.:
     efface-''desefface'' );

  +o  df vous donne des information sur le(s)s disque(s)s montes;

  +o  dosemu  vous  permet de faire tourner plusieurs programmes DOS (mas
     pas tous)--- y compris Windows 3.x, avec un peu de bidouillage;

  +o  file <nomdefichier> vous dit ce qu'est  nomdefichier (texte  ASCII,
     executable, archive, etc.);

  +o  find   (cf.   egalement  Section  ``repertoires'')  est  l'une  des
     commandes les plus puissantes et les plus utiles. On l'utilise pour
     trouver  des  fichiers qui satisfont plusieurs caracteristiques, et
     pour effectuer des actions sur ceux-ci. Une utilisation courante de
     find est :

       $ find <repertoire> <expression>

  ou  <expression>  comprend  des  criteres de recherche et des actions.
  Exemples :

       $ find . -type l -exec ls -l {} \;

  trouve tous les fichiers qui sont  des  liens  symboliques  et  montre
  leurs destinations.

       $ find / -name "*.old" -ok rm {} \;

  trouve tous les fichiers correspondant au motif et les efface, en vous
  demandant la permission au prealable.

       $ find . -perm +111

  trouve tous les fichiers dont les droits correspondent a 111 (executa-
  bles).

  $ find . -user root

  trouve tous les fichiers appartenant a root. Il y a enormement de pos-
  sibilites---LPM.

  +o  gnuplot est un programme brillant pour tracer des courbes de nature
     scientifique;

  +o  grep trouve des motifs de texte dans des fichiers, par exemple :

       $ grep -l "geologie" *.tex

  affiche  les  fichiers  *.tex  qui contiennent le mot ``geologie''. La
  variante zgrep marche sur des fichiers ``gzippes'' ( NdT.:  compresses
  avec gzip ). LPM;

  +o  gzexe  compresse  des  binaires  executables  tout  en  les gardant
     executables;

  +o  joe est un excellent editeur. En le lancant par la commande   jstar
     vous  obtiendrez  les memes raccourcis clavier que sous WordStar et
     ses descendants, y compris les editeurs DOS et  ceux  des  langages
     Turbo de chez Borland.

  +o  less  est  probablement  le  meilleur  ``browser'' ( NdT.: outil de
     visualisation  )  de  fichiers  texte,  et,  lorsqu'il   est   bien
     configure,   vous  permet  egalement  de  visualiser  des  fichiers
     gzippes, ``tares'' ( NdT.: archives avec tar )et zippes;

  +o  lpr <fichier> imprime un fichier  en  arriere-plan.  Pour  verifier
     l'etat  de  la  file  d'impression,  utilisez  lpq; pour enlever un
     fichier de la file d'impression, utilisez lprm;

  +o  mc est un gestionnaire de fichiers epatant;

  +o  pine est un chouette programme pour le courrier electronique;

  +o  script <fichier_script> copie dans fichier_script  ce qui  apparait
     a  l'ecran jusqu'a ce que vous faites la commandes exit. Utile pour
     deboguer;

  +o  sudo permet aux utilisateurs d'accomplir certaines taches  de  root
     (ex. : formater et monter des diques; LPM);

  +o  uname -a vous donne de l'information sur votre systeme;

  +o  zcat  et  zless  sont  utiles  pour  visualiser  des fichiers texte
     gzippes sans des  ``de-gzipper''  (  NdT.:  les  decompresser  avec
     gunzip ou gzip -d ). Exemples d'utilisation :

       $ zless fichiertexte.gz
       $ zcat fichiertexte.gz | lpr

  +o  Les  commandes  suivantes  se revelent souvent tres pratiques : bc,
     cal, chsh, cmp, cut, fmt, head, hexdump, nl, passwd, printf,  sort,
     split,  strings, tac, tail, tee, touch, uniq, w, wall, wc, whereis,
     write, xargs, znew. LPM.

  77..66..  LLeess eexxtteennssiioonnss ccoouurraanntteess eett lleess pprrooggrraammmmeess qquuii ss''yy rraattttaacchheenntt

  Vous  pouvez  rencontrer des douzaines d'extensions. A l'exception des
  plus exotiques (ex. polices de caracteres etc...), voici une liste  de
  qui fait quoi :

  +o

  +o  pour desarchiver.

  +o  visualiser  avec  xdvi,  et  a transfomrer en postscript (.ps) avec
     dvips.

  +o

  +o

  +o  a aux pages man ). Procurez-vous info.

  +o

  +o  d'un fichier ASCII pur contenant la description d'un paquetage.

  +o  optionellement, ghostview.

  +o  compressee avec gzip.

  +o  puissant de composition de documents. Installez le  paquetage  tex,
     disponible  dans  de  nombreuses distributions, mais mefiez-vous de
     NTeX, qui contient des polices de caracteres  incorrectes  et  fait
     partie de Slackware jusqu'a la version 96.

  +o  texinfo.

  +o

  +o

  +o  zip. Procurez-vous  zip et unzip.

  88..  LLaa ffiinn,, ppoouurr ll''iinnssttaanntt dduu mmooiinnss

  Felicitations  !  Vous  connaissez  maintenant  un  peu d'Unix et etes
  pret(e)  a  vous  mettre  au   travail.   Rappellez-vous   que   votre
  connaissance  du  systeme  est  encore  limitee,  et  que  vous devrez
  pratiquer Linux un peu plus pour etre a l'aise. Mais si  tout  ce  que
  vous  aviez  a faire etait de rapatrier un paquet d'applications et de
  commencer a travailler avec, je parie que ce que j'ai inclus ici  vous
  a suffi.

  Je  suis  sur  que  vous  aimerez  utiliser  Linux et continuerez a en
  apprendre plus a son sujet---tout le monde le fait. Je fais  egelement
  le  pari  que  vous ne retournerez plus jamais sous DOS ! J'espere que
  j'ai reussi a me faire comprendre et que j'ai bien servi mes  3  ou  4
  lecteurs.

  88..11..  CCooppyyrriigghhtt

  Sauf  contre-indication,  les  droits  des  documents Linux HOWTO sont
  detenus par  leurs  auteurs  respectifs.  Les  documents  Linux  HOWTO
  peuvent  etre  reproduits  et distribues en totalite ou en partie, par
  n'importe quel moyen physique ou electronique, tant que cette note  de
  copyright  reste  attachee  a  toutes  les  copies.  La redistribution
  commerciale est autorisee et encouragee cependant,  l'auteur  aimerait
  etre informe de toute distribution de ce type.

  Toute  traduction, oeuvre derivee ou compilation integrant un document
  Linux HOWTO doit etre couverte par cette notice  de  copyright.  Donc,
  vous  ne  pouvez  produire un travail derive d'un HOWTO et imposer des
  restrictions additionnelles sur sa distribution. Des exceptions a  ces
  regles  peuvent  etre  accordees  dans  certaines conditions; veuillez
  prendre contact avec le  coordinateur  des  HOWTO  Linux  a  l'adresse
  indiquee en dessous.

  Bref, nous souhaitons promouvoir la dissemination de cette information
  a travers le plus de canaux possibles. Cependant, nous voulons  garder
  les  droits d'auteur sur les documents HOWTO, et etre tenus au courant
  de toute initiative de redistribution des HOWTOs.

  Si vous avez des  questions,  veuillez  contacter  Greg  Hankinks,  le
  coordinateur  des HOWTO Linux, par courrier electronique a l'adresse :
  gregh@sunsite.unc.edu

  88..22..  AAvveerrttiisssseemmeenntt

  ``De   DOS   a   Linux   ''   a   ete   ecrit   par   Guido   Gonzato,
  guido@ibogfs.df.unibo.it.  Un  grand  merci  a Matt Welsh, l'auteur du
  ``Linux Installation and Getting Started'', a Ian Jackson, l'auteur du
  ``Linux   frequently  asked  questions  with  answers'',  a   Giuseppe
  Zanetti, l'auteur du ``Linux'',  a  toutes  les  presonnes  qui  m'ont
  envoye  des  suggestions, et particulierement a Linus Thorvalds et GNU
  qui nous ont donne Linux.

  Ce document est fourni ``en l'etat''. Je me suis astreint a le rediger
  avec  toute  l'exactitude  possible,  mais  l'utilisation  que vous en
  faites est a vos risques et perils. Je ne saurais en aucune facon etre
  tenu  pour  responsable  des dommages resultant de l'utilisation de ce
  travail.

  Vos reactions sont les bienvenues. N'hesitez pas a me  contacter  pour
  toute question, suggestion, lettre d'insultes etc...,

  Vivez heureux et amusez-vous avec Linux,

  Guido   =8-)

