Évitez la navigation.
AFUL · Parinux · FFII France · APRIL · ADULLACT · MongueursPerl · Wikipédia · OFSET · Scidéralle · LéaLinux · LinuxFrench · LinuxFr · FirstJeudi · AgendaLibre

sylvain(à)lhullier(.)org
Les deux principales choses qui ont été inventées à Berkeley sont le LSD et UNIX.
Il est impossible que ceci soit une coïncidence.
Jeremy S. Anderson (;-)))

S'en sortir sous UNIX

Avertissement : ce document est assez vieux ( 1995-1996 ), je l'ai écrit lorsque j'étais en DEUG : il comporte quelques erreurs et bien des choses sans beaucoup d'intérêt.

                               S'EN SORTIR SOUS UNIX



   AVERTISSEMENT
   =============

      Ce guide reunit ce qui pourrait aider un debutant a s'en sortir sur les
   machines de la fac.
      Pour un etudiant ne cherchant qu'a connaitre suffisamment l'environnement
   de la fac pour pouvoir faire ses TP, la lecture de tout ce document n'est pas
   necessaire : il pourra se contenter de lire les 2 premiers chapitres. Par contre,
   s'il cherche a bien maitriser ces ordinateurs, la lecture quasi-integrale me
   parait indiquee. A vous de voir ce que vous voullez faire et donc devez savoir.

      Ce document n'est a considerer qu'a titre indicatif ; des erreurs pouvant
   s'y etre glissees, il n'est a prendre que comme une aide eventuelle en cas de
   doute ( et pour debuter ) et non pas comme un cours sur UNIX. Je ne suis pas
   responsable des eventuels problemes occasionnes par une mauvaise lecture,
   comprehension ou interpretation de ce document ainsi que par des erreurs que
   j'aurais pu y inscrire. Si vous voyez une erreur, si vous avez des idees
   d'amelioration, ou si vous voulez me poser des questions n'hesitez pas a
   m'ecrire.


**********************************************************************************
                            ***  SOMMAIRE  ***
                              **************

[A] DEMARRER SUR MERLIN OU DIVA
  (1) Au tout debut
         passwd logout [CTRL]d [CTRL]c clear ved
         /usr/vue/bin/vuelock history UID/GID mwm
  (2) Utilisation des fenetres xterm
         utilisation des tabulations  secure keyboard  correction automatique
  (3) L'editeur de textes ved
  (4) Compilation
         pc cc
  (5) Droits d'ecriture et fichiers de /etc

[B] REPERTOIRES & FICHIERS
         nom des fichiers/repertoires
  (1) Les lister
         ls lsr showcdf
  (2) Repertoires
         cd mkdir rmdir pwd
  (3) Fichiers
         noms absolus/relatifs  cp rm more cat file cmp
  (4) Commandes communes & divers
         mv find du df xdir
  (5) Commande chmod

[C] INTERNET : E-MAIL, WEB, FTP, IRC ...
  (1) E-mail : courrier electronique
         mail mailx elm mailfrom (n)frm chfn printmail
  (2) Le web, ftp, news ...
         utilisation de netscape  tin
  (3) IRC - Internet Relay Chat
  (4) Liste des suffixes et leur signification

[D] TRANSFERTS PC <-> MERLIN/DIVA
  (1) Connexion sur le PC
         + formatage de disquettes
  (2) Formats de textes
         dos2ux ux2dos
  (3) Decoupage d'un fichier avec ARJ
  (4) Remarque

[E] IMAGES, IMPRIMANTE, QUOTA MEMOIRE & COMPRESSIONS
  (1) Images
         xv xview uudecode uuencode
  (2) Imprimante
         lp lpquota lpstat cancel
  (3) Quota memoire
         quota -v
  (4) Compressions
         (un)zip (un)compress(dir) (g)(un)zip (un)compact gzexe tar

[F] SE PERFECTIONNER
  (1) processus
         ps -u  kill -9  /etc/killall  top dmon nice
  (2) Commandes sur les commandes
         man which (un)alias
  (3) Commandes de temps
         date time sleep wait cal leave
  (4) Modifications des caracteristiques des fichiers
         chgrp chacl lsacl  touch -t  ln  umask
  (5) Encore quelques petites choses
         who -T  news banner xhchat xlsfonts bind

[G] COMMANDES DIVERSES
  (1) Les fichiers de configuration
         .Xauthority .mwmrc .tcshrc et autres .xsession
  (2) Faire chier son monde et se proteger
         xhost write mesg
  (3) Transferts entre comptes
         rlogin .rhosts telnet whoami
  (4) Utilisation de xftp
         xftp
  (5) Evironnement

[H] DEBUTER EN SHELL
  (1) Redirection d'entree/sortie
         > < >> |
  (2) Quelques commandes
         echo grep cut uniq sort wc paste
  (3) Faire un fichier shell
         arguments variables set eval

[I] COMMENT FAIRE SA PROPRE HOME PAGE WEB
  (1) Preliminaires
  (2) HTML : les premiers principes
         exemple type d'une page HTML  accentues  divers codes
  (3) HTML : la suite
         listes images liens
  (4) HTML : les choses serieuses
         compteur tableaux  fond de page


**********************************************************************************
                   ***  S'EN SORTIR SUR MERLIN ET DIVA  ***
                     ************************************


