SlideShare une entreprise Scribd logo
Introduction à Linux
ESIC
Formation en Alternance
Adresse : 41 Rue Périer, 92120 Montrouge
Tél. : 01 46 56 69 09
email : contact@esic.fr
Site : http://esic.fr/ecole_esic/
V. 1.1
Formateur Benjamin LISAN
ESIC - Formation en alternance 2
Nous nous sommes inspiré du cours
Unix de TAL ILPGA Paris 3
Qu’il soit remercié ici.
ESIC - Formation en alternance 3
Sommaire
 Préambule
 Liens, ressources
 Thèmes de travail
Démarrer sous Linux
Environnement graphique KDE
Travailler sous linux
Système de fichiers
Commandes (part 1) et (part 2)
 Autres thèmes non traités
 Expressions rationnelles
 Lexique commandes
ESIC - Formation en alternance 4
Préambule (sommaire)
But de cet exposé
Présentation de Linux
Apprentissage de base pour bien démarrer
avec Linux
Application et expérimentation au Labo
Machines en double boot Windows/Linux
(distribution Ubuntu)
ESIC - Formation en alternance 5
Références bibliographiques
sommaire
Beaucoup de livres sont disponibles
On peut par exemple regarder dans la
collection O’REILLY
« Le système linux », Matt Welsh
Documentation Linux Ubuntu en ligne
https://www.ubuntu-fr.org/, http://www.ubuntu.com
« Le guide du rootard », Eric Dumas, disponible
sur le site Linux-France :
www.linux-france.org
ESIC - Formation en alternance 6
Autres Livres
Le système Linux (3ème éd), ouvrage fondamental,
éditeur O'Reilly
Administration réseau sous Linux, éditeur O'Reilly
Linux , série "Grand livre", Micro-application
Introduction à Perl, livre fondamental pour découvrir
Perl, éditeur O'Reilly
Logiciels libres (JP Smets-Solanes, B Faucon)
Edispher
ESIC - Formation en alternance 7
Liens, ressources
sommaire
 Sur la toile
 Beaucoup de ressources en lignes
Quelques liens :
LINUX ORG : www.linux.org
LINUX France : www.linux-france.org
 Cours en ligne :
www.ac-creteil.fr/Infolyc/linux/formation/
 Vous pouvez aussi trouver beaucoup de cours dans ce
répertoire Internet : http://www.doc-developpement-
durable.org/file/Projets-informatiques/cours-&-manuels-
informatiques/ puis aller dans le répertoire Linux :
http://www.doc-developpement-durable.org/file/Projets-
informatiques/cours-&-manuels-informatiques/Linux/
ESIC - Formation en alternance 8
Thèmes de travail
sommaire
Démarrer sous linux
Présentation générale de l ’environnement de
travail
L’environnement graphique KDE ou
Gnome
Les commandes sous Unix
Droits et protection de fichier
 01/03/2016
Démarrer sous linux
En passant par Lilo
 sommaire
ESIC - Formation en alternance 10
Booter sous linux
sommaire
Machines Labo : double boot
Au démarrage des machines, exécution du
chargeur de système LILO (LInux LOader)
Au prompt LILO, l’activation de TABulation donne
la liste des systèmes disponibles
Deux systèmes coexistent : windows (par défaut)
et linux
Pour lancer LINUX : taper linux…
ESIC - Formation en alternance 11
Se connecter au système
La connexion au système n’est pas
anonyme
Il faut entrer un nom d ’utilisateur et un mot de
passe
Après quelques secondes
l’interface graphique KDE ou Gnome installée
sur nos machines apparaît
ESIC - Formation en alternance 12
BUREAU sous Gnome
ESIC - Formation en alternance 13
BUREAU sous Gnome
ESIC - Formation en alternance 14
BUREAU sous KDE
(Ubuntu 7.1)
4 Bureaux virtuels Console
Menu K
Raccourcis
liens vers périphériques
applications
répertoire de travail
partition Windows
outil de configuration du système...
Environnement graphique
KDE
 sommaire
ESIC - Formation en alternance 16
KDE K Desktop Environnement
Gnome présente à l ’utilisateur des
bureaux virtuels
On trouve sur le bureau les items
CDROM, FLOPPY, CORBEILLE…
Sous la lettre K (en bas, à gauche)
Accès au menu permettant de lancer les
programmes disponibles
ESIC - Formation en alternance 17
Premières manipulations
Parcourir la documentation (Help) dans le
menu
Explorer le bureau
Ouvrir une console : utiliser les
commandes connues « ls, cd… »
ESIC - Formation en alternance 18
L ’explorateur KFM
Pour le démarrer
Icône sur le bureau (accès répertoire perso/home)
Dans le menu K : Disk Navigator
Outil de navigation et de gestion de
ressources locales (fichiers)
Il gère l ’affichage des documents HTML
ESIC - Formation en alternance 19
ESIC - Formation en alternance 20
Applications sous Gnome
Outils
d’archivage,
de communications,
de développement,
fichiers
éditeurs
...
et shells.
ESIC - Formation en alternance 21
Manipulations
Parcourir les applications
Démarrer Emacs...
Essayer plusieurs applications…
toutes ne sont pas disponibles malheureusement
ESIC - Formation en alternance 22
La console (notre outil favori…)
La console permet de passer des commandes
unix
Tester les commandes :
pwd, who, ls, echo test, echo
$PATH, date
faire un man de ces commandes pour avoir de
l ’aide
Créer (avec la commande mkdir) votre répertoire
de travail (avec votre nom) dans le répertoire
/home/etudiant, sauvegarder dans ce
répertoire la page d ’index du site TAL
Les commandes UNIX
Travailler en ligne de
commandes
(partie 1)
 sommaire
ESIC - Formation en alternance 24
Syntaxe générale
sommaire
commande [options] paramètres
En général, les options sont précédées du
symbole - et peuvent être groupées
ps -ae
ls -l /home/etudiant/
Les paramètres précisent les fichiers concernés
IMPORTANT : A l ’AIDE…
commande --help
man commande
ESIC - Formation en alternance 25
Les options
Comparer les effets de :
ls
ls -l
liste avec les attributs des fichiers
ls -a
liste complète, y compris les fichiers cachés, qui
commencent par un point
ls -la
ls -R
liste "récursive" des contenus des sous-rép.
ls --help
man ls
ESIC - Formation en alternance 26
Historique des commandes
les touches flèches haut et bas
permettent de parcourir les dernières
commandes de l'utilisateur
Elles sont stockées dans le répertoire
personnel dans le fichier
/home/utilisateur/.bash_history
ESIC - Formation en alternance 27
Pour commencer...
Un exemple pour illustrer la « puissance »
des commandes unix
pour écrire de telles commandes, il faut :
connaître « l ’ existence des commandes »
cf infra et ( lecture poly, documentation unix...)
 choisir les bonnes commandes...
connaître les mécanismes d ’enchaînements de
commandes sous unix, de redirection de flux…(cf
infra, lecture poly)
« se renseigner » sur les commandes (man)
tester, re-tester et re-tester encore
ESIC - Formation en alternance 28
Manipulation de fichiers
touch file1 file2
crée les 2 fichiers vides
Pour consulter un fichier texte,
commandes cat (texte court) ou less (texte long) ou
more
tester ces commandes sur 1 fichier de votre choix
sous X-KDE
l'éditeur kedit est appelé quand on ouvre un fichier texte
dans l'explorateur kfm
On utilisera aussi Emacs
ESIC - Formation en alternance 29
Gestion de fichiers (1)
cp (copy, copier fichiers et répertoires)
cp [option] source destination
copie d'un seul fichier, en précisant le chemin et le
nom du fichier destination
cp [option] rep-source rep-cible
copie l'ensemble des fichiers dans le rép. spécifié,
en gardant les noms
ESIC - Formation en alternance 30
 Principales options :
-R recopie récursive, permet de copier toute une
arborescence
-i avertit l'utilisateur de l'existence d'un fichier du
même nom et lui demande s'il veut le remplacer
-p effectue une copie en gardant le propriétaire et le
groupe d'origine
-v affiche en clair le nom des fichiers copiés
ESIC - Formation en alternance 31
Gestion de fichiers (2)
rm (remove, supprimer des fichiers)
 rm [option] fichiers
 L'option -i a été ajoutée d'office dans un alias pour demander
confirmation à l'utilisateur, pour chaque fichier.
 Options
 -r : permet de supprimer un répertoire et ses sous répertoires
(attention TRÈS dangereux)
 -f (force) : permet de supprimer les fichiers protégés en écriture
