Académique Documents
Professionnel Documents
Culture Documents
• Exemples:
– Unix, DOS, Windows, Mac OS, Linux,
OS/2, BSD, ...
• Architecture-type:
applications
APPLICATIONS
(jeux, outils bureautiques, …)
Langage machine
MATERIEL
Dispositifs physiques
Linux: on y va !
• Propriétés
– multi-tâches
– multi-utilisateurs
– multi-postes
– Libre (et gratuit) !!
Mr BOUIH
Initiation au shell
• Une fois connecté, le système nous connaît,
ouvre une session à notre nom et attend nos instructions via
un programme spécial:
• Le Shell = interpréteur de commandes
– interface utilisateur “de base” (interlocuteur avec le syst.)
– interprétation ligne à ligne
– plusieurs shells: sh, csh, tcsh, bash, ksh, zsh, ...
– configurable: fichiers d’environnement (commençant par un “.”)
• “.login”
• “.logout”
• “.bashrc”
– langage de programmation
Mr BOUIH
L’arborescence
Mr BOUIH
Le système de fichiers
Mr BOUIH
Les Systèmes de fichiers
ext4
Lancé en 2008 pour succéder a ext3.
Actuellement standard sur de nombreux systèmes Linux (par exemple
Ubuntu). L’innovation la plus importante est la fonction Extents, qui
optimise la gestion des fichiers volumineux et empêche la
fragmentation plus efficacement que ses prédécesseurs.
Mr BOUIH
XFS est un système de fichiers 64-bit journalisé de haute performance ,
Il est le système de fichiers par défaut de Red Hat Enterprise Linux 7.
XFS prend en charge
la journalisation de métadonnées,
ce qui facilite une récupération
après incident plus rapide.
Mr BOUIH
Initiation au shell
- commandes -
Respecter la casse
et les espaces!!
Mr BOUIH
Initiation au shell
- commandes -
• Exemples:
– date
– whoami
affiche le nom de l’utilisateur connecté
– echo
affiche un message (echo "bonjour !")
– ls
liste le contenu
d’un répertoire
– man <cmde>
manuel en ligne
Mr BOUIH
Initiation au shell
- méta caractères -
• Caractères spéciaux:
• Le point d’interrogation: ?
– remplace 1 seul caractère alphanumérique
Mr BOUIH
Initiation au shell
- méta caractères -
• Le point-virgule: ;
– Séparateur de commandes
• Les crochets: []
– Remplace un caractère choisi parmi ceux énumérés entre les
crochets
• L’anti-slash: \
– Inhibe la signification du méta-caractère qui suit.
mkdir nouveau dossier
– mkdir nouveau\ dossier ou bien mkdir ‘’nouveau dossier ’’
• Interprétation des chaînes de caractères
– Texte entre '' (simples quotes): le texte n’est pas interprété
mais considéré comme un mot
– Texte entre "" (doubles quotes): seuls sont interprétés les
métacaractères $, \ et `
– Texte entre `` (anti quotes): considéré comme une commande
à interpréter, et c’est le résultat qui sera utilisé.
Mr BOUIH
Mr BOUIH
Initiation au shell
- méta caractères -
• Exemples:
– ls *
Tous les fichiers sauf ceux dont le nom commence par un point (fichiers cachés )
– ls *c
Tous les fichiers dont le nom se termine par un ‘c’
– ls .*
Tous les fichiers dont le nom commence par un point (fichiers cachés )
– ls [0-9]*
Tous les fichiers dont le nom commence par un chiffre
– ls *[0-9]
– Tous les fichiers dont le nom se termine par un chiffre
Mr BOUIH
Mr BOUIH
Le système de fichiers
• Stocke les données:
– de façon hiérarchique
– structure arborescente
– TOUT est fichier
• 3 types de fichiers:
– fichiers ordinaires
– répertoires
– fichiers spéciaux (périph., …)
Le système de fichiers
• Accès aux fichiers réglementé (sauf: tous les droits pour root)
• 3 types d’utilisateurs:
– propriétaire (user)
– personnes du mm groupe (group)
– les autres (others)
• 3 types de permissions
– lecture (r) afficher le contenu afficher le contenu
– écriture (w) modifier créer/supp fichiers
fichier répertoire
Mr BOUIH
Le système de fichiers
group
type
-rw-r--r--
user
others
Mr BOUIH
forme symbolique vs forme octal forme symbolique vs forme octal
Mr BOUIH
Le système de fichiers
• Exemples:
• # chmod go-wx fichier
• pour les membres du groupe (g) et les autres (o) on retire (-) les droits d'écriture (r) et
d'exécution (x).
• Attention! Il n'y a aucun espace entre les chaînes séparées par les virgules.
•
Mr BOUIH
Mr BOUIH
Umask :
le masque de création des fichiers par défaut
Mr BOUIH
Umask :
le masque de création des fichiers par défaut
La commande umask permet :
de définir les droits par défaut d'un fichier ou répertoire à sa création.
Autrement dit elle indique les droits qu'il faut retirer lors de leur création.
Mr BOUIH
Umask :
A savoir que la durée de vie de la commande umask est limité à la session shell en cours.
Pour une durée permanente voir les fichiers de configuration de votre shell. Pour le shell bash on
peut utiliser le fichier ~/.bashrc
Mr BOUIH
Umask :
6= rw- moins
Donc la valeur de umask qui 3= -wx
répond à notre besoin sera =0023 6-3 = r-- = 4
Umask :
6= rw- moins
7= rwx
= --- = 0
Mr BOUIH
Umask :
Mr BOUIH
EXERCICE
Mr BOUIH
Le système de fichiers
- fichiers -
Mr BOUIH
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
• 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
Mr BOUIH
Gestion de fichiers (2)
• 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 !
Mr BOUIH
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 tata
• mv [option] fichiers répertoire
– déplace les fichiers sources dans le répertoire, en
gardant les noms.
mv /home/ahmed/images/*.jpg /tmp/
• 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
Mr BOUIH
La commande # wc
La commande wc de Linux vous permet de :
compter le nombre de lignes, de mots, de caractères et d’octets de
chaque fichier donné ou d’entrée standard et d’imprimer le résultat.
Mr BOUIH
Le système de fichiers
- l’arborescence -
répertoire racine /
Mr BOUIH
Le système de fichiers
• pwd retourne: - l’arborescence -
/home/dupont/cours
• se déplacer: cd /
[/home/dupont/cours]$ cd ..
[/home/dupont]$ tmp home
[/home/dupont]$ cd /tmp
[/tmp]$
chemin relatif buzz dupont
chemin absolu
Mr BOUIH
Gestion de disque
Mr BOUIH
Gestion de disque
Mr BOUIH
Le système de fichiers
- partitions -
• accès transparent
Mr BOUIH
Les liens
• Liens physiques
Mr BOUIH
Le système de fichiers
- liens -
• Liens physiques
ln <nom_fic> <nouveau_nom_fic>
– permet de donner plusieurs noms à un fichier
– pas pour les répertoires
– ne traverse pas les partitions
– un fic est détruit quand TOUS ses liens physiques sont
supprimés (≠ raccourcis)
• Liens symboliques
ln -s <nom_fic> <nouveau_nom_fic>
– crée un raccourci
– traverse les partitions
– fonctionne aussi pour les répertoires
Mr BOUIH
Liens physiques
Mr BOUIH
Inode (index node)
Dans Linux, l’Inode est l’abréviation de “index node”
C’est un composant important du système de fichiers ext4 de Linux.
Un inode est une structure de données qui garde la trace de tous les
fichiers et répertoires d’un système de fichiers basé sur Linux ou UNIX.
Mr BOUIH
Les Redirections
Mr BOUIH
Les redirections
• Une commande ouvre 3 descripteurs de fichiers; par défaut:
canal 0 , canal 1 et canal 2
• La Redirections = remplacer les canaux par défaut,
rediriger vers une autre commande ou un fichier
Mr BOUIH
Les redirections
exemples:
ls -l > liste crée/écrase le fichier liste
et y dirige la sortie de ‘ls‘
date >> liste ajoute à la fin du fichier liste
la sortie de ‘date‘
wc -l < liste envoie comme entrée
à la commande ‘wc‘ le fichier liste
Mr BOUIH
Les tubes (pipes)
• Tube: |
• pour “connecter 2 commandes”
stdin stdout stdin stdout
commande commande
stderr stderr
Mr BOUIH
²
Mr BOUIH
Mr BOUIH
Mr BOUIH
Mr BOUIH
Mr BOUIH
Mr BOUIH
Mr BOUIH
Mr BOUIH
Utilisation des commandes
Mr BOUIH
Mr BOUIH
Mr BOUIH
Mr BOUIH
Les commandes who, users et w
permettent de connaître les utilisateurs actuellement connectés sur la machine.
Mr BOUIH
sudo signifie "superuser do" et permet à un utilisateur de se connecter en tant que
superutilisateur root pour effectuer une seule commande spécifique.
Par exemple, pour exécuter la commande apt-get update en tant que root, vous pouvez
utiliser la commande suivante: sudo apt-get update .
su, quant à lui, signifie "switch user" et permet à un utilisateur de changer complètement de
session et de devenir le superutilisateur root.
Par exemple, pour devenir le root et exécuter une commande, vous pouvez utiliser la
commande suivante: su puis entrer le mot de passe du root.
Une fois connecté en tant que root, vous pouvez exécuter n'importe quelle commande .
En gros, sudo est plus sûr car il permet de s'exécuter en tant que root uniquement pour une
commande spécifique, tandis que su vous connecte complètement en tant que root , ce qui
peut présenter un risque si vous n'êtes pas familier avec les commandes que vous exécutez
en tant que root.
Mr BOUIH
# sudo
exécute une commande en tant qu'autre utilisateur, mais en respectant une série de
restrictions sur lesquelles les utilisateurs peuvent exécuter quelles commandes au nom de
quels autres utilisateurs (généralement spécifiées dans le fichier / etc / sudoers).
contrairement à su,
sudo invite les utilisateurs à saisir leur propre mot de passe au lieu de l'utilisateur requis;
Cela permet la délégation de commandes aux utilisateurs sur d'autres machines sans avoir à
partager les mots de passe, ce qui réduit le risque de laisser les terminaux sans surveillance.
/etc/sudoers est un fichier de configuration utilisé par le programme
sudo sur Unix-like systems.
Il définit qui est autorisé à exécuter des commandes en tant que
superutilisateur (root) ou avec les privilèges d'un autre utilisateur.
Mr BOUIH
La commande su permet de changer de l'identité d'un utilisateur à un autre.
La différence entre su et su - est dans la façon dont les environnements d'utilisateurs sont
affectés.
su sans le tiret (-) conserve l'environnement de l'utilisateur actuel, tels que les variables
d'environnement, le répertoire de travail, etc.
Par exemple :
Le programme su vous permet d'utiliser le shell d'un autre utilisateur sans vous déconnecter
de la session en cours.
Il est couramment utilisé pour obtenir les autorisations root pour les opérations
administratives sans avoir à se déconnecter et à se reconnecter.
On voit que le PATH ( l'endroit où les programmes sont recherché quand on fait tab tab)
appartient aux variables d'environnement du root.
Ce qui fait qu'on a accès à aux programmes dans /sbin et /usr/sbin et autres rajouter
directement sans taper le chemin complet.
Quand on met su - ,
on est direct dans le dossier /root.
Sinon on reste dans le dossier où l'on était avant de faire "su", et ça bride des
commandes
Mr BOUIH
Le système de fichiers
- partitions -
maryame
serveur
montage effectué sur /home
de façon transparente
home postes dans la salle
usr
/ etc
QuickTime™ et un QuickTime™ et un QuickTime™ et un
décompresseur TIFF (non compressé) décompresseur TIFF (non compressé) décompresseur TIFF (non compressé)
sont requis pour visionner cette image. sont requis pour visionner cette image. sont requis pour visionner cette image.
tmp
Mr BOUIH
Le système de fichiers
- partitions -
Mr BOUIH
Les filtres
• Filtres simples
– affiche le contenu des fichiers passés en
cat paramètres (par défaut, stdin)
– options -b, -n, -v
Mr BOUIH
# echo "Les tubes sont un mécanisme puissant." | tee fichier.txt | wc
1 6 39
# cat fichier.txt
Mr BOUIH
Les filtres
Plus de filtres...
sort
– trie l’entrée ligne par ligne
– options: -r (inverse l’ordre de tri)
+n (ignore les n 1ers champs)
– ex: ls | sort
ls -l | sort +4
comm
– sélectionne les lignes entre deux fichiers
– syntaxe: comm [-123] fic1 fic2
• 1 = lignes de fic1 ( fic2)
• 2 = lignes de fic2 ( fic1)
• 3 = lignes communes
Les options -1, -2, et -3 suppriment l'affichage des colonnes correspondantes.
Les filtres
uniq
– détruit les lignes consécutives dupliquées
– options: -u (affiche les lignes "uniques"),
-d (affiche les lignes "dupliquées")
– ex:
uniq -u fic
uniq -d fic
diff
– compare deux fichiers
– options: -b (ignorer les lignes vides)
– ex:
diff fic1 fic2
Les filtres
cut
– sélectionne uniquement certaines
colonnes du fichier passé en paramètre
– options:
-f<liste> : liste des champs à garder
-c<liste> : liste des colonnes à garder
-d<char> : séparateur de champs
– ex: rep.txt
• cut -c-10 rep.txt 1 tonton 0311333300
1 tonton 0 2 tux 0077885566
2 tux 0077 3 vuja 0133220011
3 vuja 013
• cut -f1,2 -d" " rep.txt
1 tonton
2 tux
3 vuja
Mr BOUIH
Les filtres
tr
– recopie stdin sur stdout en
substituant des caractères
– syntaxe: tr [-cds] [s1 [s2]]
– options:
-c (complément de s1)
-d efface les car. de s1
-s tte séquence dans s1 est substituée par un car. unique
dans s2
– ex:
• tr A-Z a-z < essai
remplace les majuscules par des minuscules
• tr A-Z a-z < essai | tr -sc a-z ‘\012’
remplace les majuscules par des minuscules, puis
remplace tout ce qui n’est pas une lettre minuscule par
un retour chariot (‘\012’)
Mr BOUIH
Les filtres
grep
– recherche, dans le fichier passé en paramètre, les lignes
vérifiant une expression régulière donnée
– syntaxe : grep expr_reg [fichier]
– ex:
• grep 'toto' essai
cherche dans essai toutes les lignes qui contiennent le mot toto
Mr BOUIH
Les filtres
Les filtres les expressions régulières étendues.
egrep (ou grep -E) est une version améliorée de grep qui prend en
charge les expressions régulières étendues.
Cette commande affichera toutes les lignes du fichier fichier.txt
contenant une adresse e-mail.
Les filtres
Mr BOUIH
Les filtres
Mr BOUIH
Les filtres
Trouver toutes les lignes qui contiennent soit "chat" soit "chien" dans un fichier, en
utilisant le caractère spécial "|" qui signifie "ou".
Mr BOUIH
Les filtres
Mr BOUIH
SUID , SGID et Sticky bit
Mr BOUIH
Les droits d'endossement
SetUID et SetGID
Les droits d'endossement sont très importants pour la sécurité.
Donc l'accès au fichier se fait par le biais de la commande et non pas directement.
Mr BOUIH
Les processus
Mr BOUIH
Les processus
• Processus = objet dynamique qui représente un
programme en cours d’exécution et son contexte
• Caractéristiques:
– identification (pid)
– identification du proc. parent (ppid)
– propriétaire
– priorité
– ...
• Pour voir les processus en cours: ps
Mr BOUIH
• Infos retournées par ps:
R actif
T bloqué
P en attente de page
D en attente de disque
S endormi
IW swappé
Z tué
Mr BOUIH
Les processus
• Options de ps:
-a liste tous les processus actifs
-u format d’affichage long
-x inclut les processus sans terminal (système)
– Description des colonnes de la commande ps aux :
Mr BOUIH
• $ ps aux –forest
• $ pstree -p
L'option “-p” permet d'afficher également le pid des processus qui est
normalement masqué.
Mr BOUIH
Mr BOUIH
• Pour arrêter un programme (processus)
kill <PID>