[A] DEMARRER SUR MERLIN OU DIVA
    ===========================

      Chaque etudiant en Sciences a l'UMLV dispose d'un compte personnel sur
   lequel il est cense faire ses TP d'informatique. Mais il se trouve qu'il
   est possible de faire d'autres choses ... Le fait que l'on soit connecte a
   Internet ouvre des horizons. Mais attention, vous etes responsable des
   operations effectuees sous votre nom, aussi bien sur les ordinateurs de la
   fac que sur Internet.
      Les salles d'info ouvertes sont les salles 309, 338 et 342.
   L'ingenieur systeme ( root ) est en salle 326. Dragan Cvijetic ( c'est son nom )
   est le responsable et l'administrateur des ordinateurs a la fac. En cas de
   probleme ne pas hesiter a aller le voir ou a lui ecrire ( mail root ).
      Dans ces salles nous disposons de terminaux X qui ne sont pas de ordinateurs
   a part entiere. Un tel terminal se charge de la communication entre l'utilisateur
   ( c'est-a-dire vous ) et le serveur. Le serveur est un ordinateur qui possede
   un processeur suffisamment puissant pour que nous y soyons tous ensemble.
      Les machines de la fac, accessibles depuis le D2, sont :
   merlin ( surtout pour les DEUG SSM-MIAS M2 )        193.55.44.172
   diva   ( surtout pour les DEUG SSM-MIAS M3 & M4 )   193.55.44.171
   soleil ( pour les matheux : licence & maitrise )
   athena ( ?? )
   monge  ( ordinateur de l'institut Monge )

      Dans la suite, on remplacera {fich} par un nom de fichier, {rep} par un nom
   de repertoire, {adresse} par une adresse, etc.
      Pour certaines commandes, les {fich} et {rep} peuvent etre remplaces par
   un type de fichier ( *.html  d*.txt  ech?.txt  etc ) ou * remplace une chaine
   quelconque de caracteres ( y compris la chaine vide ) et ? un caractere quelconque.
      Tout ce qui est entre parentheses est facultatif.


  (1) Au tout debut
      -------------

     * UNIX fait la difference entre les minuscules et le majuscules :
       les fichiers exo1.p et Exo1.p ne sont pas les memes ; la commande LS
       n'existe pas, il faut lancer ls.
     * passwd : permet de changer de mot de passe.
       Pour qu'un mot de passe soit valide, il doit contenir au moins un caractere
       non alphabetique ( & . @ 5 etc ) et avoir une longueur minimale de 6
       caracteres. Seuls les huit premiers caracteres du mot de passe sont pris en
       compte. Evitez a tout prix les mots du dictionnaire, les noms propres etc.
       Melangez minuscules, majuscules, chiffres ...
     * [CTRL]c : interrompre une commande en cours.
     * ved : un editeur de texte ( voir A.3 ).
     * vuelock : permet de "locker" un display ( ecran ) ; il ne peut etre libere
       qu'apres l'entree du mot de passe de l'utilisateur qui l'a locke ou de celui
       de root. Par respect pour les autres, ne pas l'utiliser trop longtemps.
       Si ecrire juste vuelock ne donne rien, essayez /usr/vue/bin/vuelock
     * Chaque etudiant a un UID ( User IDentity ) un numero qu'il est le seul a avoir
       sur la machine ( l'UID de root est 0 ) et un GID ( Group IDentity ) que
       plusieurs personnes ont a la fois. Pour voir ces deux ID faites "id".
       Exemple sur diva :
       uid=9999(martin) gid=110(deug)
       Martin est l'utilisateur numero 9999 et de groupe 110 ( deug )
     * Comment recopier du texte d'une fenetre a une autre, d'un endroit a un autre ?
       Avec la souris, c'est tres simple.
       Cliquez avec le bouton gauche au debut du texte a copier, amenez le curseur
       de la souris ( en maintenant le bouton gauche appuye ) jusqu'a la fin du
       texte ; le texte selectionne change de couleur. Si vous etes dans un ved et
       si vous voulez le supprimer, faites del "<-"  deux touches au dessus d'[ENTER].
       Puis placez votre curseur a l'aide du clavier ou du bouton gauche de la souris
       ( le mettre a l'endroit ou vous voulez qu'apparaisse le texte ).
       Enfin, avec le bouton central de la souris, vous le faites afficher.
       ( le meme texte sera affiche a chaque pression du bouton central tant qu'un
       autre texte n'aura pas ete selectionne )
     * mwm ( motif window manager ) : le gestionnaire de fenetres.
       Autour de chaque fenetre xterm, ved et autres, il y a un cadre, au dessus
         une barre et aux coins superieurs des boutons.
       Pour deplacer la fenetre dans l'ecran, appuyez sur la barre superieure
         avec le bouton gauche de la souris et deplacez votre souris.
       Pour changer la taille de la fenetre, cliquez avec le meme bouton sur les
         bords ou sur les coins et deplacez la souris.
       Pour avoir la taille maximale pour votre fenetre, cliquez sur le bouton
         en haut tout a droite en forme de carre. Faites de meme pour revenir comme
         avant.
       Pour mettre la fenetre sous forme d'icone, cliquez sur le bouton en haut
         a droite qui contient un point ; ou bien faites [ALT][BOUTONDROITE]
         Pour revenir comme avant, cliquez sur l'icone et sur "restauration" ou bien
         double clic sur l'icone.
       En cliquant sur le bouton en haut a gauche de la fenetre, vous ferez
         apparaitre un petit menu qui reunit les fonctions precedemment citees.
         Un double clic sur ce bouton provoque la fermeture de la fenetre.


  (2) Utilisation des fenetres xterm
      ------------------------------

     Lorsque vous vous logez, deux fenetres sont ouvertes sur votre ecran,
     elle permettent de lancer des commandes et d'appeler des applications :
     ce sont des fenetres xterm.
     Si vous connaissez un peu le DOS, ces fenetres vous le rappelleront un peu.

     * Dans chaque xterm est lance un shell ; par defaut c'est tcsh
     * logout, exit ou [CTRL]d : permet de fermer une fenetre xterm ; si cette
       instruction est executee dans la fenetre principale, vous etes deloge.
     * On peut voir les commandes dernierement tapees en tapant "history" ou "h" et
       les recuperer avec les fleches [haut] et [bas]. Les commandes sont numerotees,
       il est possible de les re-executees en les appelant par leur numero precede
       d'un point d'exclamation : !45 lance la commande numero 45. Autres commandes :
       !!    -> lance la derniere instruction
       !ved  -> lance la derniere instruction comancant par "ved"
     * clear : efface la fenetre xterm. ( equivalent a [CTRL]l )
     * utilisation des tabulations
       Pour eviter d'entrer le nom complet des fichiers, on utilise la touche [TAB].
       Par exemple, si le repertoire courant contient les fichiers suivants :
          exo1  exo1.p  exo2  exo2.p  exo3.p  filory.txt  file-pow.html
          news  news-return.tmp  time.from  types.log  xwait.txt
       Si je veux voir le contenu d'un fichier, il me faut utiliser "more" ( B.3 )
       more [TAB]         ( j'ecris "more " puis j'appuie sur la touche [TAB] ;
          a ce moment tous les fichiers du repertoires apparaissent et j'ai encore
       "more " sur ma ligne de commande ; j'ecris alors "e" )
       more e[TAB]        ( puis j'appuie sur [TAB] )
       exo1  exo1.p  exo2  exo2.p  exo3.p  ( le systeme affiche tous les fichiers
          commencant par "e" ; sur la ligne de commande j'ai : )
       more exo    ( car tous les fichiers commencant par "e" commencent par "exo" )
          ( Si je veux voir le fichier exo3.p, j'ecris 3 et fais [TAB] )
       more exo3[TAB]   ( ma ligne de commande devient : )
       more exo3.p      ( car exo3.p est le seul fichier dont le nom commence par
          "exo3" ; je n'ai plus qu'a faire [ENTER] pour en voir le contenu )
       Si je veux voir le contenu du fichier xwait.txt, je fais :
       more x[TAB]  ( car il est le seul dont le nom commence par "x" )
       Si je veux voir le contenu du fichier file-pow.html, je fais :
       more f[TAB]  ( ma ligne devient "more fil" et "filory.txt  file-pow.html"
          est affiche ; je fais alors e[TAB] et [ENTER] )
       N.B. Cette utilisation de [TAB] est valable quelque soit la commande UNIX
       ( ved cd rmdir cp rm cat mv chmod ... voir plus loin )

     * Dans la fenetre xterm, les lignes du haut disparaissent au fur et a mesure
       que l'on en affiche de nouvelles. Pour les revisionner il faut faire la chose
       suivante : en maintenant la touche [SHIFT] appuyee, appuyez sur [PAGE UP]
       une ou plusieurs fois ( pour voir ou vous en etes : regardez l'ascenseur
       a gauche de la fenetre ; cet ascenseur permet aussi de revenir en arriere
       en cliquant dessus avec la souris ).
       Avec [SHIFT] [PAGE DOWN], vous redescendez.

     * Lorsque vous changez de mot de passe ( avec "passwd" ) ou lorsque vous faites
       un rlogin ( voir G.3 ) vous risquez de vous faire "voler" votre mot de passe
       par un utilisateur mal intentionne qui pourrait s'en servir.
       Pour eviter cela il faut faire un "secure keyboard". J'explique.
       Mettez la souris dans la fenetre xterm, appuyez sur [CTRL] et en meme temps
       sur le bouton de gauche de la souris : un petit menu apparait ; amenez la
       souris sur "secure keyboard" et lachez le bouton de gauche de la souris.
       Votre xterm change de couleur ; a partir de maintenant plus personne ne peut
       lire se que vous entrez au clavier. Vous pouvez alors sans risque faire
       "passwd" ou "rlogin". Pensez a enlever "secure keyboard" en faisant la meme
       manipulation une fois la commande effectuee, car vous ne pourriez plus rien
       faire dans une autre fenetre.

     * UNIX possede un systeme de correction des commandes entrees. Par exemple si
       vous entrez "mial" a la place de "mail" ( voir C.1 ), le systeme constatant
       que la commande mial n'existe pas est capable de retrouver que vous vouliez
       lancer mail. Il le signale au moyen du prompt suivant : correct (y|n|e)
       Il vous propose se qu'il pense alors etre juste. Vous pouvez repondre :
       y ( yes ) si vous voulez lancer ce que le systeme vous propose
       n ( no ) si vous voulez lance ce que vous avez effectivement entre au clavier
       e ( edit ) si vous voulez que rien ne soit lance et revenir en mode d'edition


  (3) L'editeur de textes ved ( Visual EDitor )
      -----------------------

     * Syntaxe : ved ({fich}) (&)
       On remarquera que si on ecrit juste "ved", on n'a plus la main dans la
       xterm d'ou on l'a lance ; pour cela, ecrire "ved &"
       N.B. Ceci est valable pour toutes les applications qui ouvrent des fenetres
       ( netscape, xdir, xftp, certains jeux ... )
       Il est aussi possible d'ouvrir un ved directement sur un fichier :
       "ved {fich} &".
     * Pour changer la taille des caracteres de votre ved, pour faire apparaitre
       le nom du fichier edite et en changer la couleur : voir G.3 fichier .Xdefaults
     * Quelques commandes des menus deroulants.
       File :
          Open         Ouvrir un fichier
          Save         Sauvegarder le fichier
          Save as      Sauvegarder le fichier sous un autre nom
          Insert File  Inserer un fichier au beau milieu du fichier edite
          New          Nouveau fichier
          Print        Impression
          Exit F8      Quitter ved
       Edit : Ces commandes ne servent a rien dans la mesure ou tout peut etre fait
          au clavier et a la souris
       Select, All :   Selection tout le fichier
       Search, Find :  Recherche et/ou replacement d'expressions
     * NB: Pour ceux qui voudrons continuer en licence d'info etc, il serait bon
       qu'ils se mettent a vi ou emacs qui sont des editeurs de textes bien plus
       performants.


  (4) Compilation
      -----------

      Quelques rappels :
    * en pascal : "pc {fich}.p -o {fich}"
      ou pour inclure les librairies graphiques :
      "/usr/users/ens/riazano/M2v3/compi {fich}" ( sur merlin )
    * en c : "cc {fich}.c -o {fich} -Aa"
      -lm : inclusion de la librairie mathematique
    * Pour utiliser le debogueur en c :
      cc -g       compilation
      xdf {fich}  debogueur
        commandes :  s ( pas a pas ), help
    * man pow : affiche l'aide sur la librairie mathematique en c
    * compilation par Makefile :
      xmkmf  puis  make
    * pour enlever la table des codes :
      cc -s   ou    strip


  (5) Droits d'ecriture et fichiers de /etc
      -------------------------------------

      Vous disposez du droit d'ecriture dans le repertoire ~ ( c'est-a-dire chez vous
   et au-dela ) ainsi que dans le repertoire /tmp/    Dans le repertoire /tmp/, les
   donnees peuvent etre effacees de temps en temps ( quand le systeme a besoin de
   place, c'est la qu'il fait du nettoyage ).
      Il est preferable d'eviter d'ecrire directement dans le repertoire /tmp/
   il vaut mieux creer son propre repertoire /tmp/{rep}/ et en suite d'y mettre ses
   fichiers. Ceci evite que le repertoire /tmp/ soit trop "en bordel".
      Si vous etes sur merlin, tout ce que vous mettez dans /tmp/ sera comptabilise
   dans votre quota ; sur diva le /tmp/ fait l'objet d'un quota a part ( voir E.3 ).

      Dans le repertoire /etc sont contenus des fichiers de configuration de la
   machine tres importants. Comme le fichier passwd qui contient pour chaque
   utilisateur une ligne comportant : son nom d'utilisateur, son numero, son
   groupe, son vrai nom, son mot de passe ( crypte ), le shell par defaut, etc.
      D'autres fichiers ont leur importance : group, profile, inittab, hosts, motd,
   utmp, shells, etc.
      Ne pas hesiter a jeter un coup d'oeil dedans.


[B] REPERTOIRES & FICHIERS
    ======================

      Si en DOS, les noms de fichiers sont limites a 8+3 caracteres, sous UNIX
   il n'y a pas de limite de taille pour les noms des fichiers et des repertoires,
   ceux-ci peuvent contenir plusieurs points, des espaces ...
      Un nom peut contenir des lettres ( minuscules/majuscules ), des chiffres
   et les signes suivants : - . @ _ { }
   L'usage de tous les autres caracteres ( ainsi que l'espace ) est
   a eviter, certains sont memes interdits par le systeme.

  (1) Les lister
      ----------

     * ls (-a) (-l) ({rep ou fich}) : permet de lister les fichiers & repertoires
       du repertoire {rep} ainsi que les fichiers.
       Par defaut le repertoire courant est liste.
       Les repertoires et fichiers sont affiches par ordre alphabetique.
        . ls : apres le nom, * correspond a un executable / a un repertoire.
        . ls -a : liste aussi les fichiers & repertoires caches ( c'est-a-dire
          commencant par un point : .tcshrc .xsession etc )
        . ls -l  ou  ll : affiche en plus du nom des fichiers & repertoires
          certaines informations :
          Exemple :
          drwxr-xr-x   6  martin  deug        1024 Mar  1 12:41 WWW
          drwx------   2  martin  deug        1024 Feb 16 10:43 mail
          -rwxr-xr-x   1  martin  deug        1392 Feb 30 09:24 tata
          -rw-------   1  martin  deug         260 Jan 11 11:16 toto.txt
          drwx------   6  martin  deug        1024 Feb 10 14:13 tp
          |  droits         |    groupe     taille      | |     nom du fich/rep
          type         proprietaire                date & heure de
                                                derniere modification
          Le type est "-" pour un fichier et "d" pour un repertoire

        . ls -l -a  ou  ll -a : combine les effets des options -a -l
        . ls -d {arguments} : liste les arguments en tant que fichier et non
          comme repertoire dont il faut lister le contenu.

     * lsr ({rep}) ou ll -alR ({rep}) : liste tous les fichiers & repertoires de
       tous les sous-repertoires.

     * showcdf {type} : liste tous les fichiers & repertoires du type cite
       showcdf *.html liste index.html coucou.html images.html etc
       showcdf ech?.txt liste echo.txt echs.txt ech8.txt etc

  (2) Repertoires
      -----------

     * Arborescence
       Il faut considerer le disque dur des machines comme un arbre, avec un tronc,
       de grosses branches et de petites branches. Les feuilles seraient les fichiers.
       Le repertoire racine est le repertoire / c'est-a-dire le plus bas possible.
       Puis, de ce repertoire partent plusieurs autres repertoires : usr etc tmp
       dev ... Puis de chacun de ces repertoires en partent d'autres :
       / -> etc
         -> tmp
         -> usr  -> bin
                 -> etc
                 -> man
                 -> news ...
         -> dev
         -> home -> ens
                 -> m3 ...
       Pour separer chaque repertoire lors de l'ecriture, on utilise un / ( slash )
       Par exemple /usr/news/  ou  /usr/users/ens/ ...
     * certains repertoires ont un nom particulier :
       /  repertoire racine
       .  represente le repertoire courant
       .. repertoire pere du repertoire courant ( par exemple le repertoire pere de
          /usr/users/ est le repertoire /usr/ ) Seul le repertoire racine / n'a pas
          de repertoire pere.
       ~  repertoire home ; est different pour chaque utilisateur
          par exemple pour l'utisisateur martin en M3 /usr/users/m3/martin/
       ~{login} represente le repertoire home de {login} ; par exemple
          ~riazano represente /usr/users/ens/riazano
     * cd ({rep}) : ( Change Directory ) change de repertoire vers {rep}
       cd tp1      aller dans le repertoire tp1
       cd ..       aller dans le repertoire pere du repertoire courant
       cd ~riazano aller dans le repertoire de l'utilisateur riazano
       cd          sans argument est equivalent a " cd ~ "
     * mkdir (-p) {rep} : ( MaKe DIRectory ) cree le repertoire {rep}
       option -p : cree les sous repertoires si necessaires
     * rmdir {rep} : ( ReMove DIR. ) detruit le repertoire {rep} ; il faut
       qu'il soit vide ( pour le vider voir B.3 )
     * pwd : ( Print Working Dir. ) affiche le repertoire courant

  (3) Fichiers
      --------

     * Les fichiers ( et repertoires ) ont une adresse absolue et des adresses
       relatives. Je m'explique.
       Un fichier toto.txt est dans le repertoire /usr/users/m3/martin/tp3/
       Il a pour adresse absolue : /usr/users/m3/martin/tp3/toto.txt
       ( une adresse absolue commence toujours par un / [slash] ).
       Si je suis dans le repertoire /usr/users/m3/martin/ ce fichier s'appelle
       aussi tp3/toto.txt ; si je suis dans /usr/users/m3/martin/tp3/correction/
       il s'appelle ../toto.txt ; etc.
     * cp {liste de fich} {rep} : ( CoPy ) copie les fichiers dans le repertoire.
       Exemple : "copy toto.txt .." copie le fichier toto.txt dans le
       repertoire pere.
     * rm (-R)(-f) {liste de fich} : ( ReMove ) efface les fichiers. Options :
       -R : destruction recursive. Par exemple : rm -R a.out  detruit tous les
            fichiers de nom a.out dans toute l'arborescence.
       -f : evite que le systeme ne demande confirmation pour chaque fichier :
            a manipuler avec beaucoup de precautions.
     * cat : affichage et concatenation de fichiers
        . cat {fich} : affiche le contenu du fichier. A la difference de la
          commande more, cat ne fait pas le page par page.
        . cat >{fich} : cree le fichier et y met ce que l'on tape au clavier
          jusqu'a la frappe de [CTRL]d
        . cat >>{fich} : idem mais ne cree pas le fichier : ajoute a sa fin
        . cat {fich1}>{fich2} : fait une copie de {fich1} sous le nom de {fich2}
        . cat {fich1}>>{fich2} : ajoute {fich1} a la fin de {fich2}
     * more {fich} : affiche le contenu du fichier page par page. Commandes :
       [ESPACE] : affiche la page suivante
       [ENTER] : affiche la ligne suivante
       [CTRL]c : interrompre l'affichage du fichier avant sa fin
       Il n'est pas possible d'afficher plusieurs fichiers d'un coup ;
       "more *.txt" provoque une erreur du systeme ; on peut parcontre faire
       "cat *.txt | more"
     * file {fichier} : affiche le type du fichier
     * cmp (-l) {fich1} {fich2} : ( CoMPare ) compare les deux fichiers
       L'option -l permet de ne pas s'arreter a la 1re difference mais de continuer

  (4) Commandes communes & divers
      ---------------------------

     * mv : ( MoVe ) changement de nom et/ou de place
        . mv {fich1} {fich2} : change le nom de {fich1} en {fich2}
          Si {fich2} existe deja, il est efface.
        . mv {liste de fich} {rep} : deplace les fichiers vers le repertoire.
          Exemple : "mv toto.txt .." deplace le fichier toto.txt dans le
          repertoire pere
        . NB : il est aussi possible de faire "mv toto.txt ../index.txt"
          Auquel cas le fichier change a la fois de nom et de place.
        . mv {rep1} {rep2} :
           _ si {rep2} n'existe pas, change le nom de {rep1} en {rep2}
           _ si {rep2} existe, le repertoire {rep1} est deplace dans le
             repertoire {rep2}
     * find {rep} ( -name {fich/rep} ) ( -user {user} ) ( -perm {perm} )
       Cherche a partir du repertoire {rep} les fichiers et repertoires selon
       des criteres de noms, de proprietaire, de permissions.
       Il existe bien d'autres options : ne pas hesiter a faire man find ( F.2 )
       "find . -name exo1.p" recherche a partir du repertoire courant
       les fichiers exo1.p
       find /tmp -name "*.jpg" recherche dans le repertoire /tmp toutes les
       fichiers en .jpg
     * du (-a) ({rep}) : ( Disc Use ) affiche l'occupation respective de chacun des
       sous-repertoires du repertoire {rep} ; par defaut la commande prend le
       repertoire courant. L'option -a en fait de meme avec tous les fichiers de tous
       les sous-repertoires.
     * df : montre la place libre/occupee sur les differents file-systems
     * xdir (&) : utilitaire de gestion de fichiers et repertoires
       Cree deux fichiers de configuration : voir G.1

  (5) Commande chmod
      --------------
     A chaque fichier et repertoire correspondent des droits
     ( faire ll ou ll -a pour les voir ).

     chmod {ABC} {fich/rep} : change les droits du fichier ou repertoire.

     * A, B, et C sont des chiffres ( de 0 a 7 )
       sommes de 4 ( pour r ), 2 ( pour w ) et 1 ( pour x ).
     * Dans le cas d'un fichier : r permet de le lire et de le copier ;
       w permet de le modifier ; x permet de l'executer.
       Dans le cas d'un repertoire : r permet de lister le repertoire ( ls ) ;
       w : permet de creer, detruire des fichiers ; x : permet d'y aller.
       Un tiret correspond au fait que la permission indiquee n'est pas accordee.
     * A est la somme des permissions pour le proprietaire, B pour le groupe
       auquel appartient le fichier/repertoire ( generalement le meme que
       le proprietaire ; pour changer le groupe d'un fichier/repertoire :
       voir F.4 chgrp ) et C pour les autres.
     * 754 donne les droits  rwxr-xr--   7= rwx   5= r-x   4= r--
       511 : r-x--x--x ; etc
     * Seul le proprietaire a la capacite de modifier les droits de ses fichiers
       et repertoires ( root peut aussi le faire ).
     * Pour accorder des droits particulier a un utilisateur ou a un groupe
       d'utilisateurs sur un fichier ou un repertoire : voir F.4 commandes
       chacl et lsacl.
     * En cas de probleme du a un  chmod 7000 toto
       regarder avec  ll -aH   faire  chmod 700 toto+   puis  rm toto+



[C] INTERNET : E-MAIL, WEB, FTP, IRC ...
    ====================================

  (1) E-mail : courrier electronique
      ------------------------------

     * Une adresse e-mail est souvent de la forme : login@machine.organisation.pays
         par exemple moi : lhullier@massena.univ-mlv.fr
         l'ingenieur systeme de merlin : root@merlin.univ-mlv.fr
         M. El Kaim a Paris 7 : william@masi.ibp.fr  etc
       Si vous voulez ecrire a quelqu'un qui est sur la meme machine que vous,
         son adresse peut se reduire a son login. Par exemple si je veux
         ecrire a l'ingenieur systeme de diva, etant moi-meme sur diva
         " root " suffit, " root@diva.univ-mlv.fr " n'est pas necessaire.
         Ecrire a quelqu'un de la fac sur une autre machine que soit :
         " dupond@diva " suffit.
       Votre adresse personnelle est {votre login}@{machine}.univ-mlv.fr
         ( machine : merlin ou diva )
     * mail : gestionnaire de courrier
        . mail : affiche votre courrier. Commandes :
          [ENTER] courrier suivant ( sans modification du courrier )
          "-" remonte au courrier precedent
          "s ({fich})" sauvegarde dans le fichier ( par defaut : mbox )
          "d" detruit le courrier courant
          "h" affiche l'aide
        . mail {adresse} : envoie a l'utilisateur tout ce que
          l'on tape au clavier jusqu'a la frappe de [CTRL]d ou .[ENTER]
        . mail {adresse} < {fich} : envoie a l'utilisateur le fichier
          N'envoyer que des fichiers textes. Dans le cas contraire, voir :
          G.3 : Transferts entre comptes,
          E.1 : uuencode et uudecode.
     * mailx : gestionnaire de courrier assez elabore
     * elm : gestionnaire de courrier tres elabore
     * mailfrom, frm ou nfrm : affiche l'origine des messages recus
     * chfn : pour changer votre vrai non ( real name ; different du login )
     * printmail : affiche rapidement votre courrier
     * NB : le fichier contenant votre mail est : /usr/mail/{votre login}

  (2) Le web, ftp, news ...
      ---------------------

     * web : pages tres graphiques reliees entre elles par des liens hypertextes
          ( c'est-a-dire qu'il faut cliquer dessus pour y acceder )
          NB : Pour creer votre propre home page, voir chapitre I
       ftp : serveurs qui mettent a la disposition de tous des tas de logiciels,
          d'images, de textes ...
       news : forums de discussion
     * Il existe deux outils pour acceder a tout cela :
        . mosaic (&) que je vous deconseille
        . netscape (&) qui est plus complet
       Tous deux creent des fichiers de configuration voir G.1
     * Netscape, quelques trucs pour l'utiliser
       netscape ({adresse}) (&) : ouvre netscape ( sur l'adresse indiquee )
       Menus deroulants :
        . File ; New Window : ouvre une autre fenetre netscape.
          Open Location : pour ouvrir sur une adresse.
          Open File : pour ouvrir sur un fichier en local.
          Save As : pour sauver la source de la page courante.
          Mail Document : envoyer la page courante a quelqu'un.
          Print : imprimer. Pour que cela fonctionne, remplacez la ligne de commande
             "lpr" par "lp -o nb -o postscript"
          Close : ferme la fenetre courante ( pour ouvrir voir New Window ).
          Exit : quitter netscape.
        . Edit ;
        . View ; Reload : recharger la page courante.
          Source : pour voir la source HTML de la page courante.
        . Go ; Back : retour a la page precedente.
          Forward : retour a la page suivante ( apres un Back ).
          Home : retour a votre page de garde.
          Stop Loading : arrete le chargement de la page courante.
          View History : ouvre une fenetre montrant l'adresse des pages deja vues.
          puis suit la possibilite de retourner sur certaine pages deja vue.
        . Bookmarks ; gestion du "carnet d'adresses"
          Add Bookmark : ajoute l'adresse courante en bookmark.
          View Bookmarks : edition des bookmarks, une fenetre s'ouvre :
          Add Bookmark : ajoute l'adresse courante en bookmark.
          Go To : ouvrir a l'adresse indiquee.
          Up / Down : deplacer les bookmarks les uns par rapport aux autres.
          Find : pour trouver un mot parmi les bookmarks.
          Close : fermer cette fenetre.
          Edit : la fenetre va s'elargir et fait apparaitre de nouvelles options :
          View Bookmarks : ouvre sur le fichier local de bookmarks.
          New Bookmark : ajoute une nouvelle entree.
          New Header : ajoute une nouvelle categorie.
          New Separator : ajoute un nouveau trait.
          Puis suivent les caracteristiques du bookmark.
          Done Editing : remet la fenetre comme avant ( moins large ).
          Copy Item : copie le bookmark.
          Remove Item : detruit le bookmark.
        . Options ; Preference : en cliquant sur le rectangle superieur, vous
          accedez a 6 pages de configuration. Pour que les newsgroups fonctionnent,
          choisissez "Mail and news" puis mettez "news.ext.jussieu.fr" a la ligne
          "news (NNTP) Server".
          Show Location : pour voir l'adresse de la page courante.
          Autoload Images : pour charger ou ne pas charger les images.
          Save Options : comme son non l'indique.
        . Directory ; acceder a divers services de Netscape Corp.
        . Help ; comme son nom l'indique.
       Netscape cree tout seul un repertoire ~/.netscape-cache/ et y met plein
          de fichiers qui sont la copie des pages et des images deja chargees.
          Au bout de quelque temps, ce repertoire est plein a craquer : il faut
          donc le vider regulierement : rm -Rf ~/.netscape-cache/
          Faites "quota -v" ( voir E.3 ) juste avant et juste apres, vous allez voir.
       Pour charger quelque chose sans le visualiser ( ou l'executer ) appuyez
          sur [SHIFT] en meme temps que vous cliquez sur le lien.
     * Un lecteur de news peut-etre un peu mieux fait que Netscape existe,
       il faut le lancer au moyen de ces deux lignes ( ou mettre la premiere
       dans le fichier .login voir G.1 )
       setenv NNTPSERVER news.ext.jussieu.fr
       ~texte/bin/tin
     * Quelques serveurs news
       news                      news.cict.fr           news.ext.jussieu.fr
       news-server.unil.ch       news.cerfacs.fr        freenet.hut.fi
       oravannahka.helsinki.fi   afp76.humc.edu         aquila.sni-usa.com
       c2.net                    pc162.abrfc.noaa.gov
     * Quelques adresses
        . http://www.greenpeace.org
        . ftp://ftp.ibp.fr
        . news:rec.humour.fr
       Retrouvez toutes mes adresses dans ma hotlist :
          http://massena.univ-mlv.fr/~lhullier/hotlist.html

  (3) IRC - Internet Relay Chat
      -------------------------

     * Toute l'annee, 7j/7 et 24h/24 pour discuter avec des dizaines de
       personnes tout autour de la planete , un seul moyen : IRC
       L'utilitaire IRC pour UNIX se nomme souvent " discute " et vous le
       trouverez entre autres sur diva et merlin dans /tmp/pub/
     * Apres avoir lance discute, il faut vous connecter a un serveur ;
       pour cela ecrivez " /server irc.enst.fr ". Il en existe d'autres comme
       irc.univ-lyon1.fr ou sil.polytechnique.fr, mais irc.enst.fr est un serveur
       francais parmi les meilleurs. Liste ( non exaustive ) de serveur :
       irc.enst.fr  irc.eurecom.fr  irc.ec-lille.fr  cismhp.univ-lyon1.fr
       sil.polytechnique.fr  irc.cismhp.univ-lyon1.fr  salambo.enserb.u-bordeaux.fr
       irc.belnet.be  irc.uni-stuttgart.de  irc.wu-wien.ac.at  ircd.funet.fi
       irc.mo.net  irc1.cerf.net
     * Sur massena / fillmore : ~rohee/bin/sirc -s sil.polytechnique.fr
     * Puis vous devez choisir un surnom ( nickname en anglais ) :
       /nick {surnom}
     * Puis vous joindre a un chanel ; il existe de centaines de chanels
       sur tous les themes et en toutes les langues ; vous pouvez par exemple
       essayer #france #francais #europe #usa ... Faites " /join #... "
       Suite a la reprise de essais nucleaires par J. Chirac, tout francais
       se connectant sur #australia en est automatiquement exclu. No comment.
     * Toutes les personnes connectees sur le meme chanel ont le meme texte
       qui defile. Pour en envoyer, il suffit d'ecrire et de faire [ENTER]
       Un petit truc : comme avec du texte il est difficile de faire passer
       ses emotions, de comprendre s'il s'agit d'une plaisanterie ou si
       quelque chose est serieu, on utilise des smileys :
       :-) exprime un sourire  :-( la tristesse  ;-) un clin d'oeil
       :-o l'etonnement  *:-) mal coiffe ...
     * Quelques commandes :
       /nick {surnom}         changer de surnom
       /join #{chanel}        changer de chanel ( et donc quitter le chanel
          sur lequel vous etes en ce moment )
       /msg {surnom} {texte}  envoyer un message prive a {surnom}
       /away {texte}          a utiliser lorsque l'on veut s'absenter sans se
          deconnecter ; cette commande signalera a tous ceux qui feront /msg sur
          vous que {texte}
       /away                  ( sans argument ) revient comme avant
       /whois {surnom}        obtenir des renseignements sur {surnom}
          permet notamment d'avoir son adresse e-mail et de faire un finger
          sur lui : sous UNIX tapez "finger {adresse}"
       /whowas {surnom}       idem mais si {surnom} est parti
       /list -MIN 5           affiche l'ensemble des chanels ou il y au moins
          5 personnes connectees. 5 est evidemment un exemple.
       /me {texte}            affiche "*" puis votre surnom et enfin {texte}
       /part                  quitter le chanel ( vous restez connecte au serveur
          mais vous n'etes plus connecte a aucun chanel )
       /dcc send {nick} {fichier} envoyer un fichier
       /dcc get  {nick} {fichier} recevoir le fichier
       /quit                  quitter IRC
     * Quelques codes sympathiques
       [CTRL]v : inverse  video
       [CTRL]g : beep ecran
     * Exemple :
       /server irc.enst.fr              je me connecte
       /nick Superman                   je m'appelle Superman
       /join #usa                       je vais sur le chanel #usa
       Hello !                          j'ecris "Hello !" ( sur #usa )
       /msg Wonderwoman Hello darling.  j'envoie un message a Wonderwoman
       /join #france                    je vais sur #france ( je quitte #usa )
       /me is back                      j'affiche : * Superman is back
       /whois Batman                    je me renseigne sur Batman
       /quit                            je quitte IRC
     * Pour plus d'informations sur IRC, je vous propose de lire le fichier ecrit
       par Nicolas Pioch a ce propos : http://massena.univ-mlv.fr/~lhullier/irc.txt

  (4) Liste des suffixes et leur signification ( in english )
      ----------------------------------------

   ad Andorra      ae United Arab Emirates         ag Antigua&B.   al Albania
   am Armenia      aq Antarctica   ar Argentina    at Austria      au Australia
   bb Barbados     bd Bangladesh   be Belgium      bg Bulgaria     bm Bermuda
   bn Brunei       bo Bolivia      br Brazil       bw Botswana     by Belarus
   bz Belize       ca Canada       cf Central African Republic     ch Switzerland
   cl Chile        cm Cameroon     cn China        co Colombia     com Commercial
   cr Costa Rica   cu Cuba         cy Cyprus       cz Czech Rebublic
   de Germany      dk Denmark      do Dominican Republic           ec Ecuador
   edu Educational ee Estonia      eg Egypt        es Spain        fi Finland
   fr France       fx France, Metropolitan (??)    gb Greato Britain
   ge Georgia      gl Greenland    gov Government  gr Greece       gt Guatemala
   gu Guam         hk Hong Kong    hn Honduras     hr Croatia/Hrvatska
   hu Hungary      id Indonesia    ie Ireland      il Israel       in India
   int Internat.   ir Iran         is Iceland      it Italy        jm Jamaica
   jp Japan        ke Kenya        kg Kyrgyzstan   kr Korea (South)
   kw Kuwait       ky Cayman Islands               kz Kazakhstan   lb Lebanon
   li Liechtenstein                lk Sri Lanka    lt Lithuania    lu Luxembourg
   lv Latvia       mc Monaco       mil Military    mk Macedonia    mn Mongolia
   mo Macau        mq Martinique   mt Malta        mu Mauritius    mx Mexico
   my Malaysia     mz Mozambique   na Namibia      net Network     ng Nigeria
   nl Netherlands  no Norway       np Nepal        nz New Zealand  org Organizat.
   pa Panama       pe Peru         pf French Polynesia             pg Papua New Guinea
   ph Philippines  pk Pakistan     pl Poland       pr Puerto Rico  pt Portugal
   ro Romania      ru Russia       sa Saudi Arabi  se Sweden       sg Singapore
   si Slovenia     sk Slovakia     sn Senegal      sr Suriname     su Soviet Union[sic]
   sv El Salvador  th Thailand     tj Tajikistan   tr Turkey       tt Trinidad&Tobabo
   tw Taiwan       tz Tanzania     ua Ukraine      uk United Kingdom
   us USA          uy Uruguay      uz Uzbekistan   ve Venezuela    xe Europe
   xw The World    xx Unknown      yu Yugoslavia   za South Africa


[D] TRANSFERTS PC <-> MERLIN/DIVA
    =============================

     Le PC ( aussi nomme osiris ) de la salle 338 permet de transferer des fichiers
     des ordinateurs de la fac sur disquette ( donc sur votre PC ) ; les transferts
     dans l'autre sens sont aussi permis.
     Pour creer un fichier contenant tout votre compte : voir E.4

  (1) Connexion sur le PC
      --------------------

     * Le systeme vous demande le login et le mot de passe :
       login : etudiant
       password : ssm96
     * Alors l'environnement est comparable a UNIX ; il s'agit en fait de Linux.
     * Vous pouvez utiliser FTP ou XTFP comme a votre habitude.
       Pour une aide sur l'utilisation de XFTP : voir G.4
     * Exemple d'utilisation :
       Bienvenue sur osiris
       Login : etudiant                           Connexion sur le PC ( osiris )
       Password : ssm96
       osiris [2] [/home/etudiant] ll /fd0/       Liste le contenu de la disquette
       -rw-r--r--   1 etudiant users        2460 Feb  1 10:18 tp3
       osiris [3] [/home/etudiant] xftp&          Lancement de XFTP
                                             Vous faites vos transferts ( voir G.4 )
       osiris [4] [/home/etudiant] ll /fd0/       Liste le contenu de la disquette
       -rw-r--r--   1 etudiant users        2815 Feb  4 14:57 tp2
       -rw-r--r--   1 etudiant users        2460 Feb  1 10:18 tp3
       osiris [5] [/home/etudiant] xdos&          Lancement de l'amulation DOS
                                                  ( voir D.3 )
     * Pour formater une disquette sur le PC : mkdosfs /dev/fd0

  (2) Formats de textes
      -----------------

     Dos et UNIX n'ayant pas tout a fait le meme format de texte, si vous voulez
     rapporter des textes sur votre PC, il vous faut connaitre les commandes
     suivantes :
     * ux2dos {fich1} > {fich2} : modifie le fichier unix {fich1} vers
       le fichier dos {fich2}
     * dos2ux {fich1} > {fich2} : modifie le fichier dos {fich1} vers
       le fichier unix {fich2}
     Attention : ne surtout pas utiliser le meme non de fichier pour {fich1} et
     {fich2}, la source serait effacee.

  (3) Decoupage d'un fichier avec ARJ ( sous reserve que l'emulateur DOS fonctionne )
      -------------------------------

     * Methode :
       1) Sous Linux, ramenez votre gros fichier dans le repertoire /home/etudiant/
       ( si vous avez plusieurs fichiers, vous devriez creer un repertoire )
       2) Sous DOS, le couper depuis E:\ ( nom sous DOS de /home/etudiant/ )
       sur la disquette A:\
       3) Enfin effacer la source dans /home/etudiant/ ( ou E:\ pour DOS )
     * Il vous faut lancer l'emulation DOS ; sous Linux taper : xdos&
       Le PC ouvre une fenetre qui affiche :
          Demarrage de MS-DOS ...
          [Linux File System] drive E: is directory /home/etudiant/
          [dosemu 0.52 EMS 4.0 driver installed]
          "Welcome to dosemu 0.60!"
       Alors le repertoire /home/etudiant/ devient E:\
       la disquette est bien-sur A:\
       Pour quitter l'emulation DOS : exitemu
     * Vous pouvez alors utiliser ARJ ( version 2.41 ).
       Archivage :
       arj a -va a:\archive.arj e:\fichier.big
              |      |              |
              |      |     +--------+
              +------)-----)--> Detection automatique de la place restante sur a:\
                     +-----)--> Nom du fichier d'archive cree. Sur la 1re disquette,
                           |    il se nommera archive.arj ; sur la 2me archive.a01
                           |    sur la 3me archive.a02 ...
                           +--> Nom du gros fichier a decouper
       Desachivage ( chez vous ) :
       arj e -va a:\archive
     * NB : Vous pouvez copier l'executable arj version 3.50, il est dans le
       repertoire C:\PATH  c'est-a-dire  C:\PATH\ARJ.EXE

  (4) Remarque
      --------

       Vous pouvez couper un fichier sous UNIX, avec la commande
       split -b {taille} source destination
       Coupe le fichier source en creant les fichiers destination.xa ...