sans demande de confirmation. Cela permet d'inhiber l'option -i
et de gagner du temps .. sauf dégâts !
ESIC - Formation en alternance 32
Gestion de fichiers (3)
mv (move, renommer ou déplacer)
mv [option] source destination
renomme simplement le fichier source, ce qui
est un simple changement de nom (de
chemin)...
mv toto titi
mv [option] fichiers répertoire
déplace les fichiers sources dans le répertoire,
en gardant les noms.
mv /home/jean/images/*.jpg /tmp/
ESIC - Formation en alternance 33
 Principales options :
-b (b=backup) : effectue une sauvegarde des fichiers
avant de les déplacer. La copie porte le même nom
suivi d'un tilde
-i (i=interactive) : demande confirmation avant pour
chaque fichier
-u (u=update) : pour ne pas supprimer le fichier si sa
date de modification est postérieure à celle du fichier
remplaçant
ESIC - Formation en alternance 34
Exercice
Localisez l ’archive CORPUS sur le CD
TAL dans le répertoire cours2002-2003
Décompressez cette archive (commande
unzip) dans un nouveau répertoire
(commande mkdir) de votre répertoire
personnel nommé MesCorpus
Utiliser la commande wc sur ces corpus
ESIC - Formation en alternance 35
Gestion de processus (21.11)
 La commande ps permet de connaître les processus
actifs à un moment donné, associés à un terminal et
lancés par l'utilisateur courant.
Pour obtenir tous les processus, y compris ceux
lancés par le système et connaître l'utilisateur associé
à chacun on ajoute l'option aux.
kill num-pid
 pour arrêter un programme
kill -9 num-pid
 pour le "tuer", s'il ne répond plus (le programme, pas le système)
ESIC - Formation en alternance 36
Description des colonnes de la commande ps aux :
"USER" à quel utilisateur appartient le processus.
"PID" est le numéro qui identifie le processus
"%CPU" en % les ressources du microprocesseur
utilisées par le processus.
"%MEM" en % les ressources en mémoire vive utilisées
par le processus.
"RSS" mémoire réellement utilisée en ko par
le processus.
"START" l'heure à laquelle le processus a été lancé.
Commandes « textUtils »
Ressources « textutils »
disponibles en ligne :
 http://www.gnu.org/manual/textutils/html_node/textutils.html
 (envoi par mail sur demande)
Lecture obligatoire...
ESIC - Formation en alternance 38
Un exemple concret…(1)
Fichier de travail : la version « tableur » du
corpus Prématurés
Rappel : dans ce fichier chaque ligne est
décrite de la manière suivante (chaque champ est
délimité par une tabulation) :
n° fiche texte n° fiche complément texte n°
fiche age en h age en j terme en sem mode
accoucht lieu heure saisie code inf poids
(g) sédation freq visit parents relat
inf/par relat mère/bb occup bb Pntic moral score
med
ESIC - Formation en alternance 39
Un exemple concret… (2a)
Problème : extraire les zones textuelles
correspondant à l ’infirmière n°1 et contenant le mot
« contact »
Solution : une seule (ligne de) commande
(affichage texte + n° infirmière)
cut -f2,4,9 p96.fic | egrep ‘ contact ’ | egrep
‘ 1$ ’
(pour ne garder que le texte)
cut -f2,4,9 p96.fic | egrep ‘ contact ’ | egrep
‘ 1$ ’ | cut -f1
ESIC - Formation en alternance 40
Un exemple concret… (2b)
Problème : extraire le premier mot des zones textuelles
correspondant à l ’infirmière n°1, en faire le tri et les compter
Solution : une seule (ligne de) commande
(tri seul)
cut -f2,9 p96.fic | egrep ‘ 1$ ’ | cut -f1 | tr
‘ ‘ ‘ # ’ | cut -f3,4 -d# | sed -e s/^-#// |
cut -f1 -d# | tr ‘ . ’ ‘ # ’ | tr ‘ , ’ ‘ # ’ |
cut -f1 -d# | sort -u
(comptage)
cut -f2,9 p96.fic | egrep ‘ 1$ ’ | cut -f1 | tr
‘ ‘ ‘ # ’ | cut -f3,4 -d# | sed -e s/^-#// |
cut -f1 -d# | tr ‘ . ’ ‘ # ’ | tr ‘ , ’ ‘ # ’ |
cut -f1 -d# | sort -u | wc -w
ESIC - Formation en alternance 41
Commandes (utiles)
 wc
 wc counts the number of bytes, whitespace-separated words, and
newlines in each given file, or standard input if none are given
or for a file of `-'. Synopsis:
 wc [option]... [file]...
 sort (ex en suivant le lien)
 tri
 sort sorts, merges, or compares all the lines from the given
files, or standard input if none are given or for a file of `-'.
By default, sort writes the results to standard output. Synopsis:
 sort [option]... [file]...
 more, less
 pagination
 head, tail
 pagination partielle (début et fin de fichier)
ESIC - Formation en alternance 42
grep, egrep
 recherche de motifs dans un fichier texte (rappels infra)
cut (ex en suivant le lien)
 effectue la projection d'un fichier selon une colonne
 cut writes to standard output selected parts of each line of
each input file, or standard input if no files are given or for
a file name of `-'. Synopsis:
 cut [option]... [file]...
tr (ex en suivant le lien)
 effectue des remplacements de caractères
 tr [option]... set1 [set2]
 tr copies standard input to standard output, performing one of the
following operations:
 translate, and optionally squeeze repeated characters in the result,
 squeeze repeated characters,
 delete characters,
 delete characters, then squeeze repeated characters from the result.
ESIC - Formation en alternance 43
Text-utils exemples
On commencera par lire la documentation
text-utils
On lira aussi les exemples concrets donnés
dans les documents :
TextUtils-Linux/textutils_46.html
TextUtils-Linux/textutils_47.html
TextUtils-Linux/textutils_48.html
TextUtils-Linux/textutils_49.html
TextUtils-Linux/textutils_50.html
TextUtils-Linux/textutils_51.html
TextUtils-Linux/textutils_52.html
ESIC - Formation en alternance 44
Text-utils exemples
Faire un « man » de toutes les
commandes, puis les testez (avec les différentes
options) sur vos corpus de travail
,Lectures obligatoires :
Output of entire files
Formatting file contents
Summarizing files
Operating on sorted files
ESIC - Formation en alternance 45
Manipulation de fichiers
Rappels : Expressions régulières
Rappels : egrep
Rappels : Emacs
Système de fichiers
sommaire
ESIC - Formation en alternance 47
Système de fichiers
 Un système de fichiers est une façon d'organiser et de
stocker une arborescence sur un support (disque,
disquette, cd ...). Chaque OS propriétaire a développé sa
propre organisation.
 On peut faire cohabiter plusieurs systèmes dans des
partitions d'un même disque.
 Linux possède son système appelé ext2 mais peut en
gérer d'autres.
 La liste en est donnée dans /proc/filesystems
ESIC - Formation en alternance 48
 L'utilisateur peut donc accéder sous Linux à d'autres
systèmes de fichiers, comme DOS, Vfat,..provenant d'un
périphérique ou importé par le réseau.
 Comme pour l'utilisateur tout est fichier, ces systèmes
extérieurs doivent être intégrés dans l'arborescence Linux.
 Le processus de montage, avec sa commande mount en
est le moyen : il permet d'affecter ce système extérieur
(partition sur un disque, disquette, cdrom, dk zip, répertoire
réseau ...) à un répertoire créé pour cela dans
d'arborescence. Il suffira ensuite de se déplacer à ce
répertoire, appelé point de montage, en fait un répertoire
"d'accrochage", pour accéder à ses fichiers (bien sûr,
conformément aux permissions que possède l'utilisateur, )
ESIC - Formation en alternance 49
Les différents fichiers
 fichiers normaux
texte : courrier, sources des programmes, scripts,
configuration ...
 exécutables : programmes en code binaire
 fichiers répertoires
ce sont des fichiers conteneurs qui contiennent des
références à d'autres fichiers.
véritable charpente de l'arborescence, ils permettent
d'organiser les fichiers par catégories
ESIC - Formation en alternance 50
 fichiers spéciaux
situés dans /dev, ce sont les points d'accès préparés
par le système aux périphériques. Le montage va
réaliser une correspondance de ces fichiers spéciaux
vers leur répertoire "point de montage".
par exemple, le fichier /dev/hda permet l'accès et le
chargement du 1er disque IDE
 fichiers « liens symboliques »
Ce sont des fichiers qui ne contiennent qu'une
référence (un pointeur) à un autre fichier.
Cela permet d'utiliser un même fichier sous plusieurs
noms sans avoir à le dupliquer sur le disque.
ESIC - Formation en alternance 51
Arborescence du système Linux
 La racine est le sommet de la hiérarchie des répertoires.
 Il s'agit d'une arborescence logique, indépendante de
l'implantation physique des divers sous-répertoires, qui peut
s'étendre sur plusieurs partitions incluses sur un ou plusieurs
disques, et même sur des disques réseaux.
 Sa structure est standard, avec des extensions imposées par les
distributions.
 Toute modification est de la compétence exclusive de
l'administrateur, à l'exception des répertoires personnels situés
dans /home.
 Il est recommandé de respecter cette architecture standard.
ESIC - Formation en alternance 52
Liste et rôle des répertoires principaux
 / le répertoire racine
/bin les fichiers exécutables (en binaire) (initialisation du système
+ commandes "essentielles")
/boot le noyau vmlinuz et les fichiers de démarrage
/dev répertoire de fichiers spéciaux, qui servent de canaux de
communication avec les périphériques (disques, adaptateur réseau,
cartes son etc...)
/etc les fichiers de configuration du système et les principaux
scripts de paramétrage
/etc/rc.d scripts de démarrage du système
/etc/X11 scripts de configuration du serveur X
/etc/sysconfig configuration des périphériques
/etc/cron description des tâches périodiques à effectuer
/etc/skel fichiers recopiés dans le rép. personnel à la création d'un
utilisateur
ESIC - Formation en alternance 53
/home la racine des répertoires personnels des utilisateurs
/lib les bibliothèques et les modules du noyau
/mnt la racine des points de montage des systèmes de fichiers
périphériques ou extérieurs (cd, disquette, nfs ..).
/opt lieu d'installation d'applications supplémentaires (comme
starOffice, java ..)
/root répertoire personnel du super-utilisateur root
/sbin les fichiers exécutables pour l'administration du système
/tmp stockage des fichiers temporaires
/usr programmes accessibles à tout utilisateur; sa structure
reproduit celle de la racine /
/var données variables liées à la machine (fichiers d'impression,
traces de connexions http, smb .. dans /var/log)
/proc ce pseudo-répertoire contient une "image" du système
Droits des fichiers
sommaire
ESIC - Formation en alternance 55
Permissions d'accès aux fichiers
 Tout fichier du système appartient à la fois à un
utilisateur (son "propriétaire") et à un groupe.
 Ainsi, pour chaque fichier le monde de ses
utilisateurs potentiels est scindé en 3 catégories,
nommées :
 u, l'utilisateur normal, son propriétaire, bien souvent son créateur,
qui n'a pas pour autant tous les droits sur lui !
 g, son groupe, ensemble d'utilisateurs ayant parfois des
"permissions" particulières.
 o, tous les (others) autres.
ESIC - Formation en alternance 56
 Attention, l'utilisateur propriétaire et le groupe propriétaire du fichier
peuvent être indépendants :
 le groupe propriétaire n'est pas forcément le groupe primaire de
l'utilisateur propriétaire,
 et même, le propriétaire n'est pas forcément membre du groupe !
 Mais (heureusement) une règle générale simple s'applique à la
création de tout nouveau fichier (ou répertoire)
 son propriétaire est l'utilisateur (humain ou système) qui l'a créé
 son groupe est le groupe primaire de ce même utilisateur
ESIC - Formation en alternance 57
 Droits d'accès des utilisateurs aux fichiers
 Linux permet de spécifier les droits d'action sur un fichier, que
peuvent exercer les utilisateurs des 3 catégories précédentes, ou
plutôt les permissions que leurs accordent les fichiers et les
répertoires.
 Linux a repris les 3 protections d'UNIX sur les fichiers et les
répertoires. Leur notation symbolique est :
r, lecture
w, écriture
x, exécution
 De façon générale, ces permissions sont consultables
complètement par la commande : ls -l
ESIC - Formation en alternance 58
 Par exemple :
 ls -l *.html
-rw-r--r-- 1 fleury fleury 1200 oct
19 12 : 39 amoi.html
 Description globale
 On trouve de gauche à droite
 le 1er caractère indique la nature du fichier
 "-" fichier normal, "d" un fichier répertoire, "l" un lien.
ESIC - Formation en alternance 59
 le système de droits est spécifié symboliquement par les 9 attributs
suivants, correspondants aux 3 catégories du fichier.
...|...|...
u g o
 La section u fixe les droits accordés au propriétaire du fichier.
 La section g fixe les droits accordés aux utilisateurs faisant partie du
groupe auquel appartient le fichier.
 La section o fixe les droits des autres utilisateurs.
 nombre de liens sur le fichier
 1 signifie que le fichier n'a aucun lien qui pointe vers lui, 2 (ou plus)
signifiant qu'il existe un lien (ou plus) vers lui.
 le nom du propriétaire du fichier
 le nom du groupe propriétaire
 la date de dernière modification
 le nom complet du fichier
ESIC - Formation en alternance 60
 Les permissions d'un fichier normal
 Pour chaque fichier, les utilisateurs sont ainsi séparés en 3
catégories, le propriétaire, les membres du groupe et tous les
autres.
 Les permissions accordées par le fichier à ces catégories sont
complètement indépendantes mais leur signification est la
même.
 Vis à vis de chacune de ces 3 catégories, on trouve dans l'ordre
:
le droit de lecture , afficher son contenu --> "r" si permis , "-" si
refusé
le droit d'écriture , modifier son contenu --> "w" si permis , "-" si
refusé
le droit d'exécution , pour un fichier script ou binaire --> "x" si
permis , "-" si refusé
ESIC - Formation en alternance 61
 Exemples :
 Le fichier de démarrage /etc/rc.d/rc.sysinit possède les droits
rwx r-x r-x
 Tous les utilisateurs ont donc le droit de lire et d'exécuter ce
fichier (ce qui est à éviter); seul root peut le modifier
 La table de montage /etc/fstab : rw-r--r-- peut être lu par tous,
modifiée uniquement par root
 Afficher toutes les infos sur un fichier
 La commande stat permet d'obtenir une information plus
poussée sur un fichier.
 Exemple : stat /etc/passwd
ESIC - Formation en alternance 62
 Les permissions des répertoires
 Pour les fichiers de type répertoire, la signification des attributs est
différente de celle d'un fichier normal.
 Mais elle est toujours identique pour les 3 catégories d'utilisateurs du
répertoire.
 La présence d'un tiret "-" signifie toujours l'absence de droit
 r : lire le contenu, droit d'afficher la liste des fichiers ( avec ls ou dir)
 w : modifier le contenu : droits d'ajouter et de supprimer des fichiers (avec cp,
mv, rm)
 x : droit d'accéder aux fichiers du répertoire et de se déplacer à l'intérieur (avec
cd)
 En général, si on attribue w, il faut attribuer aussi x sur un répertoire.
 Exemples :
 Passer les commandes cd / puis ls -l, pour lister les répertoires situés à
la racine.
 A qui appartiennent-ils ? Un user quelconque peut-il y créer des sous-
répertoire ?
 Commenter les 2 cas particuliers /root et /tmp
ESIC - Formation en alternance 63
Changements des droits
 De façon générale, l'utilisateur qui crée un fichier en
devient le propriétaire, et le groupe auquel
l'utilisateur appartient (au moment de la création)
devient le groupe du fichier.
 Mais les droits accordés au proprio, au groupe et aux autres
dépend du processus qui a créé le fichier.
 D'autre part l'administrateur peut être amené à effectuer des
changement de propriété (par exemple pour permettre un travail
en groupe) et des changements de droits sur des ensembles de
fichiers et de répertoires , les étendre ou les restreindre.
ESIC - Formation en alternance 64
 Changer le propriétaire d'un ensemble de fichiers ou de rép
 chown [-R] new-user arborescence
 L'option -R (récursif) permet d'agir sur l'ensemble des sous-répertoires.
 Exemple : chown stage4 /home/stage1/*
 Changer le groupe propriétaire
 Ceci doit être effectué par root ou le propriétaire, à condition que celui-ci soit membre
du nouveau groupe.
 chgrp new-groupe fichiers
 chgrp stage4 /home/stage1/*
 changer les 2 en même temps
 chown new-user.new-groupe fichiers
 change l'user et le groupe des fichiers chown new-user.fichiers
 dans ce cas, le groupe est le groupe primaire du nouveau propriétaire.
ESIC - Formation en alternance 65
 Changer les permissions sur les fichiers (effectué par root ou le
propriétaire)
 chmod droits fichiers
 La commande chmod (change mode, change le "mode" des fichiers) peut
s'écrire de plusieurs façons équivalentes. L'attribut droits permet de calculer les
nouvelles permissions.
 Celles-ci peuvent s'obtenir de façon relative, par ajout ou retrait par rapports aux
droits existants ou bien de façon absolue, en fixant les nouveaux droits (qui
remplacent les anciens).
 Ajout, retrait ou fixation des permissions
 Pour chaque fichier, on désigne par :
 u, g et o les 3 catégories d'utilisateurs (user, group, other) plus a (=all) désignant tous
 r,w,x les 3 attributs de ce fichier pour chaque catégorie.
 + - = l'action d'ajouter, de retirer ou de fixer un droit s'appliquant à une catégorie
 les changements sont alors de la forme "qui comment quoi" notés : [u g o a] [+ - =] [r w
x]
 par exemple chmod u+x fichier signifie "ajouter le droit d'exécution au propriétaire du
fichier"
ESIC - Formation en alternance 66
 Notation relative (aux droits existants)
 chmod [-R] <action-droits> fichiers
 L'option -R (récursif) permet de modifier les permissions de tous les sous-
répertoires.
 exemple : chmod [-R] go-rwx /home/toto enlève tous les permissions d'accès
des fichiers du rép. personnel de toto (et des sous-rép.), à tous sauf au
propriétaire, c'est-à-dire toto.
 Notation absolue
 Pour chaque groupe, elle permet de fixer les nouveaux droits qui remplacent les
anciens. Si une catégorie n'est pas présente, ses anciens droits s'appliquent.
 chmod u=rwx,g=rw,o=r fichiers remplace les permissions précédentes des
fichiers, en les fixant à -rwxrw-r--
 Attention : aucun espace dans la liste des droits, pas même autour des
éventuelles virgules
 chmod u=rwx,g=r fichiers fixe les permissions à -rwxr--??? en ne changeant pas
les permissions précédentes du groupe other
 chmod u=rwx,g=r,o= fichiers fixe les permissions à -rwxr-----
Travail sous la fenêtre de
commandes
sommaire
ESIC - Formation en alternance 68
Le shell
 Un interpréteur de commandes (on dit aussi le "shell", c ’est à dire
la coquille qui entoure le "noyau" du système) est un programme qui
sert d'intermédiaire entre l'utilisateur et le système d'exploitation.
 Sa tâche essentielle est l'exécution de programmes.
 Pour cela, il effectue (en boucle infinie) :
 la lecture d'une ligne
 sa compréhension comme une demande d'exécution d'un programme
avec d'éventuels paramètres.
 le lancement de ce programme avec passage des paramètres
 d'éventuelles redirections d'entrées-sorties
 les exécutions de scripts (fichiers de commandes)
69
 Démarrage du shell
 Lors de la création de son compte, un utilisateur est associé à un type
de shell
 Lire le fichier /etc/passwd : le dernier champ contient le nom du fichier
exécutable (shell par défaut) /bin/bash
 Le shell associé est ainsi lancé automatiquement dès la saisie du
login utilisateur.
 Il poursuit sa configuration en exécutant les scripts "profils"
 Enfin, il affiche le prompt et se met en attente de la lecture d'une
commande.
 Jusqu'à la commande exit, pour quitter le shell (ce qui équivaut à se
déconnecter (logout))
 1. /etc/profile communs à tous les users y compris root
 Notamment, on y trouve la définition du prompt
 2. le fichier $HOME/.bash_profile, s'il existe (sinon le fichier
$HOME/.bash_login)
 3. /etc/bashrc définition des alias globaux
 4. $HOME/.bashrc, s'il existe
ESIC - Formation en alternance
ESIC - Formation en alternance 70
 Personnalisation des commandes bash
 /etc/bashrc est le dernier script d'initialisation du shell bash.
 Il contient des alias redéfinissables ou à compléter par l'utilisateur root.
 Il suffit donc d'éditer et de compléter le fichier par défaut
 par exemple :
 # vi /etc/bashrc
alias l=""ls --color=tty -F -b -T 0"
alias ll="l -l"
alias lp="ll | more"
alias la="ll -a"
alias x="startx"
alias m="mc -c"
 :wq (pour écrire dans le fichier et quitter vi)
 Puis se reloguer (exit) pour relancer l'interpréteur du shell.
ESIC - Formation en alternance 71
 Les variables d'environnement système
 La liste en est accessible par la commande : env
 La commande echo permet d'obtenir la valeur d'une telle variable.
 Par exemple : echo $PATH, echo $USER
 Ajout d'un nouveau chemin : attention à ne pas écraser la liste des
chemins existants (PATH en majuscules !
 PATH="$PATH:/home/jean" pour ajouter le chemin rép.personnel
 (Attention ! pas d'espace autour du symbole =)
 PATH="$PATH :./" pour ajouter le répertoire courant (non présent par
défaut)
 La variable $HOME contient le chemin du rép. personnel.
 La commande cd $HOME est abrégée en cd
 La variable $USER contient le nom de l'utilisateur
 $SHLVL donne le niveau du shell courant
ESIC - Formation en alternance 72
 Facilités de saisie des commandes
 Comme les commandes Unix sont souvent longues à saisir,
diverses facilités sont offertes :
 Historique des commandes
 Cette liste numérotée est accessible en tapant history | less
 Pour relancer la commande n, saisir (sans espace)!n
 On peut aussi parcourir les précédentes lignes de commandes
avec les flèches (comme doskey) et les éditer.
 Ceci permet très facilement de reprendre une précédente
commande pour l'éditer et la modifier.
 Le clic-droit
 Dans un terminal console, sélectionner un texte puis cliquer-droit
dessus, recopie ce texte sur la ligne de commande
 Ceci est particulièrement utile pour lancer des commandes.
ESIC - Formation en alternance 73
 L'opérateur tilde
 Le caractère tilde ~ (alt 126) seul renvoie au rép. personnel de
l'utilisateur actuel.
 Si l'user actif est toto, chaque occurrence du caractère ~ est
remplacé par le chemin /home/toto
 Le tilde ~ suivi d'un nom d'user, par ex jean, renvoie au rép.
personnel de jean, c-à-d /home/jean
 Ainsi la commande de toto : cd ~stagiaire3 le déplace dans le rép.
/home/stagiaire3, mais ce qu'il pouvoir y faire dépend de ses
permissions (est-il un "other" ? un membre du groupe ?)
 Très utile pour l'administrateur root qui peut ainsi aller rapidement voir le
rép. perso de toto et faire le "ménage"
 cd ~toto
 rm -r photos
ESIC - Formation en alternance 74
Compléter une commande
Lorsqu'on tape une commande en ligne la touche
TAB, l'interpréteur cherche à compléter le nom du
fichier.
home/toto ]$ less /etc/fs TAB
S'il y a plusieurs propositions, il y a attente d'un
complément d'info de la part de l'utilisateur (avec
un "tut").
Un autre TAB et l'interpréteur affiche toutes les
possibilités ou en indique le nombre, s'il y en a
beaucoup !
ESIC - Formation en alternance 75
Les méta-caractères de la ligne de
commande
 Travailler avec le shell nécessite souvent de manipuler des ensembles
de fichiers. L'utilisation de caractères spéciaux (appelés aussi méta-
caractères) dans les noms de fichiers, permet de générer des modèles
pour désigner ces ensembles.
 Il existe trois constructeurs de modèles *, ? et [].
 Modèle Signification
 * remplace une chaîne de longueur qcq, même vide
 ? remplace un seul caractère qcq
 [ ] un caractère qcq de la liste ou de l'intervalle
 [^ ] n'importe quel caractère sauf ceux de la liste
 Attention ! en raison de certaines ressemblances, ne pas confondre ces
constructeurs d'ensembles de fichiers avec les expressions rationnelles
ESIC - Formation en alternance 76
 Un modèle de la forme X*Y où X et Y sont 2 chaînes quelconques,
éventuellement vides, désigne l'ensemble des noms de fichiers de la forme
XZY où Z est une chaîne quelconque elle aussi éventuellement vide.
 ? remplace un et un seul caractère
Exemples
ll /*/*.d tous les fichiers (et rép) d'un sous-rép de / qui se
terminent par .d
ll -d /home/* tous les sous-répertoires de /home
rm * attention ! commande dangereuse, supprime tout le rép
courant !
cp *.? /home/toto
cp /home/stage? /root/tmp
 Le modèle [] permet de sélectionner un élément de la liste ou de l'intervalle
spécifié.
ESIC - Formation en alternance 77
 Le séparateur de la liste est l'espace. Aucun espace ne doit être mis au début ou à la
fin entre [ ]
 Plus précisément, un modèle de la forme X [abc...z ]Y où X et Y peuvent être
vides, désigne l'ensemble des noms de fichiers suivants: XaY, XbY ... XzY.
 Dans le cas où l'ensemble des caractères abc ...z forment une série ordonnée, on
peut utiliser la notation intervalle a-z.
 On peut mélanger les deux notations, comme dans [a-z].[0-9], ensemble des
fichiers a.0, a.1, .., b.0 b.1 etc ...
 Quelques exemples :
 ll a*
 ll [a-d A-D]* liste les fichiers du rép. courant dont le nom commence par a, b, c ou
d minuscule ou majuscule (y compris les sous-rép.)
 cp ventes1[00-50].xls /home/toto/bilan copie tous les fichiers ventes100.xls
jusqu'à ventes150.xls
 lpr ~toto/formation/plan[93 94 77].html imprime les 3 fichiers plan93.html,
plan94.html, ..
ESIC - Formation en alternance 78
 Analyse de la ligne de commande
 Valeur de retour d'une commande
 Chaque commande transmet au programme appelant un code, appelée valeur de
retour (exit status) qui stipule la manière dont son exécution s'est déroulée.
 Par convention du shell BASH, la valeur de retour est toujours 0 si la
commande s'est déroulée correctement, sans erreur (attention, c'est l'inverse
du langage C !)
 Une valeur de retour différente de 0 signale donc une erreur, qui peut être
éventuellement analysée selon cette valeur.
 Un variable système spéciale $? contient toujours la valeur de retour de la
précédente commande. On peut afficher cette valeur avec la commande echo
ESIC - Formation en alternance 79
 Enchainement des commandes
une ligne de commande est une phrase composée de
mots séparés par des espaces : le premier mot est
considéré comme le nom d'une commande et le shell cherche à
l'exécuter; les mots suivants sont des options ou paramètres de
cette commande.
 Pour inhiber cette interprétation des espaces, il faut entourer
le groupe de mots de quotes ou de guillemets , ce groupe sera
alors interprété comme un seul paramètre.
 Exemple :
recherche de la chaîne jules toto (qui constitue un seul paramètre)
sur les lignes de /etc/passwd (l'option -i pour s'affranchir de la casse)
grep -i "jules toto" /etc/passwd
ESIC - Formation en alternance 80
 En général, on place une commande par ligne que ce
soit en ligne de commande ou dans un script
 Le point-virgule « ; » joue le rôle de séparateur de
séquence inconditionnel
 Il permet ainsi d'écrire une séquence de plusieurs commandes
sur une même ligne.
 Toutes les commandes sont inconditionnellement exécutées
(même si l'une d'entre elle provoque une erreur), et leur résultats
respectifs sont envoyés sur la sortie standard, séparés par un
retour à la ligne "n".
 On peut connaître la valeur de retour de chacune en
interrogeant la variable $?
ESIC - Formation en alternance 81
 Enchainement conditionnels des commandes
 Les séparateurs && et || sur la ligne de commande sont des
séparateurs qui jouent les rôles d'opérateurs conditionnels, en ce sens
que la 2ème commande sera exécutée en fonction du code de retour de
la 1ère commande.
 Dans la séquence :
commande1 && commande2
 commande2 ne sera exécutée que si le code retour de commande1 est
0 (exécution correcte)
 Dans la séquence :
commande1 || commande2
 commande2 ne sera exécutée que si le code de retour de commande1
est différent de 0 (exécution erronée)
 Exemple : tester la commande
cd ~/tmp || mkdir $HOME/tmp
ESIC - Formation en alternance 82
 Redirections des entrées-sorties
 Toutes les commandes (du noyau, du shell et créées par le
programmeur) sont dotées par le système de 3 canaux de
communication :
 entrée standard (stdin=standard input) pour lire des données,
 la sortie standard (stdout) pour envoyer des résultats
 et la sortie des erreurs (stderr).
 Par défaut les canaux d'entrées et de sorties communiquent avec
le clavier et l'écran :
les commandes et les programmes qui ont besoin de données les
attendent en provenance du clavier et expédient leurs résultats pour
affichage sur le moniteur.
ESIC - Formation en alternance 83
Il est possible de les détourner pour les
rediriger vers des fichiers ou même vers les
entrées-sorties d'autres commandes
Les symboles utilisées sont :
< redirection de l'entrée standard à partir d'un fichier
(et non depuis le clavier)
> redirection de la sortie standard en direction d'un
fichier (et non vers l'écran clavier)
Attention !
Le fichier est créé .. et écrase sans préavis le fichier
existant portant le même nom
ESIC - Formation en alternance 84
 >> redirection de la sortie standard à la fin du fichier s'il existe déjà
 | (= alt 124) enchaînement de commandes (appelé aussi tube ou
pipe)
 la sortie de la commande gauche est envoyée en entrée de la
commande droite
 Fréquemment utilisé avec less (ou more) pour examiner l'affichage sur
le moniteur
 La valeur de retour est celle de la dernière commande.
 Tester
 ls -l | less
ESIC - Formation en alternance 85
 Substitution de commande
 Ce procédé permet de substituer au texte d'une commande le résultat de son
exécution qui est envoyé sur la sortie standard
 La commande simple ou complexe (avec redirections, tubes ) doit être entourée de
l''opérateur antiquote ` Alt-Gr7 ou être placée dans un parenthèsage précédé de
$(...). D'une manière générale, il est recommandé d'entourer l'expression de ""
 Exemple :
 echo "`whoami`, nous sommes le `date` "
 echo "$(whoami), nous sommes le $(date) "
 Comparer :
 pwd
 echo pwd
 echo `pwd`
 echo "Il y a `ls | wc -l ` fichiers dans `pwd` "
ESIC - Formation en alternance 86
 tr 'A-Z' 'a-z' traduit chaque caractère majuscule reçu sur son entrée en
l'équivalent minuscule .
 Tester :
 echo -n "Votre mot de passe ?
 read mdp
 mdp = $(echo $mdp | tr 'A-Z' 'a-z')
 Les substitutions de commande peuvent être imbriquées.
 Attention à bien placer les " ".
 Exemple :
 echo "Nombre de fichiers du répertoire personnel : $( ls -l $( pwd ))" |
less
 Si on connait grep et cut, quelle est la signification de :
 nom=toto
 numero=$(cat /etc/passwd | grep -wi "^$nom" | cut -d: -f3)
ESIC - Formation en alternance 87
Expressions rationnelles
sommaire
 Introduction
 Le livre de référence utilisé : Introduction à PERL (O'Reilly)
 Les expressions rationnelles (ou régulières) sont des critères ou
modèles de recherche (pattern) dans les chaînes de caractères. Les
objectifs peuvent être simplement de sélectionner suivant ce critère, ou
d'effectuer des traitements comme des substitutions sur les chaînes
trouvées.
 Leur utilisation s'étend de certains filtres shell : grep, sed, awk, vi ,
emacs .. à des langages de scripts : perl, php .. et aux éditeurs de texte :
vi , emacs
 Attention ! certains caractères spéciaux sont communs avec les
caractères génériques de désignation de fichiers, mais ils ont une
interprétation différente. Donc il faut toujours prêter attention au contexte
ESIC - Formation en alternance 88
 Quelques exemples avec grep
 grep abc fichier recherche la chaînes abc dans toutes les lignes du
fichier. Les lignes trouvées sont envoyées sur la sortie standard,
éventuellement redirigée.
 grep " " fichier recherche les lignes qui contiennent un (et un seul)
espace entre 2 mots
 grep "ab*c" fichier, idem avec 0 ou plusieurs occurrences de la lettre b
 grep "^s.*n$" fichier, reconnaît les lignes débutant par s (^s), finissant
par n (n$), avec éventuellement des caractères (quelconques)
intermédiaires (.*)
 grep "^[a-zA-Z][a-zA-Z0-9]*" [a-f]*.txt recherche les chaînes commençant
par une lettre suivie d'un nombre qcq de caractères alphanumériques,
dans tous les fichiers dont les noms débutent par une lettre de a à f
avec une extension .txt
ESIC - Formation en alternance 89
 Les méta-caractères
 Appelés aussi caractères spéciaux, ce sont des caractères interprétés en contexte expression
rationnelle comme des opérateurs.
 En voici la liste avec un bref descriptif :
 . (point) représente un caractère qcq, sauf n
 * (astérisque) répétition du caractère précédent
 + au moins une occurrence de l'expression régulière
 ? au plus une occurrence de l'expression régulière
 [...] (crochets) l'un des caractères de l'ensemble.
 [^..] en début de crochets recherche dans le complémentaire de l'ensemble
 ^ recherche en début de ligne
 $ recherche en fin de ligne
  annule le rôle de méta-caractère, pour jouer le rôle du caractère usuel
 {n,m} indique le nombre de répétitions attendus du caractère précédent
 | joue le rôle de "ou" entre 2 expr rég.
 L'antislash  inhibe l'interprétation des caractères spéciaux et force leur interprétation
usuelle.
 Exemples
 ..txt recherche les chaînes du genre c.txt , où c est un caractère unique qcq
 *$ recherche les chaînes qui se terminent ($) par le caractère astérisque (*)
ESIC - Formation en alternance 90
 Ecriture des motifs
 Expression régulière à 1 caractère (atomique)
 un caractère correspond à lui-même, en règle générale.
 Ainsi le motif c recherche le caractère désigné par c.
 un métacaractère précédé de , pour lui rendre son rôle usuel.
 . Le point remplace tout caractère unique, sauf n
 a. toute suite de 2 caractères commençant par a, sauf an
 b.c désigne toute suite de 3 caractères du genre bac, bbc, bcc, ...
 [abc] classe de caractères, sélectionne toute chaîne contenant l'un des caractères
listés
 [a-z] toute lettre minuscule
 [0-9] équivaut à [0123456789], un chiffre quelconque
 [a-zA-Z0-9-_] correspond à n'importe quelle lettre ou chiffre, ou au tiret ou au
souligné
 le caractère ^ juste après [ joue le rôle d'exclusion des caractères qui suivent.
 [^aeiou] tout sauf une lettre voyelle
 [^a-zA-Z0-9] sélectionne un caractère non alphanumérique
ESIC - Formation en alternance 91
 Expressions régulières simples
 Soit expat une expression régulière atomique quelconque, alors ce sont
 expat1expat2expat3 ... toute concaténation sans espace formée d'expr.
régulière atomiques
 expat* chaîne composée de 0 à N caractères vérifiant
expat
 expat+ chaîne contenant au moins un caractère
vérifiant expat
 expat? chaîne contenant au plus un caractère vérifiant
expat
 expat{n} chaîne composée exactement de n caractères
vérifiant expat
 expat{n,} chaîne composée d'au moins n caractères
vérifiant expat
 expat{n,m} chaîne composée de n à m caractères vérifiant expat
ESIC - Formation en alternance 92
 Exemples
 a* caractère de multiplication, suivant un caractère signifie la répétition de
0 à plusieurs exemplaires de ce caractère.
 [ab]* signifie répétition possible d'un quelconque des 2 lettres a ou b.
 a+ répétition de 1 à plusieurs exemplaires de a
 a? 0 ou 1 exemplaire de a
 c[ad]?r impose la présence de cr ou car ou cdr, et rien de plus.
 /x{5,10} 5 à 10 répétitions attendues de x
 a{5,} 5 ou plus répétitions attendues de a
 a{5} exactement 5 occurrences de a
 a.{5}b recherche les mots contenant 5 caractères entre a et b
 s+ recherche un ou plusieurs caractères séparateurs.
 Conséquence : {0,} {1,} {0,1} correspondent à * , + , ?
ESIC - Formation en alternance 93
 Expressions régulières étendues
 Soit expsim une expression régulière simple quelconque, comme définie
précédemment, alors ce sont des expressions régulières générales :
 expsim1expsim2 ... toute concaténation formée d'expr. régulière simples
 ^expsim recherche le motif expsim en début de chaîne
 expsim$ recherche le motif expsim en fin de chaîne
 expsimb le motif expsim doit se trouver la fin d'un mot
 expsim1|expsim2|… alternative : recherche de expsim1 ou expsim2 ...
 (expsim)* chaîne composée de 0 à N caractères vérifiant expsim
 (expsim)+ chaîne contenant au moins un caractère vérifiant expsim
 (expsim)? chaîne contenant au plus un caractère vérifiant expsim
 (expsim){n} chaîne contenant la concaténation d'exactement n chaines vérifiant
expsim
 (expsim){n,m} chaîne composée de n à m caractères vérifiant expsim
ESIC - Formation en alternance 94
 Remarques
 Les symboles ^, $ sont appelés motifs d'ancrage, car ils permettent de préciser l'endroit où
doit être effectuée la recherche du motif dans la chaîne (alors que sans directive particulière
la recherche de correspondance du motif avec la chaine s'effectue de gauche à droite de la
chaîne).
 Le symbole d'ancrage b indique une limite de mot obligatoire, à l'endroit où il est inséré
dans le motif
 Par exemple :
 infob est vérifié par "l'info pour tous", "info-matin" mais pas par infos, informatique ...
 binfo est vérifié par "informatique","m'informer" mais pas désinformation, ..
 Les parenthèses autour de expsim sont indispensables, sinon les opérateurs de
répétition s'appliquent au dernier caractère de l'expression (il s'agit d'une question de
priorité des opérateurs ..)
 Par exemple, les motifs li(nux)* et linux* reconnaissent respectivement li, linux, linuxnux,..
et linu, linux, linuxx, linuxxx,...
 Attention, ces extensions ne sont pas toutes reconnues par l'ensemble des filtres.
Par exemple la commande grep, ne connaît pas | , ni les parenthèses
ESIC - Formation en alternance 95
 Exemples
 color|couleur réussit si l'un des motifs, soit color, soit couleur, est trouvé
 5[0-9]{2} reconnaît tout nombre de 500 à 599.
 /^(eleve|prof|stage)[3-7]/ est satisfait par les chaînes commençant par l'un des 3
mots suivis immédiatement par un numéro de 3 a 7
 comment reconnaître un mot de 6 lettres formé des lettres (cela ne vous rappelle
rien ?)
 Parenthèses de mémorisation
 La présence de parenthèses permet de mémoriser une ou plusieurs parties de
l'expression qu'elle entoure, sans modifier son interprétation. Pour rappeler ces
valeurs mémorisées, on utilise les notations 1, 2 ... qui correspondent aux valeurs
reconnues de même ordre.
 Ainsi eleve(d).+station1 sera satisfait par eleve3 au poste3 et non par eleve5 au
poste3
ESIC - Formation en alternance 96
Lexique Commandes
sommaire
 Rappel
Chercher de l'aide en ligne sur une commande
<commande> --help
Lire la page de manuel man <commande>
 Classement par thème
<ctrl>-c : abandon de la commande (exemple factor)
<alt>-Fx : basculement (ou demande de nouveau
login) sur la console ttyx (x=1 à 6)
ESIC - Formation en alternance 97
 Renseignements utilisateurs et ressources
who : liste de tous les users connectés, leur console et
l'heure de connexion
who -H : affiche les utilisateurs connectés, le N° du terminal
ttyx, et l'heure de connexion.
 whoami : l'utilisateur aux commandes
pwd : chemin courant complet
df : points de montage des systèmes de fichiers et leur
capacité disponible.
du : capacité disque en Ko utilisé pour le répertoire spécifié
et ses sous répertoires.
ESIC - Formation en alternance 98
set : liste des variables
export : listes des variables exportées, ie "globales" connues
des autres processus gestion des utilisateurs et des
permissions
adduser : commande root d'ajout d'un user
Id : numéro d'identification d'un user (le uid)
passwd : commande utilisateur de définition d'un (nouveau)
mot de passe
chmod : changer les permissions sur les fichiers (et rép.) dont
on est propriétaire (sinon : "Opération non permise")
 chmod a+x <fichier> : le propriétaire accorde des permissions
d'exécution à tous
 chmod 755 <fichier> : le propriétaire impose un masque de permission
755, il est seul à posséder le droit d'écriture.
chgrp
chown
ESIC - Formation en alternance 99
 contrôle de l'affichage des fichiers texte
 more affiche à l'écran l'entrée standard à l'écran page par page.
 less comme la commande more, et permettant des retours en arrière
 cat contaténe les fichiers spécifiés sur la sortie standard
 sort
 cut affiche des colonnes extraites du fichier spécifié, vers la sortie
standard
 wc compte les lignes , mots et caractères
 grep -n plantage faq-window95.help donne les num de lignes où
se trouve le mot dans le(s) fichier(s)
 grep -c print ~jean/perl/*.pl donne le nombre d'occurrences du
mot dans chacun des fichiers.
 grep --help pour voir les autres options
 cd = cd ~<user> aller dans le rép. personnel de l'user
 mkdir ~<user>/<nom-rép> créer un sous-rép. dans le rép. perso de
l'user
ESIC - Formation en alternance 100
cp --help : aide sur la commande copy
cp -r /mnt/floppy/monCours /home/jean/ : pour
copier toute l'arborescence A:monCours dans le rép.
personnel
rm --help : aide sur la commande
remove (attention danger !)
rm -d ~toto/essai : supprime le sous-
rép. /home/toto/essai
find
whereis : recherche des fichiers exécutables, les
sources et les pages de manuel
which : affiche les chemins d'accès d'une liste de
commandes
ESIC - Formation en alternance 101
 Processus
 ps
 pstree
 kill
 Archivage
 tar
 gzip
 Suivi des connexions
 tail -f /var/log/httpd/access_log
 affiche les dernières requêtes au serveur Apache, "en direct"
 Divers
 cal calendrier mensuel ( cal 4 1970 ; cal 2000 | less )
 date
 bc calculatrice
 factor

Contenu connexe

Tendances

Architectures distribuées
Architectures distribuéesArchitectures distribuées
Architectures distribuées
Franck SIMON
 
Tp n 4 linux
Tp n 4 linuxTp n 4 linux
Tp n 4 linux
Amir Souissi
 
Les périphériques et les supports de stockage d'un PC
Les périphériques et les supports de stockage d'un PCLes périphériques et les supports de stockage d'un PC
Les périphériques et les supports de stockage d'un PC
ATPENSC-Group
 
UML+Python
UML+PythonUML+Python
UML+Python
Sylvain Leroux
 
Python avancé : Ensemble, dictionnaire et base de données
Python avancé : Ensemble, dictionnaire et base de donnéesPython avancé : Ensemble, dictionnaire et base de données
Python avancé : Ensemble, dictionnaire et base de données
ECAM Brussels Engineering School
 
Chapitre1ordinateur et systeme d'exploitation
Chapitre1ordinateur et systeme d'exploitationChapitre1ordinateur et systeme d'exploitation
Chapitre1ordinateur et systeme d'exploitationSaad Loula
 
Manuel des TP : Atelier systèmes 2
Manuel des TP : Atelier systèmes 2Manuel des TP : Atelier systèmes 2
Manuel des TP : Atelier systèmes 2
Faycel Chaoua
 
Root file system
Root file systemRoot file system
Root file system
Bindu U
 
Windows kernel
Windows kernelWindows kernel
Windows kernel
Sisimon Soman
 
Excel : Les fonctions mathématiques
Excel : Les fonctions mathématiquesExcel : Les fonctions mathématiques
Excel : Les fonctions mathématiques
Zakariyaa AIT ELMOUDEN
 
Système d exploitation xp & 7 partie 2 module 1
Système d exploitation xp & 7 partie 2 module 1Système d exploitation xp & 7 partie 2 module 1
Système d exploitation xp & 7 partie 2 module 1
hassan II university mohammedia
 
Kernel Module Programming
Kernel Module ProgrammingKernel Module Programming
Kernel Module Programming
Saurabh Bangad
 
Ordinateur & ses constituants
Ordinateur & ses constituantsOrdinateur & ses constituants
Ordinateur & ses constituants
saidnord
 
Uml 2 pratique de la modélisation
Uml 2  pratique de la modélisationUml 2  pratique de la modélisation
Uml 2 pratique de la modélisation
Nassim Amine
 
Comprendre les scripts shell auto-extractible
Comprendre les scripts shell auto-extractibleComprendre les scripts shell auto-extractible
Comprendre les scripts shell auto-extractible
Thierry Gayet
 
Chap1: Cours en C++
Chap1: Cours en C++Chap1: Cours en C++
Chap1: Cours en C++
Aziz Darouichi
 
Groupware - github
Groupware - githubGroupware - github
Groupware - github
lucasroche-etu-univ-st-etienne
 
Linux introduction
Linux introductionLinux introduction
Linux introduction
Md. Zahid Hossain Shoeb
 
Tp n 5 linux
Tp n 5 linuxTp n 5 linux
Tp n 5 linux
Amir Souissi
 

Tendances (20)

Architectures distribuées
Architectures distribuéesArchitectures distribuées
Architectures distribuées
 
Tp n 4 linux
Tp n 4 linuxTp n 4 linux
Tp n 4 linux
 
Les périphériques et les supports de stockage d'un PC
Les périphériques et les supports de stockage d'un PCLes périphériques et les supports de stockage d'un PC
Les périphériques et les supports de stockage d'un PC
 
UML+Python
UML+PythonUML+Python
UML+Python
 
Python avancé : Ensemble, dictionnaire et base de données
Python avancé : Ensemble, dictionnaire et base de donnéesPython avancé : Ensemble, dictionnaire et base de données
Python avancé : Ensemble, dictionnaire et base de données
 
Chapitre1ordinateur et systeme d'exploitation
Chapitre1ordinateur et systeme d'exploitationChapitre1ordinateur et systeme d'exploitation
Chapitre1ordinateur et systeme d'exploitation
 
Manuel des TP : Atelier systèmes 2
Manuel des TP : Atelier systèmes 2Manuel des TP : Atelier systèmes 2
Manuel des TP : Atelier systèmes 2
 
Root file system
Root file systemRoot file system
Root file system
 
Windows kernel
Windows kernelWindows kernel
Windows kernel
 
Excel : Les fonctions mathématiques
Excel : Les fonctions mathématiquesExcel : Les fonctions mathématiques
Excel : Les fonctions mathématiques
 
Système d exploitation xp & 7 partie 2 module 1
Système d exploitation xp & 7 partie 2 module 1Système d exploitation xp & 7 partie 2 module 1
Système d exploitation xp & 7 partie 2 module 1
 
Kernel Module Programming
Kernel Module ProgrammingKernel Module Programming
Kernel Module Programming
 
Ordinateur & ses constituants
Ordinateur & ses constituantsOrdinateur & ses constituants
Ordinateur & ses constituants
 
Uml 2 pratique de la modélisation
Uml 2  pratique de la modélisationUml 2  pratique de la modélisation
Uml 2 pratique de la modélisation
 
Comprendre les scripts shell auto-extractible
Comprendre les scripts shell auto-extractibleComprendre les scripts shell auto-extractible
Comprendre les scripts shell auto-extractible
 
Correction
CorrectionCorrection
Correction
 
Chap1: Cours en C++
Chap1: Cours en C++Chap1: Cours en C++
Chap1: Cours en C++
 
Groupware - github
Groupware - githubGroupware - github
Groupware - github
 
Linux introduction
Linux introductionLinux introduction
Linux introduction
 
Tp n 5 linux
Tp n 5 linuxTp n 5 linux
Tp n 5 linux
 

Similaire à cours-Linux.PPT

Notions sur le commandes linux
Notions sur le commandes linux Notions sur le commandes linux
Notions sur le commandes linux
ImnaTech
 
Rapport des Travaux Pratiques UNIX
Rapport des Travaux Pratiques UNIXRapport des Travaux Pratiques UNIX
Rapport des Travaux Pratiques UNIX
Soukaina Boujadi
 
Cours Linux , bases de l'administration linux
Cours Linux , bases de l'administration linuxCours Linux , bases de l'administration linux
Cours Linux , bases de l'administration linux
AdiliKarim
 
Cours_Linux_S1_Partie 2.pptx
Cours_Linux_S1_Partie 2.pptxCours_Linux_S1_Partie 2.pptx
Cours_Linux_S1_Partie 2.pptx
Khalil BOUKRI
 
Tp n 3 linux
Tp n 3 linuxTp n 3 linux
Tp n 3 linux
Amir Souissi
 
les Commandes linux/Unix (giants networks)
les Commandes linux/Unix (giants networks)les Commandes linux/Unix (giants networks)
les Commandes linux/Unix (giants networks)
Souhaib El
 
Manip fichier
Manip fichierManip fichier
Manip fichier
Imane Bellali
 
Processus pére fils
Processus pére filsProcessus pére fils
Processus pére filsSelman Dridi
 
Linux_Cours.ppt
Linux_Cours.pptLinux_Cours.ppt
Linux_Cours.ppt
dallelkhezzaneint
 
s de base
s de bases de base
s de base
alimesbahi3
 
Formation Linux - Initiation
Formation Linux - InitiationFormation Linux - Initiation
Formation Linux - Initiation
robertpluss
 
Petit precis des_commandes_unix_utiles_a_ubuntu
Petit precis des_commandes_unix_utiles_a_ubuntuPetit precis des_commandes_unix_utiles_a_ubuntu
Petit precis des_commandes_unix_utiles_a_ubuntu
El7fe Eternal
 
Linux Scripting
Linux Scripting Linux Scripting
Linux Scripting
Open Source School
 
Notes de cours et tp - Administation Systèmes
Notes de cours et tp  - Administation Systèmes Notes de cours et tp  - Administation Systèmes
Notes de cours et tp - Administation Systèmes
Ikram Benabdelouahab
 
Formation Script MS-DOS.ppt
Formation Script MS-DOS.pptFormation Script MS-DOS.ppt
Formation Script MS-DOS.ppt
khezzanedallel
 
Administration systeme UNIX
Administration systeme UNIXAdministration systeme UNIX
Administration systeme UNIX
webreaker
 
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETCours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
MedBechir
 
ATELIER SYSTEME (1) FERCHICHI ABDELWAHEB
ATELIER SYSTEME (1) FERCHICHI ABDELWAHEBATELIER SYSTEME (1) FERCHICHI ABDELWAHEB
ATELIER SYSTEME (1) FERCHICHI ABDELWAHEB
Ferjani Bassem
 
Chap3 Le shell et les commandes.ffffffpptx
Chap3 Le shell et les commandes.ffffffpptxChap3 Le shell et les commandes.ffffffpptx
Chap3 Le shell et les commandes.ffffffpptx
adammoussaif360
 
Introduction aux systèmes d-exploitation (2).ppt
Introduction aux systèmes d-exploitation (2).pptIntroduction aux systèmes d-exploitation (2).ppt
Introduction aux systèmes d-exploitation (2).ppt
MahdiHERMASSI1
 

Similaire à cours-Linux.PPT (20)

Notions sur le commandes linux
Notions sur le commandes linux Notions sur le commandes linux
Notions sur le commandes linux
 
Rapport des Travaux Pratiques UNIX
Rapport des Travaux Pratiques UNIXRapport des Travaux Pratiques UNIX
Rapport des Travaux Pratiques UNIX
 
Cours Linux , bases de l'administration linux
Cours Linux , bases de l'administration linuxCours Linux , bases de l'administration linux
Cours Linux , bases de l'administration linux
 
Cours_Linux_S1_Partie 2.pptx
Cours_Linux_S1_Partie 2.pptxCours_Linux_S1_Partie 2.pptx
Cours_Linux_S1_Partie 2.pptx
 
Tp n 3 linux
Tp n 3 linuxTp n 3 linux
Tp n 3 linux
 
les Commandes linux/Unix (giants networks)
les Commandes linux/Unix (giants networks)les Commandes linux/Unix (giants networks)
les Commandes linux/Unix (giants networks)
 
Manip fichier
Manip fichierManip fichier
Manip fichier
 
Processus pére fils
Processus pére filsProcessus pére fils
Processus pére fils
 
Linux_Cours.ppt
Linux_Cours.pptLinux_Cours.ppt
Linux_Cours.ppt
 
s de base
s de bases de base
s de base
 
Formation Linux - Initiation
Formation Linux - InitiationFormation Linux - Initiation
Formation Linux - Initiation
 
Petit precis des_commandes_unix_utiles_a_ubuntu
Petit precis des_commandes_unix_utiles_a_ubuntuPetit precis des_commandes_unix_utiles_a_ubuntu
Petit precis des_commandes_unix_utiles_a_ubuntu
 
Linux Scripting
Linux Scripting Linux Scripting
Linux Scripting
 
Notes de cours et tp - Administation Systèmes
Notes de cours et tp  - Administation Systèmes Notes de cours et tp  - Administation Systèmes
Notes de cours et tp - Administation Systèmes
 
Formation Script MS-DOS.ppt
Formation Script MS-DOS.pptFormation Script MS-DOS.ppt
Formation Script MS-DOS.ppt
 
Administration systeme UNIX
Administration systeme UNIXAdministration systeme UNIX
Administration systeme UNIX
 
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETCours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
 
ATELIER SYSTEME (1) FERCHICHI ABDELWAHEB
ATELIER SYSTEME (1) FERCHICHI ABDELWAHEBATELIER SYSTEME (1) FERCHICHI ABDELWAHEB
ATELIER SYSTEME (1) FERCHICHI ABDELWAHEB
 
Chap3 Le shell et les commandes.ffffffpptx
Chap3 Le shell et les commandes.ffffffpptxChap3 Le shell et les commandes.ffffffpptx
Chap3 Le shell et les commandes.ffffffpptx
 
Introduction aux systèmes d-exploitation (2).ppt
Introduction aux systèmes d-exploitation (2).pptIntroduction aux systèmes d-exploitation (2).ppt
Introduction aux systèmes d-exploitation (2).ppt
 

cours-Linux.PPT

  • 1. Introduction à Linux ESIC Formation en Alternance Adresse : 41 Rue Périer, 92120 Montrouge Tél. : 01 46 56 69 09 email : contact@esic.fr Site : http://esic.fr/ecole_esic/ V. 1.1 Formateur Benjamin LISAN
  • 2. ESIC - Formation en alternance 2 Nous nous sommes inspiré du cours Unix de TAL ILPGA Paris 3 Qu’il soit remercié ici.
  • 3. ESIC - Formation en alternance 3 Sommaire  Préambule  Liens, ressources  Thèmes de travail Démarrer sous Linux Environnement graphique KDE Travailler sous linux Système de fichiers Commandes (part 1) et (part 2)  Autres thèmes non traités  Expressions rationnelles  Lexique commandes
  • 4. ESIC - Formation en alternance 4 Préambule (sommaire) But de cet exposé Présentation de Linux Apprentissage de base pour bien démarrer avec Linux Application et expérimentation au Labo Machines en double boot Windows/Linux (distribution Ubuntu)
  • 5. ESIC - Formation en alternance 5 Références bibliographiques sommaire Beaucoup de livres sont disponibles On peut par exemple regarder dans la collection O’REILLY « Le système linux », Matt Welsh Documentation Linux Ubuntu en ligne https://www.ubuntu-fr.org/, http://www.ubuntu.com « Le guide du rootard », Eric Dumas, disponible sur le site Linux-France : www.linux-france.org
  • 6. ESIC - Formation en alternance 6 Autres Livres Le système Linux (3ème éd), ouvrage fondamental, éditeur O'Reilly Administration réseau sous Linux, éditeur O'Reilly Linux , série "Grand livre", Micro-application Introduction à Perl, livre fondamental pour découvrir Perl, éditeur O'Reilly Logiciels libres (JP Smets-Solanes, B Faucon) Edispher
  • 7. ESIC - Formation en alternance 7 Liens, ressources sommaire  Sur la toile  Beaucoup de ressources en lignes Quelques liens : LINUX ORG : www.linux.org LINUX France : www.linux-france.org  Cours en ligne : www.ac-creteil.fr/Infolyc/linux/formation/  Vous pouvez aussi trouver beaucoup de cours dans ce répertoire Internet : http://www.doc-developpement- durable.org/file/Projets-informatiques/cours-&-manuels- informatiques/ puis aller dans le répertoire Linux : http://www.doc-developpement-durable.org/file/Projets- informatiques/cours-&-manuels-informatiques/Linux/
  • 8. ESIC - Formation en alternance 8 Thèmes de travail sommaire Démarrer sous linux Présentation générale de l ’environnement de travail L’environnement graphique KDE ou Gnome Les commandes sous Unix Droits et protection de fichier  01/03/2016
  • 9. Démarrer sous linux En passant par Lilo  sommaire
  • 10. ESIC - Formation en alternance 10 Booter sous linux sommaire Machines Labo : double boot Au démarrage des machines, exécution du chargeur de système LILO (LInux LOader) Au prompt LILO, l’activation de TABulation donne la liste des systèmes disponibles Deux systèmes coexistent : windows (par défaut) et linux Pour lancer LINUX : taper linux…
  • 11. ESIC - Formation en alternance 11 Se connecter au système La connexion au système n’est pas anonyme Il faut entrer un nom d ’utilisateur et un mot de passe Après quelques secondes l’interface graphique KDE ou Gnome installée sur nos machines apparaît
  • 12. ESIC - Formation en alternance 12 BUREAU sous Gnome
  • 13. ESIC - Formation en alternance 13 BUREAU sous Gnome
  • 14. ESIC - Formation en alternance 14 BUREAU sous KDE (Ubuntu 7.1) 4 Bureaux virtuels Console Menu K Raccourcis liens vers périphériques applications répertoire de travail partition Windows outil de configuration du système...
  • 16. ESIC - Formation en alternance 16 KDE K Desktop Environnement Gnome présente à l ’utilisateur des bureaux virtuels On trouve sur le bureau les items CDROM, FLOPPY, CORBEILLE… Sous la lettre K (en bas, à gauche) Accès au menu permettant de lancer les programmes disponibles
  • 17. ESIC - Formation en alternance 17 Premières manipulations Parcourir la documentation (Help) dans le menu Explorer le bureau Ouvrir une console : utiliser les commandes connues « ls, cd… »
  • 18. ESIC - Formation en alternance 18 L ’explorateur KFM Pour le démarrer Icône sur le bureau (accès répertoire perso/home) Dans le menu K : Disk Navigator Outil de navigation et de gestion de ressources locales (fichiers) Il gère l ’affichage des documents HTML
  • 19. ESIC - Formation en alternance 19
  • 20. ESIC - Formation en alternance 20 Applications sous Gnome Outils d’archivage, de communications, de développement, fichiers éditeurs ... et shells.
  • 21. ESIC - Formation en alternance 21 Manipulations Parcourir les applications Démarrer Emacs... Essayer plusieurs applications… toutes ne sont pas disponibles malheureusement
  • 22. ESIC - Formation en alternance 22 La console (notre outil favori…) La console permet de passer des commandes unix Tester les commandes : pwd, who, ls, echo test, echo $PATH, date faire un man de ces commandes pour avoir de l ’aide Créer (avec la commande mkdir) votre répertoire de travail (avec votre nom) dans le répertoire /home/etudiant, sauvegarder dans ce répertoire la page d ’index du site TAL
  • 23. Les commandes UNIX Travailler en ligne de commandes (partie 1)  sommaire
  • 24. ESIC - Formation en alternance 24 Syntaxe générale sommaire commande [options] paramètres En général, les options sont précédées du symbole - et peuvent être groupées ps -ae ls -l /home/etudiant/ Les paramètres précisent les fichiers concernés IMPORTANT : A l ’AIDE… commande --help man commande
  • 25. ESIC - Formation en alternance 25 Les options Comparer les effets de : ls ls -l liste avec les attributs des fichiers ls -a liste complète, y compris les fichiers cachés, qui commencent par un point ls -la ls -R liste "récursive" des contenus des sous-rép. ls --help man ls
  • 26. ESIC - Formation en alternance 26 Historique des commandes les touches flèches haut et bas permettent de parcourir les dernières commandes de l'utilisateur Elles sont stockées dans le répertoire personnel dans le fichier /home/utilisateur/.bash_history
  • 27. ESIC - Formation en alternance 27 Pour commencer... Un exemple pour illustrer la « puissance » des commandes unix pour écrire de telles commandes, il faut : connaître « l ’ existence des commandes » cf infra et ( lecture poly, documentation unix...)  choisir les bonnes commandes... connaître les mécanismes d ’enchaînements de commandes sous unix, de redirection de flux…(cf infra, lecture poly) « se renseigner » sur les commandes (man) tester, re-tester et re-tester encore
  • 28. ESIC - Formation en alternance 28 Manipulation de fichiers touch file1 file2 crée les 2 fichiers vides Pour consulter un fichier texte, commandes cat (texte court) ou less (texte long) ou more tester ces commandes sur 1 fichier de votre choix sous X-KDE l'éditeur kedit est appelé quand on ouvre un fichier texte dans l'explorateur kfm On utilisera aussi Emacs
  • 29. ESIC - Formation en alternance 29 Gestion de fichiers (1) cp (copy, copier fichiers et répertoires) cp [option] source destination copie d'un seul fichier, en précisant le chemin et le nom du fichier destination cp [option] rep-source rep-cible copie l'ensemble des fichiers dans le rép. spécifié, en gardant les noms
  • 30. ESIC - Formation en alternance 30  Principales options : -R recopie récursive, permet de copier toute une arborescence -i avertit l'utilisateur de l'existence d'un fichier du même nom et lui demande s'il veut le remplacer -p effectue une copie en gardant le propriétaire et le groupe d'origine -v affiche en clair le nom des fichiers copiés
  • 31. ESIC - Formation en alternance 31 Gestion de fichiers (2) rm (remove, supprimer des fichiers)  rm [option] fichiers  L'option -i a été ajoutée d'office dans un alias pour demander confirmation à l'utilisateur, pour chaque fichier.  Options  -r : permet de supprimer un répertoire et ses sous répertoires (attention TRÈS dangereux)  -f (force) : permet de supprimer les fichiers protégés en écriture sans demande de confirmation. Cela permet d'inhiber l'option -i et de gagner du temps .. sauf dégâts !
  • 32. ESIC - Formation en alternance 32 Gestion de fichiers (3) mv (move, renommer ou déplacer) mv [option] source destination renomme simplement le fichier source, ce qui est un simple changement de nom (de chemin)... mv toto titi mv [option] fichiers répertoire déplace les fichiers sources dans le répertoire, en gardant les noms. mv /home/jean/images/*.jpg /tmp/
  • 33. ESIC - Formation en alternance 33  Principales options : -b (b=backup) : effectue une sauvegarde des fichiers avant de les déplacer. La copie porte le même nom suivi d'un tilde -i (i=interactive) : demande confirmation avant pour chaque fichier -u (u=update) : pour ne pas supprimer le fichier si sa date de modification est postérieure à celle du fichier remplaçant
  • 34. ESIC - Formation en alternance 34 Exercice Localisez l ’archive CORPUS sur le CD TAL dans le répertoire cours2002-2003 Décompressez cette archive (commande unzip) dans un nouveau répertoire (commande mkdir) de votre répertoire personnel nommé MesCorpus Utiliser la commande wc sur ces corpus
  • 35. ESIC - Formation en alternance 35 Gestion de processus (21.11)  La commande ps permet de connaître les processus actifs à un moment donné, associés à un terminal et lancés par l'utilisateur courant. Pour obtenir tous les processus, y compris ceux lancés par le système et connaître l'utilisateur associé à chacun on ajoute l'option aux. kill num-pid  pour arrêter un programme kill -9 num-pid  pour le "tuer", s'il ne répond plus (le programme, pas le système)
  • 36. ESIC - Formation en alternance 36 Description des colonnes de la commande ps aux : "USER" à quel utilisateur appartient le processus. "PID" est le numéro qui identifie le processus "%CPU" en % les ressources du microprocesseur utilisées par le processus. "%MEM" en % les ressources en mémoire vive utilisées par le processus. "RSS" mémoire réellement utilisée en ko par le processus. "START" l'heure à laquelle le processus a été lancé.
  • 37. Commandes « textUtils » Ressources « textutils » disponibles en ligne :  http://www.gnu.org/manual/textutils/html_node/textutils.html  (envoi par mail sur demande) Lecture obligatoire...
  • 38. ESIC - Formation en alternance 38 Un exemple concret…(1) Fichier de travail : la version « tableur » du corpus Prématurés Rappel : dans ce fichier chaque ligne est décrite de la manière suivante (chaque champ est délimité par une tabulation) : n° fiche texte n° fiche complément texte n° fiche age en h age en j terme en sem mode accoucht lieu heure saisie code inf poids (g) sédation freq visit parents relat inf/par relat mère/bb occup bb Pntic moral score med
  • 39. ESIC - Formation en alternance 39 Un exemple concret… (2a) Problème : extraire les zones textuelles correspondant à l ’infirmière n°1 et contenant le mot « contact » Solution : une seule (ligne de) commande (affichage texte + n° infirmière) cut -f2,4,9 p96.fic | egrep ‘ contact ’ | egrep ‘ 1$ ’ (pour ne garder que le texte) cut -f2,4,9 p96.fic | egrep ‘ contact ’ | egrep ‘ 1$ ’ | cut -f1
  • 40. ESIC - Formation en alternance 40 Un exemple concret… (2b) Problème : extraire le premier mot des zones textuelles correspondant à l ’infirmière n°1, en faire le tri et les compter Solution : une seule (ligne de) commande (tri seul) cut -f2,9 p96.fic | egrep ‘ 1$ ’ | cut -f1 | tr ‘ ‘ ‘ # ’ | cut -f3,4 -d# | sed -e s/^-#// | cut -f1 -d# | tr ‘ . ’ ‘ # ’ | tr ‘ , ’ ‘ # ’ | cut -f1 -d# | sort -u (comptage) cut -f2,9 p96.fic | egrep ‘ 1$ ’ | cut -f1 | tr ‘ ‘ ‘ # ’ | cut -f3,4 -d# | sed -e s/^-#// | cut -f1 -d# | tr ‘ . ’ ‘ # ’ | tr ‘ , ’ ‘ # ’ | cut -f1 -d# | sort -u | wc -w
  • 41. ESIC - Formation en alternance 41 Commandes (utiles)  wc  wc counts the number of bytes, whitespace-separated words, and newlines in each given file, or standard input if none are given or for a file of `-'. Synopsis:  wc [option]... [file]...  sort (ex en suivant le lien)  tri  sort sorts, merges, or compares all the lines from the given files, or standard input if none are given or for a file of `-'. By default, sort writes the results to standard output. Synopsis:  sort [option]... [file]...  more, less  pagination  head, tail  pagination partielle (début et fin de fichier)
  • 42. ESIC - Formation en alternance 42 grep, egrep  recherche de motifs dans un fichier texte (rappels infra) cut (ex en suivant le lien)  effectue la projection d'un fichier selon une colonne  cut writes to standard output selected parts of each line of each input file, or standard input if no files are given or for a file name of `-'. Synopsis:  cut [option]... [file]... tr (ex en suivant le lien)  effectue des remplacements de caractères  tr [option]... set1 [set2]  tr copies standard input to standard output, performing one of the following operations:  translate, and optionally squeeze repeated characters in the result,  squeeze repeated characters,  delete characters,  delete characters, then squeeze repeated characters from the result.
  • 43. ESIC - Formation en alternance 43 Text-utils exemples On commencera par lire la documentation text-utils On lira aussi les exemples concrets donnés dans les documents : TextUtils-Linux/textutils_46.html TextUtils-Linux/textutils_47.html TextUtils-Linux/textutils_48.html TextUtils-Linux/textutils_49.html TextUtils-Linux/textutils_50.html TextUtils-Linux/textutils_51.html TextUtils-Linux/textutils_52.html
  • 44. ESIC - Formation en alternance 44 Text-utils exemples Faire un « man » de toutes les commandes, puis les testez (avec les différentes options) sur vos corpus de travail ,Lectures obligatoires : Output of entire files Formatting file contents Summarizing files Operating on sorted files
  • 45. ESIC - Formation en alternance 45 Manipulation de fichiers Rappels : Expressions régulières Rappels : egrep Rappels : Emacs
  • 47. ESIC - Formation en alternance 47 Système de fichiers  Un système de fichiers est une façon d'organiser et de stocker une arborescence sur un support (disque, disquette, cd ...). Chaque OS propriétaire a développé sa propre organisation.  On peut faire cohabiter plusieurs systèmes dans des partitions d'un même disque.  Linux possède son système appelé ext2 mais peut en gérer d'autres.  La liste en est donnée dans /proc/filesystems
  • 48. ESIC - Formation en alternance 48  L'utilisateur peut donc accéder sous Linux à d'autres systèmes de fichiers, comme DOS, Vfat,..provenant d'un périphérique ou importé par le réseau.  Comme pour l'utilisateur tout est fichier, ces systèmes extérieurs doivent être intégrés dans l'arborescence Linux.  Le processus de montage, avec sa commande mount en est le moyen : il permet d'affecter ce système extérieur (partition sur un disque, disquette, cdrom, dk zip, répertoire réseau ...) à un répertoire créé pour cela dans d'arborescence. Il suffira ensuite de se déplacer à ce répertoire, appelé point de montage, en fait un répertoire "d'accrochage", pour accéder à ses fichiers (bien sûr, conformément aux permissions que possède l'utilisateur, )
  • 49. ESIC - Formation en alternance 49 Les différents fichiers  fichiers normaux texte : courrier, sources des programmes, scripts, configuration ...  exécutables : programmes en code binaire  fichiers répertoires ce sont des fichiers conteneurs qui contiennent des références à d'autres fichiers. véritable charpente de l'arborescence, ils permettent d'organiser les fichiers par catégories
  • 50. ESIC - Formation en alternance 50  fichiers spéciaux situés dans /dev, ce sont les points d'accès préparés par le système aux périphériques. Le montage va réaliser une correspondance de ces fichiers spéciaux vers leur répertoire "point de montage". par exemple, le fichier /dev/hda permet l'accès et le chargement du 1er disque IDE  fichiers « liens symboliques » Ce sont des fichiers qui ne contiennent qu'une référence (un pointeur) à un autre fichier. Cela permet d'utiliser un même fichier sous plusieurs noms sans avoir à le dupliquer sur le disque.
  • 51. ESIC - Formation en alternance 51 Arborescence du système Linux  La racine est le sommet de la hiérarchie des répertoires.  Il s'agit d'une arborescence logique, indépendante de l'implantation physique des divers sous-répertoires, qui peut s'étendre sur plusieurs partitions incluses sur un ou plusieurs disques, et même sur des disques réseaux.  Sa structure est standard, avec des extensions imposées par les distributions.  Toute modification est de la compétence exclusive de l'administrateur, à l'exception des répertoires personnels situés dans /home.  Il est recommandé de respecter cette architecture standard.
  • 52. ESIC - Formation en alternance 52 Liste et rôle des répertoires principaux  / le répertoire racine /bin les fichiers exécutables (en binaire) (initialisation du système + commandes "essentielles") /boot le noyau vmlinuz et les fichiers de démarrage /dev répertoire de fichiers spéciaux, qui servent de canaux de communication avec les périphériques (disques, adaptateur réseau, cartes son etc...) /etc les fichiers de configuration du système et les principaux scripts de paramétrage /etc/rc.d scripts de démarrage du système /etc/X11 scripts de configuration du serveur X /etc/sysconfig configuration des périphériques /etc/cron description des tâches périodiques à effectuer /etc/skel fichiers recopiés dans le rép. personnel à la création d'un utilisateur
  • 53. ESIC - Formation en alternance 53 /home la racine des répertoires personnels des utilisateurs /lib les bibliothèques et les modules du noyau /mnt la racine des points de montage des systèmes de fichiers périphériques ou extérieurs (cd, disquette, nfs ..). /opt lieu d'installation d'applications supplémentaires (comme starOffice, java ..) /root répertoire personnel du super-utilisateur root /sbin les fichiers exécutables pour l'administration du système /tmp stockage des fichiers temporaires /usr programmes accessibles à tout utilisateur; sa structure reproduit celle de la racine / /var données variables liées à la machine (fichiers d'impression, traces de connexions http, smb .. dans /var/log) /proc ce pseudo-répertoire contient une "image" du système
  • 55. ESIC - Formation en alternance 55 Permissions d'accès aux fichiers  Tout fichier du système appartient à la fois à un utilisateur (son "propriétaire") et à un groupe.  Ainsi, pour chaque fichier le monde de ses utilisateurs potentiels est scindé en 3 catégories, nommées :  u, l'utilisateur normal, son propriétaire, bien souvent son créateur, qui n'a pas pour autant tous les droits sur lui !  g, son groupe, ensemble d'utilisateurs ayant parfois des "permissions" particulières.  o, tous les (others) autres.
  • 56. ESIC - Formation en alternance 56  Attention, l'utilisateur propriétaire et le groupe propriétaire du fichier peuvent être indépendants :  le groupe propriétaire n'est pas forcément le groupe primaire de l'utilisateur propriétaire,  et même, le propriétaire n'est pas forcément membre du groupe !  Mais (heureusement) une règle générale simple s'applique à la création de tout nouveau fichier (ou répertoire)  son propriétaire est l'utilisateur (humain ou système) qui l'a créé  son groupe est le groupe primaire de ce même utilisateur
  • 57. ESIC - Formation en alternance 57  Droits d'accès des utilisateurs aux fichiers  Linux permet de spécifier les droits d'action sur un fichier, que peuvent exercer les utilisateurs des 3 catégories précédentes, ou plutôt les permissions que leurs accordent les fichiers et les répertoires.  Linux a repris les 3 protections d'UNIX sur les fichiers et les répertoires. Leur notation symbolique est : r, lecture w, écriture x, exécution  De façon générale, ces permissions sont consultables complètement par la commande : ls -l
  • 58. ESIC - Formation en alternance 58  Par exemple :  ls -l *.html -rw-r--r-- 1 fleury fleury 1200 oct 19 12 : 39 amoi.html  Description globale  On trouve de gauche à droite  le 1er caractère indique la nature du fichier  "-" fichier normal, "d" un fichier répertoire, "l" un lien.
  • 59. ESIC - Formation en alternance 59  le système de droits est spécifié symboliquement par les 9 attributs suivants, correspondants aux 3 catégories du fichier. ...|...|... u g o  La section u fixe les droits accordés au propriétaire du fichier.  La section g fixe les droits accordés aux utilisateurs faisant partie du groupe auquel appartient le fichier.  La section o fixe les droits des autres utilisateurs.  nombre de liens sur le fichier  1 signifie que le fichier n'a aucun lien qui pointe vers lui, 2 (ou plus) signifiant qu'il existe un lien (ou plus) vers lui.  le nom du propriétaire du fichier  le nom du groupe propriétaire  la date de dernière modification  le nom complet du fichier
  • 60. ESIC - Formation en alternance 60  Les permissions d'un fichier normal  Pour chaque fichier, les utilisateurs sont ainsi séparés en 3 catégories, le propriétaire, les membres du groupe et tous les autres.  Les permissions accordées par le fichier à ces catégories sont complètement indépendantes mais leur signification est la même.  Vis à vis de chacune de ces 3 catégories, on trouve dans l'ordre : le droit de lecture , afficher son contenu --> "r" si permis , "-" si refusé le droit d'écriture , modifier son contenu --> "w" si permis , "-" si refusé le droit d'exécution , pour un fichier script ou binaire --> "x" si permis , "-" si refusé
  • 61. ESIC - Formation en alternance 61  Exemples :  Le fichier de démarrage /etc/rc.d/rc.sysinit possède les droits rwx r-x r-x  Tous les utilisateurs ont donc le droit de lire et d'exécuter ce fichier (ce qui est à éviter); seul root peut le modifier  La table de montage /etc/fstab : rw-r--r-- peut être lu par tous, modifiée uniquement par root  Afficher toutes les infos sur un fichier  La commande stat permet d'obtenir une information plus poussée sur un fichier.  Exemple : stat /etc/passwd
  • 62. ESIC - Formation en alternance 62  Les permissions des répertoires  Pour les fichiers de type répertoire, la signification des attributs est différente de celle d'un fichier normal.  Mais elle est toujours identique pour les 3 catégories d'utilisateurs du répertoire.  La présence d'un tiret "-" signifie toujours l'absence de droit  r : lire le contenu, droit d'afficher la liste des fichiers ( avec ls ou dir)  w : modifier le contenu : droits d'ajouter et de supprimer des fichiers (avec cp, mv, rm)  x : droit d'accéder aux fichiers du répertoire et de se déplacer à l'intérieur (avec cd)  En général, si on attribue w, il faut attribuer aussi x sur un répertoire.  Exemples :  Passer les commandes cd / puis ls -l, pour lister les répertoires situés à la racine.  A qui appartiennent-ils ? Un user quelconque peut-il y créer des sous- répertoire ?  Commenter les 2 cas particuliers /root et /tmp
  • 63. ESIC - Formation en alternance 63 Changements des droits  De façon générale, l'utilisateur qui crée un fichier en devient le propriétaire, et le groupe auquel l'utilisateur appartient (au moment de la création) devient le groupe du fichier.  Mais les droits accordés au proprio, au groupe et aux autres dépend du processus qui a créé le fichier.  D'autre part l'administrateur peut être amené à effectuer des changement de propriété (par exemple pour permettre un travail en groupe) et des changements de droits sur des ensembles de fichiers et de répertoires , les étendre ou les restreindre.
  • 64. ESIC - Formation en alternance 64  Changer le propriétaire d'un ensemble de fichiers ou de rép  chown [-R] new-user arborescence  L'option -R (récursif) permet d'agir sur l'ensemble des sous-répertoires.  Exemple : chown stage4 /home/stage1/*  Changer le groupe propriétaire  Ceci doit être effectué par root ou le propriétaire, à condition que celui-ci soit membre du nouveau groupe.  chgrp new-groupe fichiers  chgrp stage4 /home/stage1/*  changer les 2 en même temps  chown new-user.new-groupe fichiers  change l'user et le groupe des fichiers chown new-user.fichiers  dans ce cas, le groupe est le groupe primaire du nouveau propriétaire.
  • 65. ESIC - Formation en alternance 65  Changer les permissions sur les fichiers (effectué par root ou le propriétaire)  chmod droits fichiers  La commande chmod (change mode, change le "mode" des fichiers) peut s'écrire de plusieurs façons équivalentes. L'attribut droits permet de calculer les nouvelles permissions.  Celles-ci peuvent s'obtenir de façon relative, par ajout ou retrait par rapports aux droits existants ou bien de façon absolue, en fixant les nouveaux droits (qui remplacent les anciens).  Ajout, retrait ou fixation des permissions  Pour chaque fichier, on désigne par :  u, g et o les 3 catégories d'utilisateurs (user, group, other) plus a (=all) désignant tous  r,w,x les 3 attributs de ce fichier pour chaque catégorie.  + - = l'action d'ajouter, de retirer ou de fixer un droit s'appliquant à une catégorie  les changements sont alors de la forme "qui comment quoi" notés : [u g o a] [+ - =] [r w x]  par exemple chmod u+x fichier signifie "ajouter le droit d'exécution au propriétaire du fichier"
  • 66. ESIC - Formation en alternance 66  Notation relative (aux droits existants)  chmod [-R] <action-droits> fichiers  L'option -R (récursif) permet de modifier les permissions de tous les sous- répertoires.  exemple : chmod [-R] go-rwx /home/toto enlève tous les permissions d'accès des fichiers du rép. personnel de toto (et des sous-rép.), à tous sauf au propriétaire, c'est-à-dire toto.  Notation absolue  Pour chaque groupe, elle permet de fixer les nouveaux droits qui remplacent les anciens. Si une catégorie n'est pas présente, ses anciens droits s'appliquent.  chmod u=rwx,g=rw,o=r fichiers remplace les permissions précédentes des fichiers, en les fixant à -rwxrw-r--  Attention : aucun espace dans la liste des droits, pas même autour des éventuelles virgules  chmod u=rwx,g=r fichiers fixe les permissions à -rwxr--??? en ne changeant pas les permissions précédentes du groupe other  chmod u=rwx,g=r,o= fichiers fixe les permissions à -rwxr-----
  • 67. Travail sous la fenêtre de commandes sommaire
  • 68. ESIC - Formation en alternance 68 Le shell  Un interpréteur de commandes (on dit aussi le "shell", c ’est à dire la coquille qui entoure le "noyau" du système) est un programme qui sert d'intermédiaire entre l'utilisateur et le système d'exploitation.  Sa tâche essentielle est l'exécution de programmes.  Pour cela, il effectue (en boucle infinie) :  la lecture d'une ligne  sa compréhension comme une demande d'exécution d'un programme avec d'éventuels paramètres.  le lancement de ce programme avec passage des paramètres  d'éventuelles redirections d'entrées-sorties  les exécutions de scripts (fichiers de commandes)
  • 69. 69  Démarrage du shell  Lors de la création de son compte, un utilisateur est associé à un type de shell  Lire le fichier /etc/passwd : le dernier champ contient le nom du fichier exécutable (shell par défaut) /bin/bash  Le shell associé est ainsi lancé automatiquement dès la saisie du login utilisateur.  Il poursuit sa configuration en exécutant les scripts "profils"  Enfin, il affiche le prompt et se met en attente de la lecture d'une commande.  Jusqu'à la commande exit, pour quitter le shell (ce qui équivaut à se déconnecter (logout))  1. /etc/profile communs à tous les users y compris root  Notamment, on y trouve la définition du prompt  2. le fichier $HOME/.bash_profile, s'il existe (sinon le fichier $HOME/.bash_login)  3. /etc/bashrc définition des alias globaux  4. $HOME/.bashrc, s'il existe ESIC - Formation en alternance
  • 70. ESIC - Formation en alternance 70  Personnalisation des commandes bash  /etc/bashrc est le dernier script d'initialisation du shell bash.  Il contient des alias redéfinissables ou à compléter par l'utilisateur root.  Il suffit donc d'éditer et de compléter le fichier par défaut  par exemple :  # vi /etc/bashrc alias l=""ls --color=tty -F -b -T 0" alias ll="l -l" alias lp="ll | more" alias la="ll -a" alias x="startx" alias m="mc -c"  :wq (pour écrire dans le fichier et quitter vi)  Puis se reloguer (exit) pour relancer l'interpréteur du shell.
  • 71. ESIC - Formation en alternance 71  Les variables d'environnement système  La liste en est accessible par la commande : env  La commande echo permet d'obtenir la valeur d'une telle variable.  Par exemple : echo $PATH, echo $USER  Ajout d'un nouveau chemin : attention à ne pas écraser la liste des chemins existants (PATH en majuscules !  PATH="$PATH:/home/jean" pour ajouter le chemin rép.personnel  (Attention ! pas d'espace autour du symbole =)  PATH="$PATH :./" pour ajouter le répertoire courant (non présent par défaut)  La variable $HOME contient le chemin du rép. personnel.  La commande cd $HOME est abrégée en cd  La variable $USER contient le nom de l'utilisateur  $SHLVL donne le niveau du shell courant
  • 72. ESIC - Formation en alternance 72  Facilités de saisie des commandes  Comme les commandes Unix sont souvent longues à saisir, diverses facilités sont offertes :  Historique des commandes  Cette liste numérotée est accessible en tapant history | less  Pour relancer la commande n, saisir (sans espace)!n  On peut aussi parcourir les précédentes lignes de commandes avec les flèches (comme doskey) et les éditer.  Ceci permet très facilement de reprendre une précédente commande pour l'éditer et la modifier.  Le clic-droit  Dans un terminal console, sélectionner un texte puis cliquer-droit dessus, recopie ce texte sur la ligne de commande  Ceci est particulièrement utile pour lancer des commandes.
  • 73. ESIC - Formation en alternance 73  L'opérateur tilde  Le caractère tilde ~ (alt 126) seul renvoie au rép. personnel de l'utilisateur actuel.  Si l'user actif est toto, chaque occurrence du caractère ~ est remplacé par le chemin /home/toto  Le tilde ~ suivi d'un nom d'user, par ex jean, renvoie au rép. personnel de jean, c-à-d /home/jean  Ainsi la commande de toto : cd ~stagiaire3 le déplace dans le rép. /home/stagiaire3, mais ce qu'il pouvoir y faire dépend de ses permissions (est-il un "other" ? un membre du groupe ?)  Très utile pour l'administrateur root qui peut ainsi aller rapidement voir le rép. perso de toto et faire le "ménage"  cd ~toto  rm -r photos
  • 74. ESIC - Formation en alternance 74 Compléter une commande Lorsqu'on tape une commande en ligne la touche TAB, l'interpréteur cherche à compléter le nom du fichier. home/toto ]$ less /etc/fs TAB S'il y a plusieurs propositions, il y a attente d'un complément d'info de la part de l'utilisateur (avec un "tut"). Un autre TAB et l'interpréteur affiche toutes les possibilités ou en indique le nombre, s'il y en a beaucoup !
  • 75. ESIC - Formation en alternance 75 Les méta-caractères de la ligne de commande  Travailler avec le shell nécessite souvent de manipuler des ensembles de fichiers. L'utilisation de caractères spéciaux (appelés aussi méta- caractères) dans les noms de fichiers, permet de générer des modèles pour désigner ces ensembles.  Il existe trois constructeurs de modèles *, ? et [].  Modèle Signification  * remplace une chaîne de longueur qcq, même vide  ? remplace un seul caractère qcq  [ ] un caractère qcq de la liste ou de l'intervalle  [^ ] n'importe quel caractère sauf ceux de la liste  Attention ! en raison de certaines ressemblances, ne pas confondre ces constructeurs d'ensembles de fichiers avec les expressions rationnelles
  • 76. ESIC - Formation en alternance 76  Un modèle de la forme X*Y où X et Y sont 2 chaînes quelconques, éventuellement vides, désigne l'ensemble des noms de fichiers de la forme XZY où Z est une chaîne quelconque elle aussi éventuellement vide.  ? remplace un et un seul caractère Exemples ll /*/*.d tous les fichiers (et rép) d'un sous-rép de / qui se terminent par .d ll -d /home/* tous les sous-répertoires de /home rm * attention ! commande dangereuse, supprime tout le rép courant ! cp *.? /home/toto cp /home/stage? /root/tmp  Le modèle [] permet de sélectionner un élément de la liste ou de l'intervalle spécifié.
  • 77. ESIC - Formation en alternance 77  Le séparateur de la liste est l'espace. Aucun espace ne doit être mis au début ou à la fin entre [ ]  Plus précisément, un modèle de la forme X [abc...z ]Y où X et Y peuvent être vides, désigne l'ensemble des noms de fichiers suivants: XaY, XbY ... XzY.  Dans le cas où l'ensemble des caractères abc ...z forment une série ordonnée, on peut utiliser la notation intervalle a-z.  On peut mélanger les deux notations, comme dans [a-z].[0-9], ensemble des fichiers a.0, a.1, .., b.0 b.1 etc ...  Quelques exemples :  ll a*  ll [a-d A-D]* liste les fichiers du rép. courant dont le nom commence par a, b, c ou d minuscule ou majuscule (y compris les sous-rép.)  cp ventes1[00-50].xls /home/toto/bilan copie tous les fichiers ventes100.xls jusqu'à ventes150.xls  lpr ~toto/formation/plan[93 94 77].html imprime les 3 fichiers plan93.html, plan94.html, ..
  • 78. ESIC - Formation en alternance 78  Analyse de la ligne de commande  Valeur de retour d'une commande  Chaque commande transmet au programme appelant un code, appelée valeur de retour (exit status) qui stipule la manière dont son exécution s'est déroulée.  Par convention du shell BASH, la valeur de retour est toujours 0 si la commande s'est déroulée correctement, sans erreur (attention, c'est l'inverse du langage C !)  Une valeur de retour différente de 0 signale donc une erreur, qui peut être éventuellement analysée selon cette valeur.  Un variable système spéciale $? contient toujours la valeur de retour de la précédente commande. On peut afficher cette valeur avec la commande echo
  • 79. ESIC - Formation en alternance 79  Enchainement des commandes une ligne de commande est une phrase composée de mots séparés par des espaces : le premier mot est considéré comme le nom d'une commande et le shell cherche à l'exécuter; les mots suivants sont des options ou paramètres de cette commande.  Pour inhiber cette interprétation des espaces, il faut entourer le groupe de mots de quotes ou de guillemets , ce groupe sera alors interprété comme un seul paramètre.  Exemple : recherche de la chaîne jules toto (qui constitue un seul paramètre) sur les lignes de /etc/passwd (l'option -i pour s'affranchir de la casse) grep -i "jules toto" /etc/passwd
  • 80. ESIC - Formation en alternance 80  En général, on place une commande par ligne que ce soit en ligne de commande ou dans un script  Le point-virgule « ; » joue le rôle de séparateur de séquence inconditionnel  Il permet ainsi d'écrire une séquence de plusieurs commandes sur une même ligne.  Toutes les commandes sont inconditionnellement exécutées (même si l'une d'entre elle provoque une erreur), et leur résultats respectifs sont envoyés sur la sortie standard, séparés par un retour à la ligne "n".  On peut connaître la valeur de retour de chacune en interrogeant la variable $?
  • 81. ESIC - Formation en alternance 81  Enchainement conditionnels des commandes  Les séparateurs && et || sur la ligne de commande sont des séparateurs qui jouent les rôles d'opérateurs conditionnels, en ce sens que la 2ème commande sera exécutée en fonction du code de retour de la 1ère commande.  Dans la séquence : commande1 && commande2  commande2 ne sera exécutée que si le code retour de commande1 est 0 (exécution correcte)  Dans la séquence : commande1 || commande2  commande2 ne sera exécutée que si le code de retour de commande1 est différent de 0 (exécution erronée)  Exemple : tester la commande cd ~/tmp || mkdir $HOME/tmp
  • 82. ESIC - Formation en alternance 82  Redirections des entrées-sorties  Toutes les commandes (du noyau, du shell et créées par le programmeur) sont dotées par le système de 3 canaux de communication :  entrée standard (stdin=standard input) pour lire des données,  la sortie standard (stdout) pour envoyer des résultats  et la sortie des erreurs (stderr).  Par défaut les canaux d'entrées et de sorties communiquent avec le clavier et l'écran : les commandes et les programmes qui ont besoin de données les attendent en provenance du clavier et expédient leurs résultats pour affichage sur le moniteur.
  • 83. ESIC - Formation en alternance 83 Il est possible de les détourner pour les rediriger vers des fichiers ou même vers les entrées-sorties d'autres commandes Les symboles utilisées sont : < redirection de l'entrée standard à partir d'un fichier (et non depuis le clavier) > redirection de la sortie standard en direction d'un fichier (et non vers l'écran clavier) Attention ! Le fichier est créé .. et écrase sans préavis le fichier existant portant le même nom
  • 84. ESIC - Formation en alternance 84  >> redirection de la sortie standard à la fin du fichier s'il existe déjà  | (= alt 124) enchaînement de commandes (appelé aussi tube ou pipe)  la sortie de la commande gauche est envoyée en entrée de la commande droite  Fréquemment utilisé avec less (ou more) pour examiner l'affichage sur le moniteur  La valeur de retour est celle de la dernière commande.  Tester  ls -l | less
  • 85. ESIC - Formation en alternance 85  Substitution de commande  Ce procédé permet de substituer au texte d'une commande le résultat de son exécution qui est envoyé sur la sortie standard  La commande simple ou complexe (avec redirections, tubes ) doit être entourée de l''opérateur antiquote ` Alt-Gr7 ou être placée dans un parenthèsage précédé de $(...). D'une manière générale, il est recommandé d'entourer l'expression de ""  Exemple :  echo "`whoami`, nous sommes le `date` "  echo "$(whoami), nous sommes le $(date) "  Comparer :  pwd  echo pwd  echo `pwd`  echo "Il y a `ls | wc -l ` fichiers dans `pwd` "
  • 86. ESIC - Formation en alternance 86  tr 'A-Z' 'a-z' traduit chaque caractère majuscule reçu sur son entrée en l'équivalent minuscule .  Tester :  echo -n "Votre mot de passe ?  read mdp  mdp = $(echo $mdp | tr 'A-Z' 'a-z')  Les substitutions de commande peuvent être imbriquées.  Attention à bien placer les " ".  Exemple :  echo "Nombre de fichiers du répertoire personnel : $( ls -l $( pwd ))" | less  Si on connait grep et cut, quelle est la signification de :  nom=toto  numero=$(cat /etc/passwd | grep -wi "^$nom" | cut -d: -f3)
  • 87. ESIC - Formation en alternance 87 Expressions rationnelles sommaire  Introduction  Le livre de référence utilisé : Introduction à PERL (O'Reilly)  Les expressions rationnelles (ou régulières) sont des critères ou modèles de recherche (pattern) dans les chaînes de caractères. Les objectifs peuvent être simplement de sélectionner suivant ce critère, ou d'effectuer des traitements comme des substitutions sur les chaînes trouvées.  Leur utilisation s'étend de certains filtres shell : grep, sed, awk, vi , emacs .. à des langages de scripts : perl, php .. et aux éditeurs de texte : vi , emacs  Attention ! certains caractères spéciaux sont communs avec les caractères génériques de désignation de fichiers, mais ils ont une interprétation différente. Donc il faut toujours prêter attention au contexte
  • 88. ESIC - Formation en alternance 88  Quelques exemples avec grep  grep abc fichier recherche la chaînes abc dans toutes les lignes du fichier. Les lignes trouvées sont envoyées sur la sortie standard, éventuellement redirigée.  grep " " fichier recherche les lignes qui contiennent un (et un seul) espace entre 2 mots  grep "ab*c" fichier, idem avec 0 ou plusieurs occurrences de la lettre b  grep "^s.*n$" fichier, reconnaît les lignes débutant par s (^s), finissant par n (n$), avec éventuellement des caractères (quelconques) intermédiaires (.*)  grep "^[a-zA-Z][a-zA-Z0-9]*" [a-f]*.txt recherche les chaînes commençant par une lettre suivie d'un nombre qcq de caractères alphanumériques, dans tous les fichiers dont les noms débutent par une lettre de a à f avec une extension .txt
  • 89. ESIC - Formation en alternance 89  Les méta-caractères  Appelés aussi caractères spéciaux, ce sont des caractères interprétés en contexte expression rationnelle comme des opérateurs.  En voici la liste avec un bref descriptif :  . (point) représente un caractère qcq, sauf n  * (astérisque) répétition du caractère précédent  + au moins une occurrence de l'expression régulière  ? au plus une occurrence de l'expression régulière  [...] (crochets) l'un des caractères de l'ensemble.  [^..] en début de crochets recherche dans le complémentaire de l'ensemble  ^ recherche en début de ligne  $ recherche en fin de ligne  annule le rôle de méta-caractère, pour jouer le rôle du caractère usuel  {n,m} indique le nombre de répétitions attendus du caractère précédent  | joue le rôle de "ou" entre 2 expr rég.  L'antislash inhibe l'interprétation des caractères spéciaux et force leur interprétation usuelle.  Exemples  ..txt recherche les chaînes du genre c.txt , où c est un caractère unique qcq  *$ recherche les chaînes qui se terminent ($) par le caractère astérisque (*)
  • 90. ESIC - Formation en alternance 90  Ecriture des motifs  Expression régulière à 1 caractère (atomique)  un caractère correspond à lui-même, en règle générale.  Ainsi le motif c recherche le caractère désigné par c.  un métacaractère précédé de , pour lui rendre son rôle usuel.  . Le point remplace tout caractère unique, sauf n  a. toute suite de 2 caractères commençant par a, sauf an  b.c désigne toute suite de 3 caractères du genre bac, bbc, bcc, ...  [abc] classe de caractères, sélectionne toute chaîne contenant l'un des caractères listés  [a-z] toute lettre minuscule  [0-9] équivaut à [0123456789], un chiffre quelconque  [a-zA-Z0-9-_] correspond à n'importe quelle lettre ou chiffre, ou au tiret ou au souligné  le caractère ^ juste après [ joue le rôle d'exclusion des caractères qui suivent.  [^aeiou] tout sauf une lettre voyelle  [^a-zA-Z0-9] sélectionne un caractère non alphanumérique
  • 91. ESIC - Formation en alternance 91  Expressions régulières simples  Soit expat une expression régulière atomique quelconque, alors ce sont  expat1expat2expat3 ... toute concaténation sans espace formée d'expr. régulière atomiques  expat* chaîne composée de 0 à N caractères vérifiant expat  expat+ chaîne contenant au moins un caractère vérifiant expat  expat? chaîne contenant au plus un caractère vérifiant expat  expat{n} chaîne composée exactement de n caractères vérifiant expat  expat{n,} chaîne composée d'au moins n caractères vérifiant expat  expat{n,m} chaîne composée de n à m caractères vérifiant expat
  • 92. ESIC - Formation en alternance 92  Exemples  a* caractère de multiplication, suivant un caractère signifie la répétition de 0 à plusieurs exemplaires de ce caractère.  [ab]* signifie répétition possible d'un quelconque des 2 lettres a ou b.  a+ répétition de 1 à plusieurs exemplaires de a  a? 0 ou 1 exemplaire de a  c[ad]?r impose la présence de cr ou car ou cdr, et rien de plus.  /x{5,10} 5 à 10 répétitions attendues de x  a{5,} 5 ou plus répétitions attendues de a  a{5} exactement 5 occurrences de a  a.{5}b recherche les mots contenant 5 caractères entre a et b  s+ recherche un ou plusieurs caractères séparateurs.  Conséquence : {0,} {1,} {0,1} correspondent à * , + , ?
  • 93. ESIC - Formation en alternance 93  Expressions régulières étendues  Soit expsim une expression régulière simple quelconque, comme définie précédemment, alors ce sont des expressions régulières générales :  expsim1expsim2 ... toute concaténation formée d'expr. régulière simples  ^expsim recherche le motif expsim en début de chaîne  expsim$ recherche le motif expsim en fin de chaîne  expsimb le motif expsim doit se trouver la fin d'un mot  expsim1|expsim2|… alternative : recherche de expsim1 ou expsim2 ...  (expsim)* chaîne composée de 0 à N caractères vérifiant expsim  (expsim)+ chaîne contenant au moins un caractère vérifiant expsim  (expsim)? chaîne contenant au plus un caractère vérifiant expsim  (expsim){n} chaîne contenant la concaténation d'exactement n chaines vérifiant expsim  (expsim){n,m} chaîne composée de n à m caractères vérifiant expsim
  • 94. ESIC - Formation en alternance 94  Remarques  Les symboles ^, $ sont appelés motifs d'ancrage, car ils permettent de préciser l'endroit où doit être effectuée la recherche du motif dans la chaîne (alors que sans directive particulière la recherche de correspondance du motif avec la chaine s'effectue de gauche à droite de la chaîne).  Le symbole d'ancrage b indique une limite de mot obligatoire, à l'endroit où il est inséré dans le motif  Par exemple :  infob est vérifié par "l'info pour tous", "info-matin" mais pas par infos, informatique ...  binfo est vérifié par "informatique","m'informer" mais pas désinformation, ..  Les parenthèses autour de expsim sont indispensables, sinon les opérateurs de répétition s'appliquent au dernier caractère de l'expression (il s'agit d'une question de priorité des opérateurs ..)  Par exemple, les motifs li(nux)* et linux* reconnaissent respectivement li, linux, linuxnux,.. et linu, linux, linuxx, linuxxx,...  Attention, ces extensions ne sont pas toutes reconnues par l'ensemble des filtres. Par exemple la commande grep, ne connaît pas | , ni les parenthèses
  • 95. ESIC - Formation en alternance 95  Exemples  color|couleur réussit si l'un des motifs, soit color, soit couleur, est trouvé  5[0-9]{2} reconnaît tout nombre de 500 à 599.  /^(eleve|prof|stage)[3-7]/ est satisfait par les chaînes commençant par l'un des 3 mots suivis immédiatement par un numéro de 3 a 7  comment reconnaître un mot de 6 lettres formé des lettres (cela ne vous rappelle rien ?)  Parenthèses de mémorisation  La présence de parenthèses permet de mémoriser une ou plusieurs parties de l'expression qu'elle entoure, sans modifier son interprétation. Pour rappeler ces valeurs mémorisées, on utilise les notations 1, 2 ... qui correspondent aux valeurs reconnues de même ordre.  Ainsi eleve(d).+station1 sera satisfait par eleve3 au poste3 et non par eleve5 au poste3
  • 96. ESIC - Formation en alternance 96 Lexique Commandes sommaire  Rappel Chercher de l'aide en ligne sur une commande <commande> --help Lire la page de manuel man <commande>  Classement par thème <ctrl>-c : abandon de la commande (exemple factor) <alt>-Fx : basculement (ou demande de nouveau login) sur la console ttyx (x=1 à 6)
  • 97. ESIC - Formation en alternance 97  Renseignements utilisateurs et ressources who : liste de tous les users connectés, leur console et l'heure de connexion who -H : affiche les utilisateurs connectés, le N° du terminal ttyx, et l'heure de connexion.  whoami : l'utilisateur aux commandes pwd : chemin courant complet df : points de montage des systèmes de fichiers et leur capacité disponible. du : capacité disque en Ko utilisé pour le répertoire spécifié et ses sous répertoires.
  • 98. ESIC - Formation en alternance 98 set : liste des variables export : listes des variables exportées, ie "globales" connues des autres processus gestion des utilisateurs et des permissions adduser : commande root d'ajout d'un user Id : numéro d'identification d'un user (le uid) passwd : commande utilisateur de définition d'un (nouveau) mot de passe chmod : changer les permissions sur les fichiers (et rép.) dont on est propriétaire (sinon : "Opération non permise")  chmod a+x <fichier> : le propriétaire accorde des permissions d'exécution à tous  chmod 755 <fichier> : le propriétaire impose un masque de permission 755, il est seul à posséder le droit d'écriture. chgrp chown
  • 99. ESIC - Formation en alternance 99  contrôle de l'affichage des fichiers texte  more affiche à l'écran l'entrée standard à l'écran page par page.  less comme la commande more, et permettant des retours en arrière  cat contaténe les fichiers spécifiés sur la sortie standard  sort  cut affiche des colonnes extraites du fichier spécifié, vers la sortie standard  wc compte les lignes , mots et caractères  grep -n plantage faq-window95.help donne les num de lignes où se trouve le mot dans le(s) fichier(s)  grep -c print ~jean/perl/*.pl donne le nombre d'occurrences du mot dans chacun des fichiers.  grep --help pour voir les autres options  cd = cd ~<user> aller dans le rép. personnel de l'user  mkdir ~<user>/<nom-rép> créer un sous-rép. dans le rép. perso de l'user
  • 100. ESIC - Formation en alternance 100 cp --help : aide sur la commande copy cp -r /mnt/floppy/monCours /home/jean/ : pour copier toute l'arborescence A:monCours dans le rép. personnel rm --help : aide sur la commande remove (attention danger !) rm -d ~toto/essai : supprime le sous- rép. /home/toto/essai find whereis : recherche des fichiers exécutables, les sources et les pages de manuel which : affiche les chemins d'accès d'une liste de commandes
  • 101. ESIC - Formation en alternance 101  Processus  ps  pstree  kill  Archivage  tar  gzip  Suivi des connexions  tail -f /var/log/httpd/access_log  affiche les dernières requêtes au serveur Apache, "en direct"  Divers  cal calendrier mensuel ( cal 4 1970 ; cal 2000 | less )  date  bc calculatrice  factor