Professional Documents
Culture Documents
Habib DHAHRI
2014-2015
2.
3.
4.
5.
6.
7.
8.
Un Shell ........................................................................................................................................ 9
2.
3.
4.
4.2.
4.3.
Chemin relatif................................................................................................................................ 13
5.
6.
Le tilde ........................................................................................................................................ 13
7.
8.
9.
10.
11.
1.2.
1.3.
2.
3.
4.
5.
6.
Le fichier/etc/group................................................................................................................... 25
7.2.
Droits et utilisateurs................................................................................................................... 27
2.
3.
2.1.
2.2.
3.2.
4.
5.
2.
3.
2.1.
Commandes ................................................................................................................................... 33
2.2.
Critre .............................................................................................................................................. 34
Principe ...................................................................................................................................... 36
2.
En sortie ..................................................................................................................................... 36
3.
En entre .................................................................................................................................... 37
4.
5.
Filtre ........................................................................................................................................... 38
6.
Pipelines / tubes......................................................................................................................... 39
3.
4.
La commande ps ........................................................................................................................ 41
6. Installation de UBUNTU
Les phases principales de linstallation dune machines Gnu/Linux sont les suivantes :
Amorage de linstallation
Partitionnement du disque dur
Installation du chargeur de boot
Configuration du rseau
Dtermination du fuseau horaire
Initialisation du mot de passe root
Choix et installations des logiciels
Paramtrages post-installation
Lorsque votre ordinateur aura dtect votre support Live DVD/USB et affich brivement un
cran de chargement, lcran de Bienvenue apparatra. Au moyen de la souris, choisissez
votre langue dans la liste affiche gauche, puis appuyez sur le bouton intitul Essayer
Ubuntu. Ds lors, Ubuntu dmarrera et fonctionnera directement partir de votre support
Live DVD/USB.
Lcran Prparation de linstallation dUbuntu vous permettra galement de savoir si vous
avez assez despace disque et si vous tes connect { une source dnergie (dans le cas o
vous installez Ubuntu sur un ordinateur portable fonctionnant sur la batterie). Lorsque vous
avez slectionn vos choix, cliquez sur Continuer.
Si vous ntes pas connect { Internet, linstallateur vous demandera de choisir un rseau sans
fil (si disponible).
Aprs avoir choisi le type dinstallation, cliquez sur Continuer ou Installer maintenant. Si vous
choisissez Autre chose, configurez les partitions suivant vos besoins. Lorsque vous tes
satisfait de la manire dont les partitions seront cres, cliquez sur le bouton Installer
maintenant en bas droite pour continuer.
Pour rduire le temps ncessaire { linstallation, Ubuntu continuera le processus dinstallation
en tche de fond, pendant que vous configurez les informations utilisateur importantes - telles
que votre nom dutilisateur, mot de passe, paramtrage du clavier et fuseau horaire par
dfaut.
Ubuntu a besoin dinformations { votre sujet afin de paramtrer le compte de lutilisateur
principal sur votre ordinateur. Lorsquil sera configur, votre nom apparatra sur lcran de
connexion ainsi que dans le menu utilisateur
5
Au cours de linstallation, vous avez la possibilit de vous connecter { votre compte Ubuntu
One existant ou den crer un nouveau. Renseignez toutes les informations ncessaires telles
que votre adresse de courriel et votre mot de passe et cliquez sur Continuer.
Si vous ne voulez pas utiliser Ubuntu One ou si vous voulez crer votre nouveau compte plus
tard, cliquez sur Me connecter plus tard.
Aprs vingt minutes environ, linstallation est termine et vous pourrez cliquer sur
Redmarrer maintenant pour rinitialiser votre ordinateur et lancer Ubuntu.
Une fois linstallation termine et aprs avoir redmarr votre ordinateur, vous serez accueilli
par lcran de connexion dUbuntu. Lcran dconnexion vous prsentera votre nom
dutilisateur et vous devrez taper votre mot de passe pour continuer.
7. Composants de Linux
Linux est un systme dexploitation, constitu du noyau, dun interprteur de commandes et
dun grand nombre dutilitaires (Figure 1).
Le noyau assure la gestion des ressources physiques (processeur, mmoires, priphriques)
et logicielles (processus, fichiers...).
Comme cest le cas avec tout systme dexploitation, lutilisateur naccde pas directement au
noyau mais un interprteur de commandes : le shell
Linterface utilisateur de linux est donc constitue :
Dun ensemble de programmes excutables : les commandes.
Du shell luimme, interprteur de commandes mais aussi, plus que dans nimporte quel
autre systme dexploitation, langage de commandes permettant dcrire des programmes.
Parmi les utilitaires, on trouve :
Diffrents langages de programmation : C++, Fortran, Java, Perl, TCL/TK, GTK;
Des utilitaires de dveloppement et maintenance de logiciels : make, assembleur, diteurs de
lien ;
Des outils de bureautique : messagerie, traitement de textes ;
Des diteurs de textes (sed, vi et vim, emacs, gnotepad) ;
Des outils pour le Web (Apache, Netscape...)
8. Un Shell
Est un interprteur de commande,
Affiche une invite (prompt),
Est un interprteur de commandes qui contient des redirections I/O,
Excute des commandes,
Excute des scripts.
Il existe plusieurs shells; Parmi les plus courants:
sh: Bourne shell est le shell standard pour les scripts. Il a t le premier inclure des
fonctionnalits de 'globbing', c'est dire de gestion des caractres joker (wildcards) dans les
noms de fichiers.
csh: Berkeley shell, gestion des jobs (travaux en arrireplan), historique des commandes,
alias.
ksh: shell Korn, syntaxe de type Bourne avec des fonctionnalits Berkeley.
bash: "Bourne Again shell", logiciel libre la manire du shell Korn. Le Shell standard des
Linux.
tcsh: Libre, le clone de Berkeley avec de nombreuses extensions.
habib@phd :~$
habib : le premier lment est votre pseudonyme.
phd : a c'est le nom de l'ordinateur sur lequel vous tes en train de travailler. La ligne d'invite
de commandes se lit donc habib chez phd . En d'autres termes, je suis identifi en tant que
habib sur la machine phd.
: c'est un sparateur.
9
~ :c'est le dossier dans lequel vous vous trouvez actuellement. le symbole ~ signifie que vous
tes dans votre dossier personnel, ce qu'on appelle le "Home" sous Linux. C'est l'quivalent du
dossier "Mes documents" de Windows.
$ : Ce dernier symbole est trs important, il indique votre niveau d'autorisation sur la
machine. Il peut prendre 2 formes diffrentes :
$ : signifie que vous tes en train d'utiliser un compte utilisateur "normal",
# : signifie que vous tes en mode super-utilisateur,
10
Arborescence de Linux
Les fichiers ordinaires (regular files). Ils servent mmoriser les programmes et les
donnes des utilisateurs et du systme.
Les fichiers rpertoires ou rpertoires (directories). Chaque rpertoire contient la
liste et la rfrence des fichiers placs sous son contrle et la rfrence du rpertoire
dont il dpend (rpertoire pre).
Les fichiers spciaux. Ils dsignent les priphriques, les tubes ou autres supports de
communication interprocessus. Les fichiers spciaux associs aux priphriques
peuvent tre caractres (terminaux) ou blocs (disque) ; les entres/sorties (E/S) se
font soit caractre par caractre, soit bloc par bloc, un bloc tant compos de n
caractres (512, 1024 ou 2048).
4. Les chemins
4.1.Structure et nom de chemin
Les chemins permettent de dfinir un emplacement au sein du systme de fichiers. Cest la
liste des rpertoires et sous rpertoires emprunts pour accder un endroit donn de
larborescence jusqu{ la position souhaite (rpertoire, fichier). Un nom de fichier est ainsi
gnralement complt par son chemin daccs.
Le / situ tout en haut sappelle la racine ou root directory ( ne pas confondre avec
le rpertoire de ladministrateur root). Le nom de chemin ou path name dun fichier est
la concatnation, depuis la racine, de tous les rpertoires quil est ncessaire de
traverser pour y accder, chacun tant spar par le caractre /. Cest un chemin absolu
comme celui ci. /home/toto/Docs/Backup/fic.bak
4.3.Chemin relatif
Un nom de chemin peut aussi tre relatif sa position courante dans le rpertoire. Vous
pouvez accder un autre rpertoire de larborescence depuis lemplacement actuel sans
taper le chemin complet uniquement en prcisant le chemin le plus court relativement votre
position actuelle au sein de larborescence.
Il faut pour cela souvent utiliser deux entres particulires de rpertoires :
Le point . reprsente le rpertoire courant, actif. Il est gnralement implicite.
Les doubles points.. reprsentent le rpertoire de niveau infrieur.
Exemple
Documents/Photos est un chemin relatif : le rpertoire Documents est considr
comme existant dans le rpertoire courant ;
./Documents/Photos est un chemin relatif parfaitement identique au prcdent, sauf
que le rpertoire actif (courant) est explicitement indiqu par le point. ./Documents
indique explicitement le rpertoire Documents dans le rpertoire actif ;
/usr/local/../bin est un chemin relatif : les .. sont relatifs { /usr/local et descendent dun
niveau vers /usr.
5. Rpertoire personnel
Lors de la cration dun utilisateur, ladministrateur lui alloue un rpertoire personnel appel
home directory. Lorsquil se connecte, lutilisateur arrive directement dans ce rpertoire,
qui est son rpertoire personnel. Cest dans ce rpertoire que lutilisateur pourra crer ses
propres fichiers et rpertoires.
Exemple
habib@phd:~$ pwd
/home/habib
habib@phd:~$
6. Le tilde
13
Le bash interprte le caractre tilde ~ comme un alias du rpertoire personnel. Les chemins
peuvent tre relatifs au tilde, mais le tilde ne doit tre prcd daucun caractre.
R : Si la commande rencontre des rpertoires, elle rentre dans les sous rpertoires,
etc., de manire rcursive.
Exemple
habib@phd:~$ ls -l
total 248
drwxrwxr-x 3 habib habib 4096 sept. 3 2013 deja-dup
drwxr-xr-x 7 habib habib 4096 mars 26 16:57 Desktop
drwxrwxr-x 2 habib habib 4096 nov. 19 09:17 doc1
drwxr-xr-x 2 habib habib 4096 mars 24 09:41 Documents
drwxr-xr-x 5 habib habib 12288 mars 24 21:02 Downloads
-rw-rw-r-- 1 habib habib 93211 fvr. 2 12:21 emploiSem2.xlsx
-rw-rw-r--
habib
habib
93211
fvr. 2
emploiSem2.xlsx
2 : Un compteur de liens.
3 : Le propritaire du fichier, gnralement celui qui la cr.
4 : Le groupe auquel appartient le fichier.
5 : La taille du fichier en octets.
6 : La date de dernire modification.
7 : Le nom du fichier.
Pictures/2008/11/01
176116
Pictures/2008/11
La commande more
Afficher le contenu d'un fichier texte l'cran en arrtant le dfilement chaque page (espace
pour descendre d'une page, entre pour descendre d'une ligne, q pour quitter)
more nom_fichier
La commande less
Pareil que more, mais dispose d'un peu plus d'options (entre autre peut revenir en arrire : b
pour revenir d'une page, y pour revenir d'une ligne, il est aussi possible de se dplacer vers le
haut ou vers le bas avec les flches de direction).
Less nom_fichier
Copier des fichiers
La commande cp (copy) copie un ou plusieurs fichiers vers un autre fichier ou vers un
rpertoire.
cp fic1 [fic2 ... ficn] Destination
Dans le premier cas, fic1 est recopi en Destination. Si Destination existe, il est cras sans
avertissement selon le paramtre pass et selon les droits. Dans le second cas, fic1, fic2 et
ainsi de suite sont recopis dans le rpertoire
Destination. Les chemins peuvent tres absolus ou relatifs. La commande peut prendre,
entre autres, les options suivantes :
i Demande de confirmation de copie pour chaque fichier.
r Rcursif : copie un rpertoire et tout son contenu.
p Les permissions et dates sont prserves.
f Forcer la copie.
La commande touch :
La commande touch est utilise pour changer les dates daccs et de modifications dun
fichier (do le on touche le fichier pour faire croire { lordinateur quon vient de le
modifier alors quon na rien chang.
Exemple touch f1
La commande ECHO
Affiche { lcran le texte qui suit la commande echo.
habib@phd:~$ echo je vais tester la commande echo
je vais tester la commande echo
Dplacer et renommer un fichier
17
Exemple
habib@phd:~$ wc test.sql
91 252 2039 test.sql
habib@phd:~$
Commandes de consultation de fichiers
head nom_fichier : afficher uniquement le dbut du fichier.
-n suivi d'un nombre: permet d'afficher le nombre de lignes que vous voulez. Par exemple, si
vous ne voulez que les 3 premires lignes, tapez head n 3 nom fichier
tail nom_fichier : afficher uniquement la fin du fichier
sort nom_fichier : Tri par ordre alphabtique des lignes d'un fichier texte.
10.
Un lien est un fichier spcial (comme des raccourcis) contenant comme information un
chemin vers un autre fichier. Il existe deux types de liens : le lien dur (hard link*-o et le lien
symbolique (soft link) qui correspond la dfinition donne.
Il est possible de crer des liens symboliques vers nimporte quel type de fichier, quel
quil soit et o quil soit. La commande de cration des liens symboliques ne vrifie pas si le
fichier point existe. Il est mme possible de crer des liens sur des fichiers qui nexistent pas.
ln -s fichier lien
Le cas chant le lien se comportera { lidentique du fichier point avec les mmes
permissions et les mmes proprits :
si le fichier point est un programme, lancer le lien lance le programme ;
si le fichier point est un rpertoire, un cd sur le lien rentre dans ce rpertoire ;
si le fichier point est un fichier spcial (priphrique), le lien est vu comme priphrique ;
Exemple : (diffrence entre liens physique et liens symboliques
habib@phd:~$ cd TESTS
habib@phd:~/TESTS$ touch fichier1
habib@phd:~/TESTS$ ln fichier1 fichier2
habib@phd:~/TESTS$ ln -s fichier1 fichier3
habib@phd:~/TESTS$ ls -li
total 0
789699 -rw-rw-r-- 2 habib habib 0 oct. 19 06:48 fichier1
789699 -rw-rw-r-- 2 habib habib 0 oct. 19 06:48 fichier2
789701 lrwxrwxrwx 1 habib habib 8 oct. 19 06:49 fichier3 -> fichier1
Le fichier dorigine et le lien ont le mme type de fichier fichier rgulier indiqu par le tiret
en tte des permissions, alors que les liens symbolique a un type diffrent (l: lien ).
Le fichier dorigine et le lien physique ont le mme horodatage (alors que le lien symbolique
affiche lheure et la date de sa cration.
Enfin on remarque, la fin de la ligne du lien symbolique, une flche en direction du chemin
du fichier vers le lien dur.
11.
Le Manuel de Linux
La commande man permet de rechercher des informations sur les commandes. Man est le
manuel Unix en ligne. Cette commande recherche les informations, le cas chant, dans deux
rpertoires et leurs sousrpertoires :
/usr/man
/usr/local/man
20
1.2.
La commande passwd
Options
-d l'utilisateur pourra se connecter sans mot de passe !
-l pour verrouiller le compte et empcher sa connexion.
-u pour dverrouiller le compte.
1.3.
La commande userdel
Syntaxe : userdel [-r] nom_login
L'option -r supprime aussi le rp. personnel de l'utilisateur
La commande supprime toute trace de l'utilisateur dans le fichier de configuration :
/etc/passwd y compris dans les groupes d'utilisateurs.
3. Hirarchie de comptes
Super utilisateur(Root)
Les permissions daccs ne sont pas appliques sur lui,
il peut faire tous,
Compte pour ladministrateur du systme,
bin, daemon, lp, sync, news, ftp
comptes utilisateur utiliss par diffrentes applications et dmons,
ne peuvent pas tre utilis comme login
Comptes ordinaires
5. Notion d'identifiant
Tous les identifiants sont dfinis dans le fichier /etc/passwd:
23
$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
man:x:6:12:man:/var/cache/man:/bin/sh
lp:x:7:7:lp:/var/spool/lpd:/bin/sh
mail:x:8:8:mail:/var/mail:/bin/sh
news:x:9:9:news:/var/spool/news:/bin/sh
habib:x:1000:1000:habib,1,76636260,:/home/habib:/bin/bash
guest-1X1nXe:x:116:125:Guest,,,:/tmp/guest-1X1nXe:/bin/bash
6. Le fichier /etc/shadow
Le fichier /etc/passwd est public (toute personne qui a un compte sur la machine peut le lire).
Pour contrecarrer cette faille, certains systmes ont introduit le fichier /etc/shadow lisible
uniquement par root .
Ce fichier contient les mots de passe des utilisateurs, qui disparaissent alors de /etc/passwd.
Une ligne /etc/shadow est compose des champs suivants:
Nom de login ,
mot de passe crypt,
Nombre de jours couls depuis le 1er janvier 1970 jusqu'au dernier changement de
mot de passe ,
Nombre de jours durant lesquels le mot de passe est encore valide ,
Nombre de jours aprs lesquels le mot de passe doit tre chang ,
Nombre de jours avant l'expiration du mot de passe impliquant l'avertissement de
l'utilisateur,
Nombre de jours aprs l'expiration provoquant la dsactivation du compte
Numro du jour depuis le 1er janvier 1970 partir duquel le compte a t dsactiv
Champs rserv,
habib@phd:~$ sudo cat /etc/shadox
24
habib:$6$YqAhRKne$H8inEeyLzCwI59Akv6siggiDEIb6mZ7EFwFx3KSBZPFLovQiIz6uLnqWvkwf
xtv5FWKprR3eeHoM3StYWYYkm1:15986:0:99999:7
7. Notion de groupe
Les systmes base de Unix dfinissent une notion de groupe; les groupes sont stocks dans
le fichier/etc/group permettant d'associer un nom de groupe (gname) un numro de groupe
(gid) ainsi que la liste de ses membres.
Un utilisateur appartient un groupe principal (dfini dans le fichier /etc/passwd) et
ventuellement des groupes secondaires.
7.1. Le fichier/etc/group
Une ligne contient quatre champs, spars par deux points (:)
Nom du groupe :
Nombre maximum de caractres : 8.
Il est unique sinon conflit avec la commande newgrp.
Mot de passe :
Champ gnralement vide.
Lorsquil existe, il permet d'augmenter la scurit du systme.
Il est demand lorsqu'un utilisateur essaie de changer de groupe.
Numro du groupe (GID) :
Lien entre les fichiers /etc/group et /etc/passwd.
Il est appel numro de groupe primaire (NGP) dans le fichier /etc/passwd, .
Chaque NGP possde une entre dans le fichier /etc/group
Cest cet identifiant qui est connu du systme, et non le nom du groupe, qui n'est utilis
que pour l'affichage.
Les membres
Chaque groupe comprend une liste des membres.
La commande newgrp permet chaque membre de changer de groupe Intrts
Accs des fichiers communs un autre groupe.
Un utilisateur peut appartenir plusieurs groupes (groupes secondaires) (secondary group
set).
Le fichier de dclaration des groupes /etc/group contient une ligne par groupe dans un
format similaire au fichier /etc/passwd.
25
Par exemple :
sudo cat /etc/group
habib:x:1000:
sambashare:x:124:habib
guest-1X1nXe:x:125:
guest-Fwpfxc:x:126:
guest-eZmlJz:x:127:
guest-fFlWYd:x:128:
mysql:x:129:
winbindd_priv:x:130:
dhahri:x:1001:
26
1. Droits et utilisateurs
Le rle dun systme dexploitation est aussi dassurer la scurit et laccs aux donnes, ce
qui est possible grce au mcanisme des droits. Chaque fichier ou rpertoire se voit
attribuer des droits qui lui sont propres, des autorisations daccs individuelles. Lors dun
accs le systme vrifie si celui-ci est permis.
sa cration par ladministrateur, un utilisateur se voit affecter un UID (User Identification)
unique. Les utilisateurs sont dfinis dans le fichier /etc/passwd. De mme chaque
utilisateur est rattach un groupe au moins (groupe principal), chaque groupe
possdant un identifiant unique, le GID (Group Identification). Les groupes sont dfinis
dans /etc/group.
La commande id permet dobtenir ces informations. En interne, le systme travaille
uniquement avec les UID et GID, et pas avec les noms eux mmes.
habib@phd:~$ id
uid=1000(habib)
gid=1000(habib)
groupes=1000(habib),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),108(lpadmin),124(samb
ashare)
habib@phd:~$
chaque fichier (inode) sont associs un UID et un GID dfinissant son propritaire et son
groupe dappartenance.
Vous affectez des droits pour le propritaire, pour le groupe dappartenance et pour le reste
du monde. On distingue trois cas de figure :
UID de lutilisateur identique { lUID dfini pour le fichier. Cet utilisateur est propritaire du
fichier.
Les UID sont diffrents : le systme vrifie si le GID de lutilisateur est identique au
GID du fichier. Si oui lutilisateur appartient au groupe associ au fichier.
Dans les autres cas (aucune correspondance) : il sagit du reste du monde (others), ni le
propritaire, ni un membre du groupe.
27
Signification
r :Readable (lecture).
w : Writable (criture).
x :Executable (excutable comme programme).
2.1.Par symboles
chmod modifications Fic1 [Fic2...]
Sil faut modifier les droits de lutilisateur, utilisez le caractre u, pour les droits du
groupe le caractre g, pour le reste du monde le caractre o et pour tous le caractre a.
Pour ajouter des droits, on utilise le caractre +, pour en retirer le caractre , et pour
ne pas tenir compte des paramtres prcdents le caractre =.
Enfin, le droit daccs par lui mme : r, w ou x.
-rw-rw-r-- 1 habib habib
Si vous voulez supprimer tous les droits, ne prcisez rien aprs le signe = :
habib@phd:~$ chmod o= fic1
habib@phd:~$ ls -l
-rwx--x--- 1 habib habib
prenant la valeur 0 ou 1 selon que le droit est absent ou prsent. 2 3 =8, do une
notation octale possible.
habib@phd:~$ chmod 755 fic1
habib@phd:~$ ls -l
-rwxr-xr-x 1 habib habib
de
la
cration
dun
fichier
ou
dun
rpertoire,
des
droits
leur
sont
automatiquement assigns. Gnralement, cest rwrr (644) pour un fichier et rwxrxrx (755)
pour un rpertoire. Ces valeurs sont contrles par un masque, lui mme modifiable par la
commande umask. La commande umask prend comme paramtre une valeur octale dont
chaque droit individuel sera supprim des droits daccs maximum du fichier ou du
rpertoire.
Par dfaut, tous les fichiers sont crs avec les droits 666 (rwrwrw).
Par dfaut tous les rpertoires sont crs avec les droits 777 (rwxrwxrwx).
Puis le masque est appliqu.
Le masque est le mme pour lensemble des fichiers.
Un masque ne modifie pas les droits des fichiers existants, mais seulement ceux des
nouveaux fichiers.
Le masque par dfaut est 022, soit ----w--w-. Pour obtenir cette valeur, tapez umask sans
paramtre.
(644)
Pour un rpertoire
Dfaut rwxrwxrwx (777)
Retirer ----w--w-
(022)
Reste rwxr-xr-x
(755)
Remarque
29
Notez quappliquer un masque nest pas soustraire, mais supprimer des droits de ceux par
dfaut, droit par droit. Par exemple :
Dfaut rw-rw-rw- (666)
Retirer ----wxrwx (037)
Reste rw-r----- (640)
Et non 629, ce qui est impossible en octal...
daccs
Lexemple le plus simple est le programme passwd permettant de changer son mot de passe.
Si la commande tait excute avec les droits dun utilisateur classique, passwd ne pourrait
pas ouvrir et modifier les fichiers /etc/passwd et /etc/shadow :
habib@phd:~$ ls -l /etc/passwd
-rw-r--r-- 1 root root 2019 janv. 27 13:08 /etc/passwd
habib@phd:~$
Vous constatez que ce fichier appartient root, et que seul root peut y crire. Un utilisateur
simple ne peut lire que son contenu sans interagir. La commande passwd ne devrait donc pas
pouvoir modifier les fichiers. Voyez les droits de la commande passwd (/bin/passwd ou
/usr/bin/passwd) :
habib@phd:~$ ls -l /usr/bin/passwd
-rwsr-xr-x 1 root root 47064 juil. 26 2013 /usr/bin/passwd
Un nouveau droit est apparu : le droit s pour les droits de lutilisateur root. Ce nouvel attribut
permet lexcution de la commande avec des droits daccs tendus. Le temps du traitement,
le programme est excut avec les droits du propritaire du fichier ou de son groupe
dappartenance. Dans le cas de passwd, il est lanc avec les droits de root.
Le droit s sur lutilisateur est appel le SUIDBit (Set User ID Bit), et sur le groupe le GUIDBit
(Set Group ID Bit)
La commande chmod permet de placer les SUIDBit et GUIDBit.
chmod u+s commande
chmod g+s commande
Les valeurs octales sont 4000 pour le SUIDBit et 2000 pour le GUIDBit.
chmod 4755 commande
chmod 2755 commande
Seul le propritaire ou ladministrateur peut positionner ce droit. Positionner le SUIDbit ou le
SGIDBit na de sens que si les droits dexcution ont pralablement t tablis (attribut x sur
le propritaire ou le groupe). Si ceux ci ne sont pas prsents ; le s est remplac par un S.
31
2. Critres de recherche
Les paramtres permettent de dfinir les critres de recherche. Ces critres, sils sont
plusieurs, sont combins entre eux :
les options des slection des fichiers et rpertoires peut etre par :
name : recherche par nom de fichier
type : recherche par type de fichier
user : recherche par propritaire
group : recherche par lappartenance { un groupe
size : recherche par taille de fichier
atime : recherche par date de dernier accs
mtime : recherche par date de dernire modification
ctime : recherche par date de cration
perm : recherche par autorisations daccs
links : recherche par nombre de rfrences (links) aux fichiers
Exemple
% find -type d -print
Affiche tous les rpertoires contenus dans le rpertoire courant.
% find -type f -name *s* -print
Affiche tous les fichiers contenus dans le rpertoire courant et dont le nom contient la lettre s .
32
2.1.Commandes
Outre loption -print on trouve dautres options permettant deffectuer une action sur les
fichiers trouvs.
Le critre -exec va excuter la commande situe juste aprs pour chaque occurrence trouve.
Quelques remarques simposent :
-exec doit obligatoirement tre la dernire option de la commande find.
La commande excute par -exec doit se terminer par un ; . Ce caractre spcial doit
scrire \; pour ne pas tre interprt par le shell.
Pour passer comme paramtre pour la commande le fichier trouv par find, il faut crire {}
(substitution du fichier).
Exemple pour effacer tous les fichiers finissant par .mp3 :
find . -type f -name "*.mp3" -exec rm -f {} \;
Traitement aprs confirmation avec ok
Les mmes explications sappliquent galement { loption ok, mais celle-ci, demande une
confirmation dexcution de la commande pour chaque fichier trouv. Ce nest quen cas de
rponse affirmative (avec y), que la commande place derrire ok sera excute.
Exemple
find . -type f -name "*.mp3" -ok rm -f {} \;
Combinaison de critres pour recherches complexes
Les critres de slection peuvent tre combins. Un fichier valide doit rpondre
simultanment { lensemble des critres dfinis.
La commande find permet galement des combinaisons logiques de ses options :
! : Ngation logique des options
a : liason par ET logique des options de recherche (and)
33
23 mars 5 19:28
2.2.Critre
Le modle de critres peut contenir les caractres spciaux suivants :
[] : Plage de caractres permis { cet emplacement
[^] : Plage de caractres non permet { cet emplacement
.:
tar xvf archive.tar : extrait les fichiers de l'archive archive.tar, en affichant les noms des
fichiers qui la composent.
tar xvfz archive.tar.gz : extrait les fichiers de l'archive en utilisant gzip .
tar jxvf archive.tar.bz2 : extrait les fichiers de l'archive en utilisant bzip2.
tar cvf archive.tar fichier1 : Cre un fichier 'archive.tar' contenant fichier1.
tar cvfz archive.tar.gz mon_dossier : cre un fichier gzip contenant le contenu du
dossier mon_dossier
35
2. En sortie
On se sert du caractre > pour rediriger la sortie standard (celle qui va normalement sur
lcran). On indique ensuite le nom du fichier o seront placs les rsultats de sortie.
Exemple
habib@phd:~$ ls -l >fich1
habib@phd:~$ cat fich1
total 9632
rwxrwx--- 1 habib habib 2039 janv. 12 2012 test.sql
-rw-rw-r-- 1 habib habib
Si le fichier nexiste pas, il sera cr. Sil existe, son contenu sera cras, mme si la commande
tape est incorrecte. Le shell commence dabord par crer le fichier puis excute ensuite la
commande.
Pour rajouter des donnes { la suite du fichier, donc sans lcraser, on utilise la double
redirection >>. Le rsultat de la commande est ajout la fin du fichier.
Exemple
ls -l > fich1
ddate >> fich1
cat fich1
-rwxrwx--- 1 habib habib 2039 janv. 12 2012 test.sql
-rw-rw-r-- 1 habib habib
3. En entre
Les commandes qui attendent des donnes ou des paramtres depuis le clavier peuvent aussi
en recevoir depuis un fichier, { laide du caractre <. Un exemple avec la commande wc (word
count) qui permet de compter le nombre de lignes, de mots et de caractres dun fichier.
Exemple
wc < resultat.txt
La redirection << est particulire. Elle permet lutilisation des documents en ligne. Cela
permet la saisie dun texte jusqu{ un point donn et lenvoi de son rsultat { une commande
ou un filtre. Les redirections classiques sont aussi autorises. Aprs le << vous indiquez
une chane dfinissant la fin de saisie, par exemple ici end.
habib@phd:~$ tr "[a-z]" "[A-Z]" << end
> Ceci est un Exemple
> le test de la commande tr
> end
CECI EST UN EXAMPLE
37
LE TEST DE LA COMMANDE TR
5. Filtre
38
Un filtre (ou une commande filtre) est un programme sachant crire et lire des
donnes
par
les
canaux
traite
ventuellement le contenu. wc est un filtre. En voici quelques uns : more (affiche les donnes
page par page), sort (tri des donnes), grep (critres de recherche).
6. Pipelines / tubes
Les redirections dentre/sortie permettent de rediriger les rsultats vers un fichier. Ce
fichier peut ensuite tre rinject dans un filtre pour en extraire dautres rsultats. Cela
oblige taper deux lignes : une pour la redirection vers un fichier, lautre pour
rediriger ce fichier vers le filtre. Les tubes ou pipes permettent de rediriger directement
le canal de sortie dune commande vers le canal dentre dune autre. Le caractre
permettant cela est | accessible depuis la combinaison [AltGr] 6 des claviers franais.
$ ls -l > fich1
$ wc < fich1
devient
habib@phd:~$ ls -l | wc
35
327 2085
39
sur
40
4. La commande ps
41
ps : permet d'obtenir la liste des processus qui tournent au moment o vous lancez la
commande
habib@phd:~$ ps
PID TTY
TIME CMD
5. Arrter Un Processus
Ctrl + C : arrter un processus lanc en console
kill : tuer un processus
kill -9 vous demandez Linux de tuer le processus sans lui laisser le temps de s'arrter
proprement
43
Bibliographie
1. Jean-Paul Armspach, Pierre Colin,Frdrique Ostr-Waerzeggers,
LINUX Initiation et utilisation ,Edition DUNOD ,2004.
2. Christophe Blaess, Shells Linux et Unix par la pratique, Edition
EYROLLE, 2008.
3. Sbastien Blondeel, Daniel cartron, Hermantino singodiwirjo,
Dbuter sous linux , , Edition EYROLLE, 2004.
44