[E] IMAGES, IMPRIMANTE, QUOTA MEMOIRE & COMPRESSIONS
    ================================================

  (1) Images
      ------

     Ou trouvez des images ? Sur Internet ( voir C.2 ) et peut-etre dans le
     repertoire /tmp/
     Ce sont des fichiers de suffixe .png .jpeg .jpg .gif et quelques autres.

     * xv ({fich}) (&) : visualisateur et traitement d'images
       A l'ouverture de la fenetre, cliquez dessus avec le bouton de droite
       de la souris : le menu apparait ; vous pouvez, par exemple, cliquer sur
       Windows puis sur Visual Schnauzer : un double clic sur une image l'affiche.
       Pour mettre une image en postscript ( pour l'imprimer, voir E.2 ) chargez la
       ( double clic dans le Visual Schnauzer ou Load dans le premier menu )
       faites save dans ce premier menu choisissez le format "postscript" dans la
       liste en bas a gauche, "ok" puis configurez la page.
     * xview {fich} (-onroot) (-fullscreen) (&) : visualisateur d'image
       -onroot : en fond d'ecran
       -fullscreen : en plein ecran
     * imageview -bg black : visualisateur d'image ( sur diva uniquement )
     * xpaint  et  xfig  editeurs d'images
     * uudecode {fich} : dans les newsgroups les images sont uuencodees ;
       pour les decoder on utilise cette commande. Le fichier texte devient un
       fichier binaire ( cette transformation est par ailleurs valable pour tous
       les fichiers binaires ).
     * uuencode {image existante} {image future} > {fichier} : action inverse
       de uudecode

  (2) Imprimante
      ----------

     * NB : l'imprimante est en salle 342. Son usage demande de la moderation car
       l'encre et le papier ne sont pas illimites. Il est d'ailleurs conseille
       d'apporter son propre papier ( format A4 ).
     * lp -onb (-o2 / -o4) (-opostscript) {fich} : imprime le fichier
         -onb : evite l'impression de la page de garde
         -o2 : sur deux colonnes
         -o4 : sur deux colonnes et sur deux lignes
         -opostscript : pour les images en postscript ( .ps ) ( voir E.1 )
       Pour chaque impression un numero est fourni, il sert a annuler
       la commande ( voir plus loin : cancel )
     * Pour imprimer un fichier en  .dvi  faire  divps fichier.dvi
     * lpquota : chaque utilisateur a un quota d'impression, un nombre de 150
       pages que l'on ne peut depasser par mois. Cette commande en affiche l'etat.
       Exemple :
       lpquota : martin   (uid 9999) - uses : 7 - max 150
       Il a imprime 7 pages sur le 150 qui lui sont autorisees.
       NB : cette commande ne semble pas fonctionner ...
     * lpstat -t : affiche l'etat du buffer de l'imprimante, c'est-a-dire
       les fichiers qui sont en attente d'impression. Permet de retrouver
       un numero d'impression.
     * cancel {numero} : annule la commande de tel numero.
       numero de type  hpi3-xxx

  (3) Quota memoire
      -------------

     * Chaque utilisateur est limite dans l'occupation du disque dur.
       Il est restreint a 5000 kiloctets et 750 fichiers+repertoires.
     * "quota -v" permet de visualiser l'etat de son propre quota.
     * En cas de depassement du quota ( entre 5000 et 6000 Ko ou
       entre 750 et 1000 fichiers ) un delai de 7 jour vous est accorde.
       Apres cette date, le systeme effacera une partie de vos fichiers
       de maniere a ce vous soyez sous la barre des 5000 Ko et 750 fichiers.
     * Vous ne pouvez pas creer un fichier au-dela de 6000 Ko ou de 1000 fichiers.
     * Quand vous faites quota -v, deux lignes sont affichee. Ces deux lignes ont
       une signification differente selon la machine sur laquelle vous etes :
       . merlin
         1) affiche votre quota ( quota total home+tmp ).
         2) n'a aucune signification et ne change rien pour vous.
       . diva
         1) affiche votre quota depuis le repertoire /tmp/.
         2) affiche votre quota depuis le repertoire home ( ~ ).
     * Exemple :
       Disk quotas for martin (uid 9999):
       Filesystem     usage  quota  limit    timeleft  files  quota  limit  timeleft
       /                 28  10000  15000                 13    750   1000
       /disc           3431   5000   6000                402    750   1000
       La seconde ligne dit que martin en est a 3431 kiloctets et a 402 fichiers.

  (4) Compressions
      ------------

      Il est possible de reduire la taille de donnees en les compressant. Pour les
      re-utiliser, il faudra les decompresser. Il existe plusieurs outils de
      compression/decompression ; a chacun est associe un suffixe :
      * zip {fich source} / unzip {fich}.zip
      * compress {fich source} / uncompress {fich}.Z
      * compressdir {rep source} / uncompressdir {fich}.Z
      * gzip {fich source} / gunzip {fich}.gz
      * compact {fich source} / uncompact {fich}.C
      * gzexe   compression d'executables

      Pour memoire je place ici les commandes de tarage et detarage ; mais il ne
      s'agit pas d'un outil de compression mais de concatenation de fichiers.
      Il faut en suite compresser le fichier en .tar :
      tar cvf {destination}.tar {liste de source} / tar xfv {fich}.tar

      Il est possible de compresser tout votre compte et de le decompresser sur
      votre PC ; en effet la compression des outils zip/unzip sous UNIX et
      pkzip/pkunzip sous DOS son compatible. ( Si vous n'avez pas ces outils sous
      DOS, cherchez les sur Internet par exemple en partant de ma hotlist, logiciel )
      Voici la marche a suivre :
      * Sur diva ou merlin, faire :
        cd          Il faut vous mettre dans votre repertoire home, sinon lors de
                    la decompression, vous n'allez pas etre decu ... Puis :
        find . -print | zip {archive} -@
                    Le nom du fichier {archive} peut par exemple etre de la forme
                    /tmp/{repertoire}/compte ; c'est-a-dire qu'il est preferable
                    de ne pas mettre ce fichier dans votre repertoire home.
      * Faire votre transfert ( voir chapitre D )
      * Sur votre PC : en etant place dans le repertoire a partir duquel vous voulez
        que votre compte soit decompresse :
        pkunzip -d {archive}
      * NB : Certains fichiers dont les noms posent des problemes au DOS ne seront
        pas extraits ; par exemples tous les fichiers de configuration ( voir G.1 )
        dont le nom commence par un point, etc


