L�, le jeu devient coriace. Apprenez �a, et ensuite vous pourrez dire que vous � connaissez quelque chose � Linux � ;-)
Les fichiers et les r�pertoires ont des droits et des propri�taires, comme sous VMS. Si nous ne pouvez pas lancer un programme, ne pouvez pas modifier un fichier ou ne pouvez pas acc�der � un r�pertoire, c'est parce vous n'avez pas les droits ad�quats pour le faire et/ou parce que le fichier ne vous appartient pas. Regardez l'exemple suivant :
$ ls -l /bin/ls
-rwxr-xr-x 1 root bin 27281 Aug 15 1995 /bin/ls*
Le premier champ indique les droits du fichier ls
. Il y a trois types de
propri�t� : le propri�taire, le groupe et les autres (comme le
propri�taire, le groupe et le reste du monde sous VMS) et trois droits :
lecture, �criture et ex�cution.
De gauche � droite, -
est le type du fichier (-
d�signe un fichier
ordinaire,
d
un r�pertoire, l
un lien, etc.) ; rwx
sont les droits du
propri�taire (lecture, �criture, ex�cution) ; r-x
sont les droits du
groupe du propri�taire (lecture, ex�cution) ; r-x
sont les droits pour
tous les autres utilisateurs (lecture, �criture).
Pour changer les droits d'un fichier :
$ chmod <quiXdroit> <fichier>
Avec qui repr�sentant u
(ce sont alors les droits du propri�taire
qui sont affect�s), g
(ceux du groupe) ou o
(ceux des � autres
�). X est soit +
(dans ce cas il donne les droits), soit -
(il
les enl�ve). Et droit est r
, w
ou x
. Voici un exemple :
$ chmod u+x fichier
Cela permet de rendre le fichier ex�cutable pour le propri�taire. Il existe un
petit raccourci chmod +x fichier
.
$ chmod go-wx fichier
L�, on enl�ve les droits d'�criture et d'ex�cution au groupe et aux autres (donc � tout le monde sauf au propri�taire).
$ chmod ugo+rwx fichier
Tous les droits sont donn�s � tout le monde.
Une mani�re plus courte de pr�ciser les droits se base sur les nombres :
rwxr-xr-x
peut �tre exprim� par 755 (chaque lettre correspond � un bit :
---
vaut 0, --x
1, -w-
2, etc).
Pour un r�pertoire, rx
signifie que vous pouvez vous placer dans ce
r�pertoire et w
que vous pouvez effacer un fichier dans ce r�pertoire (en
tenant compte des droits du fichier �videmment) ou le r�pertoire lui-m�me. Tout
�a n'est qu'une petit partie du sujet : man est votre ami.
Pour changer le propri�taire d'un fichier :
$ chown <utilisateur> <fichier>
Pour r�sumer, voici un tableau :
VMS Linux
------------------------------------------------------------------------------
SET PROT=(O:RW) fichier.txt $ chmod u+rw fichier.txt
$ chmod 600 fichier.txt
SET PROT=(O:RWED,W) fichier $ chmod u+rwx fichier
$ chmod 700 fichier
SET PROT=(O:RWED,W:RE) fichier $ chmod 755 fichier
SET PROT=(O:RW,G:RW,W) fichier $ chmod 660 fichier
SET FILE/OWNER_UIC=JOE fichier $ chown joe fichier
SET DIR/OWNER_UIC=JOE [.dir] $ chown joe rep/
En voici plus � propos de la mani�re de lancer les programmes. Il n'y a pas de file d'attente sous Linux ; le multit�che est g�r� tr�s diff�remment. Voici � quoi ressemble une ligne de commande typique :
$ commande -s1 -s2 ... -sn par1 par2 ... parn < entr�e> sortie &
Maintenant, voyons comment marche le multit�che. Les programmes qui tournent en avant-plan (foreground) ou arri�re-plan (background) sont appel�s des processus.
$ programme [option] [< entr�e] [> sortie] &
[1] 234
Le shell vous donne le num�ro de job (le premier nombre ; regardez
ci-dessus) et le PID (le num�ro du processus). Chaque processus est identifi�
par son PID.
Pour voir combien de processus sont lanc�s :
$ ps -ax
La liste des processus actifs va �tre affich�e.
$ kill <PID>
Vous aurez peut-�tre besoin de tuer un processus quand vous ne savez pas le
quitter de la bonne mani�re... ;-) Parfois, une processus sera seulement tu�
par une des commandes suivantes :
$ kill -15 <PID>
$ kill -9 <PID>
En plus de �a, le shell vous permet de stopper ou de suspendre temporairement
un processus, envoyer un processus en arri�re-plan ou en ramener un en
avant-plan. Dans ce contexte, les processus sont appel�es jobs
.
$ jobs
Les jobs sont identif�s par le nombre que le shell leur donne et non pas
par leur PID.
$ bg <job>
$ fg <job>
$ kill %<job>
Voici plus d'information sur les fichiers.
<
et >
vous redirigez l'entr�e et la sortie vers
un fichier diff�rent. De plus, >>
ajoute la sortie � un fichier � la
place de l'�craser ; 2>
redirige les messages d'erreur (stderr) ;
2>&1 redirige stderr vers stdout, alors que 1>&2
redirige stdout vers stderr. Il y a un � trou noir � appel� /dev/null
: tout ce qui est redirigez vers lui dispara�t.
*
correspond � (et d�signe) tous
les fichiers sauf ceux qui sont cach�s ; .*
correspond � tous les fichiers
cach�s ; *.*
correspond seulement ceux qui ont un � . � au
milieu de leur nom suivi par d'autres caract�res ; l*c
correspondra �
� lo�c � et � luc � ; *c*
correspondra �
� piocher � et � picorer �. %
devient ?
.
Il existe �galement un autre joker : []
. Par exemple :
[abc]*
d�signe les fichiers commen�ant par a, b ou c ;
*[I-N123]
d�signe les fichier finissant par I, J, K, L, M, N, 1, 2 ou 3.
mv
(RENAME
) ne permet pas de renommer plusieurs fichiers d'un
coup. Ainsi, mv *.xxx *.yyy
ne marchera pas.
cp -i
et mv -i
pour �tre pr�venu quand
un fichier va �tre �cras�.
Vos fichiers � imprimer sont plac�s dans une file comme sous VMS. Quand vous lancez une commande d'impression, vous aurez peut-�tre � pr�ciser le nom de l'imprimante. Par exemple
$ lpr fichier.txt # ce fichier est plac� dans la file de l'imprimante standard
$ lpr -Plaser fichier.ps # celui dans celle de l'imprimante � laser �
Pour g�rer la file d'impression utilisez les commandes suivantes :
VMS Linux
------------------------------------------------------------------------------
$ PRINT fichier.ps $ lpr fichier.ps
$ PRINT/QUEUE=laser fichier.ps $ lpr -Plaser fichier.ps
$ SHOW QUEUE $ lpq
$ SHOW QUEUE/QUEUE=laser $ lpq -Plaser
$ STOP/QUEUE $ lprm <num�ro de job>
Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 18:01:25