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, é donne un e accent aigu, à un a grave,
î un i circonflexe, etc.
Les lettres accentuables sont : a e i o u y A E I O U Y
Quelques autres codes :
ç c cedille Ç C cedille
æ ae Æ AE
( NB : il n'existe pas de " e dans l'o " )
< < > > & &
espace insecable ® (R) © (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.