[F] SE PERFECTIONNER
    ================

  (1) processus
      ---------

       A chaque commande lancee en tache de fond ( avec "&" ) est associe
       un numero de processus ( en anglais : process ), par exemple lorsque l'on
       fait ved& ou netscape&. Lors que l'on se loge, on a deja des processus en
       route ( pour les fenetres par exemple ).

       * ps -u {login} : affiche tous les processus de l'utilisateur {login}
       * kill -9 {numero de processus} : detruit un processus. On ne peut detruire
         que ses propres processus.
         Par exemple, si je fais "ved&", le systeme ouvre un ved et affiche :
         [{no1}] {no2}  si je fait "kill {no2}", la fenetre ved est detruite.
       * Pour detruire tous vos processus d'un coup ( c'est-a-dire vous deloger )
         faites "kill -9 -1"
       * top : montre les processus qui prennent le plus de temps machine.
         La liste est reactualisee toutes les trois secondes environ. Faire [CTRL]c
         pour quitter top.
       * dmon : outil d'occupation systeme. Taper u pour voir ce qu'occupe chaque
         utilisateur.
       * nice {nombre} : changement de la priorite de tous vous processus a venir.
         {nombre} : de -1 a -19. Un nombre plus grand que 19 equivaut a 19.
         Vous ne pouvez qu'abaisser la priorite de vos propres processus.
         Seul root peut faire "nice --10" ( c'est-a-dire augmenter la priorite ).
         nice -{nombre} {commande}   lance une commande a priorite reduite.
       * Si par erreur vous n'avez pas tape  netscape&  mais  netscape
         il y a une possibilite de reprendre la main dans la fenetre appelante
         sans quitter entscape : en tapant [CTRL]z vous avez la main dans le shell
         et le processus est suspendu ; tapez bg : ce dernier est recupere.
       * nohup {commande}   lance une commande non interronpue quand la session de
         travail se termine.

  (2) Commandes sur les commandes
      ---------------------------

      * man ({no}) {commande} : pour obtenir une aide sur la commande
        ( en anglais ).
        Par exemple "man chmod" explique la commande chmod
        Numero :
        1 = user commands
        2 = system calls
        3 = libc calls
        4 = devices ( e.g., hd, sd )
        5 = file formats and protocols ( e.g., wtmp, /etc/passwd, nfs )
        6 = games
        7 = conventions, macro packages, etc. ( e.g., nroff, ascii )
        8 = system administration
      * which {commande} : fournit le chemin absolu de la commande
      * alias ( {mot} {commande/fichier executable} ) : pour que la frappe
        de {mot} equivaille a la frappe de {commande/fichier executable}
        . Si aucun argument n'est entre, montre les alias deja existants
        . Par exemple "alias irc /tmp/pub/discute" permet d'eviter de devoir
          taper /tmp/pub/discute a chaque fois que l'on veut aller sur IRC,
          il suffira alors de taper "irc".
        . L'alias ainsi cree n'est valable que dans la fenetre ou a ete
          tapee la commande alias et ne le sera plus la prochaine fois que
          vous vous connecterez.
        . Pourtant lors que l'on se loge, certains alias existent deja :
          "h"="history"  "-"="cd .."  "rm"="rm -i"  "bye"="logout"
          Il est possible d'en ajouter : voir G.1 fichier .tcshrc ou .login
        . alias azerty 'echo \!*'
      * unalias {mot} : detruit un alias existant

  (3) Commandes de temps
      ------------------

     * date : affiche l'heure et la date du systeme
       date +truc  affiche selon le format truc ; par exemple :
       date +%d-%m\ %Hh%M   {jour}-{mois}\ {heure}h{minute}
     * time {commande} : affiche le temps d'execution de la commande
     * sleep {nombre} : suspend l'execution durant {nombre} seconde(s).
        Exemple : ( sleep 60 ; {commande} )&
     * wait : attend la fin des processus.
        Exemple : netscape& ; wait ; rm -Rf ~/.netscape-cache/
     * cal : affiche un calendrier
     * leave {heure} : si vous avez peur d'oublier de regarder votre montre
       et de partir trop tard, cette commande permet que le systeme vous
       avertisse a l'heure dite. {heure} est de format hhmm

  (4) Modifications des caracteristiques des fichiers
      -----------------------------------------------

     * chgrp {groupe} {fich/rep} : CHange le GRouPe du fichier ou du repertoire.
       ( pour connaitre le groupe auquel vous appartenez : voir A.1 id )
       Par exemple :
       chgrp ens ~/tp/
       chmod 750 ~/tp/
       Affecte a votre repertoire tp le groupe "ens" ; puis vous donner les droits
       de lecture et execution ( le 5 du 750 de la commande chmod ) a tous les
       utilisateur de groupe "ens" ( enseignants ).
       Option : -R pour recursif
     * chown {user} {fich} : CHange le proprietaire ( OWNer ) du fichier.
       A manipuler avec precautions.
       Option : -R pour recursif
     * chacl : permet de donner des droits particulier a un utilisateur ou a un
       groupe d'utilisateurs sur un fichier ou un repertoire.
       Commande complementaire de la commande chmod ( voir B.5 ).
       Syntaxe : chacl '( {utilisateur}.{groupe} , {droits} )' {fich/rep}
       On peut remplacer l'utilisateur et/ou le groupe par % qui signifie : tous
       Exemples :
       chacl '(dupond.%,rwx)' toto  donne tous les droits sur le fichier toto
                                    a l'utilisateur dupond
       chacl '(%.ens,rwx)' toto     meme pour tous les profs ( groupe ens )
       chacl '(%.%,r-x)' toto       equivaut a : chmod 555 toto
       Attention : la commande chmod ( voir B.5 ) annule la commande chacl.
     * lsacl {fich/rep}  permet de visualiser l'effet de la commande precedente
       Par exemple ( l'utilisateur se nomme Martin ) :
       > chmod 700 tp/
       > lsacl tp/
       (martin.%,rwx)(%.deug,---)(%.%,---) tp/
         pour martin       groupe    autres
       > chacl '(dupond.%,r-x)' tp/
       > lsacl tp/
       (martin.%,rwx)(dupond.%,r-x)(%.deug,---)(%.%,---) tp/
     * touch -t : modifier la date et l'heure des fichiers et repertoires.
       touch -t 199512271045 {fich}   pour 10h45 le 27-12-95
     * ln -s {source} {lien} : faire un lien symbolique.
       Ici, {lien} devient une copie {source} ( copie par pointeur )
     * umask {mode} : change le mode par defaut. ( voir aussi chmod B.5 )
       Signale au systeme les droits a ne pas accorder lors d'une creation
       de fichier ou de repertoire. Les droits d'un fichier sont initialises
       lors de sa creation, et chaque processus possede un masque de protection
       qui specifie les droits interdits lors d'une creation : la valeur des
       droits sera la combinaison des droits demandes moins les droits interdits
       par le masque. umask permet de changer ce masque. Lorsque qu'un fichier ou
       un repertoire est cree, il n'a pas les droits 777 : pour un repertoire c'est
       souvent 755. La valeur par defaut d'umask est de 022 ( valeur qui a la meme
       signification que pour chmod ), cela signifie que le systeme ne donnera
       pas les droits d'ecriture ni au groupe ( le premier 2 ) ni aux autres
       ( le second 2 ). Si on fait  umask 000  suivi d'un  mkdir {rep}  le
       repertoire aura pour droits 777 ; de meme pour un executable ; 666 pour
       les fichiers de donnees. Si on fait  umask 077, les repertoires et les
       executables dorenavant crees auront pour droits 700 et les fichiers de
       donnees 600.

  (5) Encore quelques petites choses
      ------------------------------

     * who -T : affiche qui est loge et sur quel display ( ecran )
       Seuls les utilisateurs de la machine sur laquelle on est loge
       sont affiches.
     * news : affiche les nouvelles ( le fichier .news_time est alors cree )
       Si vous voulez placer de telles news, il vous faut mettre le fichier texte
       dans le repertoire /usr/news/ ( fichier de droits 644 par exemple )
     * [CTRL][ALT][DELETE] : fait rebooter le terminal X ( a utiliser si rien
       d'autre ne peut etre fait et seulement dans ce cas )
     * banner {texte} : affiche le texte en grosses lettres.
     * xhchat {display} : ouvre une fenetre de discussion entre vous et l'utilisateur
       qui est sur l'ecran {display}. {display} de la forme loire:0.0
       ( penser a mettre le curseur-souris dans le rectangle superieur )
       Necessite que le display ( ecran ) de {login} soit en "xhost +"
       ( voir G.2 )
     * xlsfonts : affiche toutes les fontes utilisables ( fonte = police de
       caracteres ). Comme la liste est tres longue je vous conseille de faire :
       xlsfonts>fontes.txt  ( voir H.1 ) et de faire : more fontes.txt
     * bind : affiche les commandes clavier
     * bc : langage arithmetique a precision illimite
     * od : affiche le contenu d'un fichier en octal ou sous d'autres formats
     * sum : calcule une somme de controle, et compte le nombre de blocs d'un
       fichier


[G] COMMANDES DIVERSES
    ==================

  (1) Les fichiers de configuration
      -----------------------------

      Listez votre repertoire home : "cd" puis "ll -a" ; certains de ses fichiers
      apparaitront :

      .Xauthority  ??
      .Xdefaults   Configuration de diverses applications
                   "Mwm*iconPlacement : top right"  Determine la place des icones
                   dans l'ecran ( configuration de mwm )
                   "Ved*copyright : False"          Ne plus avoir le copyright du ved
                   "Ved*EasyEdit*fontList : 9x15"   Changer la fonte du ved.
                   ( c'est-a-dire la taille des caracteres ), la 9x15 est bien.
                   "Ved*title : {titre de mon ved}" Changer le titre des ved.
                   "Ved*background : white          Ces 4 lignes pour avoir un ved
                    Ved*foreground : black          blanc, mais surtout pour avoir
                    Ved*borderColor : white         le nom du fichier edite.
                    Ved*EasyEdit*insertCursorColor : black"
      .asWedit-prefs  configuration de asWedit
      .cshrc       configuration du c-shell
      .history     contient les commandes precedemment entrees ; visibles
                   en tapant "history" ou "h" et recuperables avec les
                   fleches [haut] et [bas]
      .login       Contient la declaration de diverses variables dont "path",
                   l'appel de la commande umask ( initialement en 022 ).
                   Peux aussi contenir les alias ( voir fichier .tcshrc ).
      .mosaic-global-history        cree par mosaic (voir C.2 ) ; historique des
                                    pages vues
      .mosaic-hotlist-default       cree par mosaic ; hotlist ( bookmarks )
      .mosaic-personal-annotations  cree par mosaic ; repertoire
      .mosaicpid                    cree par mosaic ; configuration
      .mwmrc       configuration du gestionnaire de fenetres
                   configuration des menus de fond d'ecran ( si vous cliquez sur
                   l'image de fond apparaissent des menus deroulants )
      .netscape-bookmarks.html  bookmarks de netscape : voir C.2
      .netscape-cache           repertoire ou netscape stock toutes les pages et
                                images qui ont ete visualisees
      .netscape-preferences     configuration de netscape
      .news_time   existe et est vide si vous avez tape "news" ( voir F.5 )
      .profile     est lu lorsque l'on se loge, configure la xterm principale
      .rhosts      liste des utilisateurs qui sont les bienvenus ( voir G.3 )
      .tcshrc      fichier qui est execute lors de l'ouverture de toute fenetre
                   xterm ; c'est la qu'il faut mettre les commandes "alias"
                   pour les avoir tout le temps et dans toutes les fenetres.
                   Exemple d'alias courants :
                   compi = /usr/users/ens/riazano/M2v3/compi ( sur merlin )
                   irc = ~lhullier/pub/discute
                   lock = /usr/vue/bin/vuelock
                   Fichier ou il faut mettre "mesg n" ( voir G.2 )
                   C'est aussi la que l'on peut modifier les prompt :
                   set prompt="{prompt classique}"
                   set prompt3="{prompt de correction}"
                   Commandes pour les prompts :
                   %! : numero de la commande  %~ : repertoire courant
                   %S{blabla}%s : ecrire en noir    %B{blabla}%b : ecrire en gras
                   Date : %Y annee  %M mois  %D jour     %T : heure
      .vedrc       configuration de VED ( voir A.3 )
      .xblast      configuration de xblast
      .xdircache   configuration de xdir ( voir B.4 )
      .xdirrc      configuration de xdir
      .xftpcache   configuration de xftp ( voir G.3 )
      .xftprc      configuration de xftp
      .xftpview    configuration de xftp
      .xhpcalc     configuration de xhpcalc
      .xpilotrc    configuration de xpilot. Permet de changer de vaisseau ( via
                   editss ) et de changer de nom
      .xsession    1r fichier a etre execute lorsque l'on se loge, il ouvre
                   toutes les fenetres ( -> execution de .tcshrc ), lance
                   toutes les commandes qu'il contient. Il est possible de
                   le modifier ( avec beaucoup de prudence !!! )
                   Ajouter une horloge "xclock&", un gestionnaire de e-mail
                   "hbiff&", mettre un image en fond "xview -onroot &" etc
                   Fichier ou il faut mettre "xhost -" voir ( voir G.2 )
      .xsessionlog Contient les messages que le systeme emet lors de l'execution
                   du fichier .xsession et lorsque vous lancez une application
                   par les menus de fond d'ecran

  (2) Faire chier son monde et se proteger
      ------------------------------------

    * La plupart des applications qui ouvrent une fenetre est redirigeable
        vers un display ( ecran ) different de celui duquel elle est lancee.
        Par exemple "xview fifille.pnp -fullscreen -display yvain:0.0"
        envoie la belle image sur le display nomme yvain.
      Pour eviter que quelqu'un n'ouvre une fenetre sur votre display,
        n'y mette une image, etc ... faites "xhost -" ; pour revenir comme
        avant faites "xhost +"
      Dans certains cas, il faut etre en "xhost +" :
        pour jouer a xblast
        pour envoyer une application quand on est loge chez quelqu'un d'autre
        ( voir G.3 )
        pour recevoir un xhchat ( voir F.5 )
      Possibilite de le mettre dans le fichier .xsession ( voir G.1 )
    * En faisant "write {login}" puis en entrant du texte, l'utilisateur
      {login} verra affiche dans un de ses fenetres xterm le texte.
      Pour se proteger contre cela, il faut faire "mesg n" ; "mesg y" pour
      revenir comme avant.
      Possibilite de le mettre dans le fichier .tcshrc ( voir G.1 )

  (3) Transferts entre comptes
      ------------------------

     * rlogin {machine} -l {user} : permet de se loger chez {user} qui est
       sur la machine {machine} ; le systeme demande alors le mot de passe.
       Lorsque l'on se loge chez quelqu'un, on est comme lui : on a ses
       droits, son adresse e-mail, etc.
       Pour quitter, et "redevenir vous", faites exit, logout ou [CTRL]d
       Pratique lorsque l'on travaille en binome.
     * Pour eviter d'avoir a entrer le mot de passe a chaque fois, il suffit
       que la personne chez qui on veut aller, cree un fichier .rhosts dans
       son repertoire home qui contient {machine} {login} pour tous ceux
       qu'elle autorise a venir.
       Par exemple si le fichier .rhosts de dupont contient :
       " merlin durand
         diva dupuy    "
       les utilisateurs durand sur merlin et dupuy sur diva pourront se
       loger chez dupond sans connaitre son mot de passe.
     * Attention, avoir du monde dans son .rhosts peut etre dangereux
       1 Il faut avoir confiance en ceux que l'on autorise a "devenir vous"
       2 Si ces-derniers ont eux aussi un .rhosts quiconque de ceux
         qu'ils autorisent a venir chez eux peut venir chez vous.
       Par exemple :
       Dans le .rhosts de dupond : "merlin durand"
       Dans le .rhosts de durand : "diva martin"
       Martin pourra devenir durand en faisant "rlogin merlin -l durand" ;
       une fois qu'il est sous le nom de durand, il pourra aller chez dupond
       en faisant "rlogin merlin -l dupond" meme s'il n'y a pas "diva martin"
       dans le .rhosts de dupond. Alors, prudence quand vous mettez quelqu'un
       dans votre .rhosts !
     * En cas de doute sur de votre identite sur le moment : taper "whoami"
       ( who am I ? dans le texte ) et votre login s'affichera.
     * Pour ouvrir une application chez quelqu'un d'autre, votre ecran
       doit etre en "xhost +" et vous devez taper "setenv DISPLAY {ecran}" ;
       {ecran} doit etre de la forme dordogne:0.0 volga:0.0 etc
     * telnet {machine} : permet de se loger chez quelqu'un d'autre. Plus rapide
       que rlogin. Ignore le fichier .rhosts
     * xftp : voir l'alinea suivant ( G.4 )

  (4) Utilisation de xftp
      --------------------

       xftp (&) : permet de faire des transferts entre comptes.
     * La fenetre se divise en deux parties : a gauche votre compte, a droite rien
       pour l'instant. Pour vous connecter sur l'autre compte, faite "connect"
       ( en haut de la moitie droite ) ; ensuite trois possibilites vous sont
       offertes :
       _ local : vers votre compte
       _ remote : vers un autre compte ( ce qui nous interesse pour notre cas )
       _ anonymous : vers un serveur ftp anonyme
     * Si vous cliquez sur "remote" il vous faut entrer le nom de la machine
       ( merlin, diva ... ) et en dessous le login de l'utilisateur ; entrez le
       mot de passe ; et voila : a droite vous etes loge.
     * Au moyen des deux touches au milieu ( copy et Rcopy ) vous pouvez copier
       respectivement des fichiers et des repertoires dans les deux sens.
     * Pour quitter : File ( en haut a gauche ), Quit
     * NB : Il est possible de se connecter de facon quelconque des deux "cotes"
       d'un ftp. Par exemple, rien ne vous oblige a rester connecte a votre compte
       du cote gauche : vous pouvez vous connecter sur deux comptes differents du
       votre, etc.
     * NB : ftp cree deux fichiers de configuration : voir G.1

  (5) Environnement
      -------------

    * xset ....
      xset s {nombre} : economisateur d'ecran toutes les {nombre} secondes
      xset s default
    * env + setenv
      xsetroot = remet beaucoup de chose a 0 ( dont le fond d'ecran )



[H] DEBUTER EN SHELL
    ================

  (1) Redirection d'entree/sortie
      ---------------------------

     On peut rediriger les entrees et les sorties de la plupart des commandes
     de/vers une autre commande ou vers un fichier :
     * {commande} > {fich} : redirige la sortie de la commande vers le fichier
       qui est alors cree ou efface
       par exemple "ll -a > toto.txt" liste le repertoire courant et met
       le resultat dans le fichier toto.txt
       "banner Coucou > tata.txt" cree le fichier tata.txt et y met
       le mot Coucou ecrit en gros.
     * {commande} >> {fich} : fait de meme mais ajoute le resultat a la fin
       du fichier s'il existe deja, sinon le cree.
     * {commande} < {fich} : le fichier sera alors copie dans les entrees
       de la commande.
       Par exemple "mail root < toto.txt" envoie le fichier toto.txt au root
       "banner < tata.txt" ecrit en gros le contenu du fichier tata.txt
     * {commande1} | {commande2} : ( tube, en anglais "pipe" ) la sortie de la
       commande 1 sera l'entree de la commande 2.
       Par exemple "ll -a | more" permet l'affichage page par page du
       contenu du repertoire courant.

  (2) Quelques commandes
      ------------------

     * echo {texte} : affichage de {texte} puis va a la ligne
       Metacaracteres :
       \n  nouvelle ligne
       \c  annule saut de ligne final
       \t  tabulation
       \b  retour arriere ( efface le dernier caractere affiche )
     * grep {texte} : filtre les lignes, ne conserve que celles contenant le texte.
       Par exemple "cat toto.txt | grep coucou " affiche parmi les lignes
       du fichier toto.txt celles qui contiennent le mot "coucou"
       "ll -a | grep root" liste le repertoire courant en n'affichant que
       les ligne contenant le mot "root"
       Options :
       -i : ne distingue pas les minuscules et les majuscules
       -n : numerote les lignes en prefixe
       -v : ne conserve que les lignes ne contenant pas {texte} ( en clair : action
            opposee de grep sans l'option -v )
       -c : seul le nombre de lignes satisfaisant l'expression est ecrit
       -l : on ecrit seulement les noms des fichiers contenant une ou des lignes
            satisfaisant l'expression
       -s : les messages indiquant l'impossibilite d'ouvrir un fichier ce sont
            pas affiches
     * cut : coupe les colonnes du texte d'entree. Utilisation :
       . cut -c {liste} ne conserve que les colonnes incluse dans {liste}.
         {liste} est de la forme :
         1,3,6 : colonnes 1, 3 et 6
         5-12 : colonnes 5 a 12 incluses
         1,3,5- : colonnes 1, 3 et de 5 a la fin de toutes les lignes
         Par exemple "cat toto.txt | cut -c 4-7" affiche les colonnes 4 a 7
         du fichier toto.txt
       . cut -f {liste} ne conserve que les champs inclus dans {liste}.
         NB : l'option -d permet de definir le separateur de champs.
         cut -d' ' -f4-7,10   conserve les champs 4, 5, 6, 7 et 10 avec comme
         separateur l'espace
       . Remarque : faire  cut -c1,3  revient au meme que  cut -c3,1
     * uniq : ne conserve qu'un seul exemplaire de lignes identiques.
       Options :
       -u : seules les lignes n'apparaissant qu'une seule fois sont conservees
            ( par defaut )
       -d : seules les lignes apparaissant plusieurs fois sont conservees et en
            un seul exemplaire
       -c : chaque ligne est precede de son nombre d'occurences
       par exemple le fichier toto.txt contient :
       " coucou
         coucou "
       Si on fait "cat toto.txt | uniq" un seul "coucou" sera affiche
     * sort : trie par ordre alphabetique les lignes du texte d'entree
       Options :
       -f : ne distingue pas les minuscules et les majuscules
       -u : ne conserve qu'un seul exemplaire de lignes identiques
       -n : tri numerique
       -r : inverse le sens du tri
       -d : seuls les chiffres, lettres, espaces et tabulations sont significatifs
       -i : les caracteres non imprimables ( de code ASCII compris dans [32,126] )
            sont ignores
       +{nbr} : debut du tri est champ {nbr}
       -{nbr} : fin du tri est champ {nbr}
       -t{car} : le separateur de champ est le caractere {car}
       +.{nbr} : debut du tri est colonne {nbr}
       -.{nbr} : fin du tri est colonne {nbr}
       Exemple :
       cat {fich1} | sort -r > {fich2}
       Trie a l'envers le fichier {fich1} et met le resultat dans {fich2}
     * wc : compte nbr de mots.
       . wc {fich}               compte le nombre de lignes du fichier
       . "ls -l | grep c | wc"   compte le nombre de lignes de l'entree standard
       Options :
       -c : compte le nombre de lettres uniquement
       -w : compte le nombre de mots uniquement
       -l : compte le nombre de lignes uniquement
     * paste : permet de juxtaposer les lignes correspondantes de plusieurs fichiers
       paste [-options] [fic1] [fic2] [fic3] ...
       Option :
       -d{caracteres} : specifie les separateurs entre les colonnes du resultat
       Exemple :
       f1 contient  Steph
                    Marc
                    Guy
       f2 contient  4221
                    345
       f3 contient  A
                    B
                    C
                    D
       La commande paste -d "+=" f1 f2 f3 renverra
       Steph+4221=A
       Marc+345=B
       Guy+=C
       +=D
     * NB : Les options peuvent souvent etre ecrites apres le meme tiret :
       "grep -inv" equivaut a "grep -i -n -v"
     * On peut bien-sur faire des combinaisons de toutes les commandes precedentes :
       "ll -a / | grep root | sort -f | cut -c 2-10 | uniq > toto.txt"
       NB : la place de chaque commande influe souvent le resultat.
     * basename  donne le dernier champs separe par un /
          basename /usr/bin/vi
          vi
     * dirname  ne donne pas le dernier champs separe par un /
          dirname /usr/bin/vi
          /usr/bin
     * expr  evalue des expressions
          expr e1 { + - \* / } e2
       etc ... ( => man expr )
     * head (-{nbr}) {fichier}  donne les n premieres lignes de fichier
       Par defaut n vaut 10
     * tail (+/-{nbr}) {fichier}  donne les dernieres lignes de fichier
       + : en partant du debut
       - : en partant de la fin
     * nl : numerote les lignes du fichier

  (3) Faire un fichier shell
      ----------------------

     * La quasi-totalite des commandes UNIX et des outils peuvent etre appelles par
       un fichier texte shell ( batch en DOS ). Il faut alors que ce fichier soit
       lisible et executable par l'utilisateur ( chmod 755 {fichier} par exemple ).
     * La premiere ligne de ce fichier doit etre :
       #!/bin/sh
     * Un tel fichier peut prendre des arguments ; dans le programme elle seront
       utilisees sous le nom de $1 pour le 1r argument, $2 pour le 2me, $3 ...
       Par exemple, le fichier essai contient :
          cat ~/tp/$1.p | grep -n -i begin > ~/fich.txt
       S'il est lisible et executable ( en 755 par exemple ) et si je fais :
          essai prog
       il va chercher dans le fichier ~/tp/prog.p l'ensemble des lignes qui
       comportent l'expression "begin" et met le resultat dans le fichier ~/fich.txt
     * Autres variables sympathiques :
       $? valeur de retour de la derniere commande executee
       $* ligne d'argument
       $# nombre d'arguments
       $$ numero du processus en cours
       $! numero du derniere processus execute en tache de fond
     * shift  permet de suprimer le premier argument et de decaler les autres.
       les variables $* et $# sont aussi mises a jour.
       Si le fichier toto contient :
          #!/bin/sh
          echo $0 $# $*
          shift
          echo $0 $# $*
       La commande
          toto dort beaucoup en cours
       donne :
          toto 4 dort beaucoup en cours
          toto 3 beaucoup en cours
       Remarque : bien pratique lorsque $1 ... $9 ne suffisent pas pour connaitre
       tous les arguments
     * Variables :
       $A $point sont des variables ( eviter les $1 $2 ... qui sont reserves au
       arguments ) que l'on peut affecter et faisant
       set a=`ll -a | grep root | cut -c 2-10`
       et que l'on peut afficher en faisant  echo $a
     * NB : la commande  set  permet de visualiser toutes les variables deja definies
       ( entre autres les variables d'environnement )
     * set ` cat tot `  a pour effet de passer tous les mots de toto en argument
     * eval  : effectue une seconde substitution des variables
       set a=tomate
       set b=a
       eval echo \$$b       -->  eval echo $a
                            -->  eval echo tomate
                                 Enfin affiche tomate
  (4) Tests et boucles
      ----------------

     * test {arguments}
       evalue l'expression, retourne une erreur si faux.
       test -f {fichier}    teste si le fichier existe
       test {ch1} = {ch2}   teste l'egalite de 2 chaines
       test {nb1} -eq {nb2} teste l'egalite de 2 nombre
       !                    negation
       -a                   et
       -o                   ou
       \(  \)               modification des priorites
       etc ... ( man test )
     * if {commande0}
       then {commande1}
       else {commande2}
       fi
       Si la commande 0 ne renvoie pas de code d'erreur, effectue commande 1,
       dans le cas contraire commande 2.
     * case {chaine} in
          {motif1} ) {commandes1};;
          {motif2} ) {commandes2};;
          ...
       esac
     * for {variable} in {chaines}
       do {commandes}
       done
     * while {commande}
       do {commandes}
       done
     * until {commande}
       do {commandes}
       done
     * fonction :
          #!/bin/sh
          fonc(){
             echo $1
             echo 4
             return 3
          }
          fonc coucou
          echo $?
          i=` fonc `
          echo $i
       donne :
         coucou
         3
         4


[I] COMMENT FAIRE SA PROPRE HOME PAGE WEB
    =====================================

  (1) Preliminaires
      -------------
     * Vous savez ( ou non ) que chaque etudiant de la fac peut avoir sa propre
       home page sur Internet. Allez donc les visiter celles deja existantes en
       ouvrant un netscape sur l'URL  http://diva
     * Si vous voulez creer une telle page, vous devez tout d'abord creer, sur votre
       compte dans votre repertoire home, un repertoire WWW ( 3 w en majuscule ).
       et y creer le fichier  index.html
       Il faut, pour que tout le monde ait acces a votre page, donner les droits
       suivant ( ceux-la ou plus ) :
          chmod 701 ~                 votre repertoire home
          chmod 701 ~/WWW/            votre repertoire WWW
          chmod 644 ~/WWW/index.html  votre page elle-meme
       Votre home page a alors pour adresse sur Internet :
          http://{machine}.univ-mlv.fr/~{votre login}/
          {machine} : merlin ou diva
     * Correspondance  fichier UNIX <-> adresse Internet
       ~/WWW/index.html      http://massena.univ-mlv.fr/~martin/
                         ou  http://massena.univ-mlv.fr/~martin/index.html
       ~/WWW/coucou.html                           ... /~martin/coucou.html
       ~/WWW/images/index.html                     ... /~martin/images/
                                               ou  ... /~martin/images/index.html
       ~/WWW/images/photo.jpg                      ... /~martin/images/photo.jpg
     * Tous les fichiers textes doivent etre ecrits en HTML. C'est un langage
       qui permet, juste avec les caracteres ascii de 32 a 127, d'inserer des
       images, ecrire en gras, italique, faire des listes, de la mise en page,
       des accentuees ...
       Dans les alineas suivants, je tente d'expliquer ce langage ; si cela ne
       vous suffit pas, jetez donc un coup d'oeil sur ma hotlist :
       http://massena.univ-mlv.fr/~lhullier/hotlist.html#guides
       Il existe des serveurs dont la competence est surement superieure a la mienne.
     * NB :
       1. Il existe un outil de creation de page HTML, il s'agit de  asWedit
       dont je n'exposerai ici pas le fonctionnement.
       asWedit cree un fichier de configuration : voir G.1
       2. Le nom qui apparait sur la page des utilisateurs et sur lequel on clique
       pour acceder a votre home page est votre vrai mon ( real name ).
       Pour le changer : voir C.1
       3. La meilleure facon de progresser en HTML est de se demander devant une page
       comment telle chose a ete faite et de decortiquer la source du fichier.

  (2) HTML : les premiers principes
      -----------------------------

     * Le principe du HTML est de fonctionner avec des "tags" ; <BR> <I> <BODY>
       <P> en sont des exemples. Le plus souvent ces tags vont par deux : un pour
       ouvrir, l'autre pour fermer ; par exemple, <I> met en italique tout le texte
       qui suit et </I> ferme la mise en italique. Autre couples : <BODY></BODY>
       <B></B> etc ... Chaque couple est de la forme : <truc> </truc>
       D'autre tags n'ont pas de tag fermant ; par exemple <LI> <HR> <IMG> etc
     * Tout document HTML doit etre du type suivant :
          <HTML>                              Ouverture du document HTML
          <HEAD>
          <TITLE>{titre de ma page}</TITLE>   Titre du document
          </HEAD>
          <BODY>                              Ouverture du corps
          {Corps de mon fichier}              Mettre ici le corps du document
          </BODY>                             Fermeture du corps
          </HTML>                             Fermeture du document HTML
       On constate qu'au tag <HTML> correspond le tag </HTML>, a <HEAD> </HEAD>,
       <TITLE> </TITLE>, <BODY> </BODY>
     * Les accents sont codes de la facon suivante : le signe &, la lettre a
       accentuer, le code d'accentuation et un point virgule.
       Les code d'accentuation sont :
          acute : accent aigu ( / )
          grave : accent grave ( \ )
          circ  : accent circonflexe ( ^ )
          uml   : trema ( ou " en allemand  )
          tilde : tilda ( ~ )
          ring  : ?   slash : ?
       Par exemple, &eacute; donne un e accent aigu, &agrave; un a grave,
       &icirc; un i circonflexe, etc.
       Les lettres accentuables sont : a e i o u y A E I O U Y
       Quelques autres codes :
          &ccedil;  c cedille      &Ccedil;  C cedille
          &aelig;   ae             &AElig;   AE
          ( NB : il n'existe pas de " e dans l'o " )
          &lt;      <              &gt;      >               &amp;    &
          &nbsp; espace insecable  &reg;     (R)             &copy;   (C)
     * Il faut savoir qu'a l'interieur du fichier, le nombre de sauts de ligne ne
       change rien a la disposition du document, je m'explique : par exemple, si
       vous mettez le petit fichier d'exemple au dessus sur une seule ligne, le
       document restera inchange. Donc les pires configurations sont autorisees ;
       mais il faut savoir laisser vos fichiers lisibles pour une eventuelle
       modification. Le nombre d'espaces entre les mots ne change rien non plus.
       Quelques codes palliant cela :
          <P>  changement de paragraphe
          <BR> cesure forcee de ligne
     * Mise en forme des caracteres et quelques codes :
          <B>blabla</B>    ecrire en gras
          <I> </I>         italique
          <H1> </H1>       ecrire en gros
          <H2> </H2>       un peu moins gros
          etc .. jusqu'a   <H6> </H6> en tres petit
          <BLINK> </BLINK> clignotement ( code non HTML mais Netscape )
          <PRE> </PRE>     document preformate ( respecte les saut de ligne et les
                           espacements effectues )
          <! Blabla >      commentaires
          <HR>             trait horizontal
                           <HR SIZE=4 WIDTH=50%> hauteur largeur
          <CENTER>...</CENTER>   centrer du texte, des images ...

  (3) HTML : la suite
      ---------------

     * Listes.
       Avec ronds et carres :
          <UL>                Ouverture de liste
          <LI>1re entree
          <LI>2me entree
          ...
          </UL>               Fermeture de liste
       Avec numeros : remplacer UL par OL
       Definitions :
          <DL>                Ouverture
            <DT>1re entree
               <DD>Definition
            <DT>WWW
               <DD>world wide web
          </DL>               Fermeture
       NB : Ces listes peuvent etre inserees les unes dans les autres.
     * Comment inserer des images dans vos textes ? Ces images doivent se trouver
       dans votre repertoire WWW ( par exemple creez le repertoire ~/WWW/images/ )
       ou faites un lien symbolique vers un repertoire du tmp ( voir F.4 )
       Vous pouvez, entres autres, utiliser des images de format GIF ou JPG.
          <IMG SRC="adresse de l'image">  affiche l'image
          Exemple : <IMG SRC="images/ruban.pnp">
       Texte de remplacement si l'image n'est pas chargee :
          <IMG ALT="texte" SRC="...">
          Exemple : <IMG ALT="Non a la censure" SRC="images/ruban.pnp">
     * Comment faire pour faire un lien vers un autre fichier HTML ?
       Principe de syntaxe :
          <A HREF="adresse"> texte a cliquer </A>
       Adresses relatives : <A HREF="book.html">mes bookmarks</A>
          Ici le fichier doit etre dans le meme repertoire que le fichier duquel
          est effectue le lien.
       Adresses absolue : <A HREF="http://www.univ-mlv.fr/">Mon universite</A>
          <A HREF="mailto:{votre login}@{machine}.univ-mlv.fr">Ecrivez moi</A>
       Il est possible de changer la base des adresses absolue avec le tag :
          <BASE HREF="adresse de base">
          NB : ce tag doit etre place entre </HEAD> et <BODY>
          Par exemple, si je mets le tag <BASE HREF="http://web.urec.fr/">
          et que je mets <A HREF="/docs/www/www.html">cliquer ici</A>
          le document charge sera d'adresse  http://web.urec.fr/docs/www/www.html
          Attention : l'adresse des images inserees dependent aussi de ce
          changement de base.
     * Comment faire pour faire un lien vers une partie d'un fichier HTML ?
       ( arriver en un point precis et non plus en haut )
       Pour definir le point de branchement dans le document "cible" :
          <A NAME="etiquette">
       Pour effectuer ce lien :
          <A HREF="nom-de-fichier#etiquette"> .. </A>
       Par exemple ma hotlist est construite sur ce principe.

  (4) HTML : les choses serieuses
      ---------------------------

     * Avoir un compteur du nombre d'acces a ses pages.
       Il existe un compteur accessible a tous ; il est de format image GIF
       La declaration est la suivante :
          <IMG SRC="http://merlin.univ-mlv.fr/run/nph-count?width={largeur}
          &link={adresse de votre page}">
       NB : a ecrire sur une seule ligne et sans espace.
       Par exemple :
          <IMG SRC="http://merlin.univ-mlv.fr/run/nph-count?
          width=4&link=http://{machine}.univ-mlv.fr/~{login}/index.html">
     * Comment faire des tableaux ?
       <TABLE>                   Tag d'ouverture
          options :
          BORDER  epaisseur des cotes en bas a droite
             0 => pas de tableau affiche ( permet de faire de belle mises en page )
          WIDTH   largeur relative du tableau dans la fenetre
          Exemple : <TABLE BORDER=2 WIDTH="90%">
       </TABLE>                  Tag de fermeture
       Chaque ligne est de la forme :
          <TR>                   Ouverture de ligne
          <TD>1re case</TD>      Declaration des cases
          <TD>2me case</TD>
          </TR>                  Fermeture de ligne
       Alignements dans chaque case :
          <TD> peut etre agremente d'options telles que :
          ALIGN=CENTER ou RIGHT ; ( LEFT par defaut ) ( horizontalement )
          VALIGN=TOP ou BOTTOM ; ( MIDDLE par defaut ) ( verticalement )
          Par exemple : <TD ALIGN=CENTER VALIGN=TOP> ... </TD>
       Plusieurs colonnes et/ou lignes pour une meme case :
          <TD COLSPAN=2>   2 colonnes pour cette case
          <TD ROWSPAN=4>   4 lignes
       Mettre un titre a un tableau :
          <CAPTION>Titre du tableau</CAPTION>
          A mettre juste apres <TABLE ... >
       NB : Le mieux pour voir des exemples de tels tableaux est que vous alliez
       faire un tour sur ma home page :
          page de presentation du guide de la radio : tableau invisible,
          sondages : tableaux visibles.
     * Comment changer la couleur de fond de ses pages ? Deux moyens :
       Avoir un image a mettre ; dans ce cas :
          <BODY BACKGROUND="adresse de l'image"> remplace <BODY>
       Changer les couleurs directement ; <BODY> devient :
          <BODY BGCOLOR="000000" TEXT="FFFFFF" LINK="FFFF00" VLINK="FF0000">
                fond              texte         lien           lien visite
          Les codes couleur sont ainsi configures en hexadecimal : deux caracteres
          pour le rouge, puis deux pour le vert et enfin les deux qui restent pour
          le bleu ;  rouge : FF0000   vert :  00FF00   bleu :  0000FF
          Par addition de couleur on a :
          noir : 000000   blanc : FFFFFF   gris clair : C0C0C0   gris fonce : 808080
          jaune : FFFF00   violet : FF00FF   cyan : 00FFFF   etc ...
       Pour d'autres exemples : visionnez donc sur le PC l'image /tmp/pub/palette.pnp
     * Bonne creation ... Si vous avez des problemes ou si vous voulez que je jette
       un coup d'oeil sur vos pages, n'hesitez pas a m'ecrire.

Ce site respecte les standards de l'internet :
XHTML 1.1   ·   CSS v2   ·   Accessibilité
Plan du site  ·  Imprimer la page
© 1999-2008 Sylvain Lhullier
http://sylvain.lhullier.org/guides/unix.html
Creative Commons Attribution-ShareAlike