Académique Documents
Professionnel Documents
Culture Documents
Le noyau linux : KERNEL est un noyau stable et fiable, il peut fonctionner dans des serveurs à long terme.
ligne de commandes : appelée aussi interpréteur des commandes ou shell (sh, sch, bash, tsh).
Serveur X_windows : c’est une interface graphique capable de fournir des services graphiques aux
utilisateurs et aux applications (pilotes de carte graphique).
Gestionnaire des fenêtres et bureau : KDE, GNOME Personnalisé.
3. Comparaison Windows et Linux
Cmd.exe-------------------------------Shell
Noyau KERNEL -----------------------KERNEL
Pilote de carte graphique---------serveur X_Windows
Internet explorer ------------------- fire fox (Mozilla)
4. Les fonctionnalités et système des fichiers
Le système de fichiers est une façon d'organiser et de stocker les fichiers sous forme d’une arborescence sur
un support (disque, disquette, cd ...). Permet de fournir au système d’exploitation des meilleurs performances
telles que : la sécurité des données (authentification= login et mot de passe, chiffrement des données
(cryptage), formatage des données (compression et décompression des données) et les quotas (réservation
des espaces disque aux utilisateurs). le système de fichiers pris en charge par Linux sont : FAT, FAT32,
NTFS, EXT1, EXT2…EXT4… etc.
5. Installation d’une distribution linux (voir TP).
La meilleure méthode pour installer une distribution linux est de partitionner le disque dur ou le lecteur en trois
partitions comme suit :
La racine (/) : réservée aux fichiers et aux dossiers systèmes.
SWAP (fichier d’échange). Le double de la capacité de la mémoire RAM
/home ou /usr : partie réservée aux fichiers et dossiers des utilisateurs.
6. Identification des partions d’un disque dur
Le formatage logique (haut niveau), crée un système de fichiers (FAT, FAT32, NTFS, EXT) sur le disque.
Ce système permette à un système d'exploitation (MacOs, Windows, Linux, etc.) d'utiliser
l'espace disque pour stocker et manipuler des fichiers et des dossiers. Ce formatage crée des pistes et des
angles sur chaque interface du plateau.
Le formatage physique (bas niveau) : s’effectue avec un logiciel spécifique aux disques dur, il est
généralement fourni par le constructeur.
Sous linux, chaque périphérique est manipulé par un fichier spécial sur lequel toutes les opérations classiques
sont réalisées (lecture, écriture, modification …etc.).
Les périphériques de type IDE : sont représentés par les fichiers spéciaux de la forme hdxn avec x
représente la lettre alphabétique (a,b,..z) du lecteur de disque et n (1, 2 ….) le numéro de la partition.
Les périphériques de type SATA, SCSI et USB : sont représentés par les fichiers spéciaux de la
forme Sdxn.
Exemple
Si un PC contient deux disques dur : le premier Sda le 2ieme Sdb ou Hda et Hdb les partitions Sda1, sdb1
ou Hda1 et Hdb1.
Sous Windows les partitions de disque sont identifiées par des lettres suivi de deux points exemple C :, D :,
E:…
7. Les commandes de base linux (SHELL).
Toutes les commandes linux s’exécutent en mode ligne de commandes appelé SHELL (bash, sh, sch,
tsh…..)
[ista@localhost~]$ : Représente l’utilisateur simple.
[ista@localhost ista]# : Représente le super utilisateur : Administrateur (Root).
1. Les commandes linux
La commande Su : permet de changer l’utilisateur
[ista@localhost]$ su
Mot de passe : xxxxxxxx
[Root@localhost ista]# su ista
[ista@localhost~]$
[ista@localhost nom_rep]$ pwd
La commande pwd print work directory permet d’affiche le répertoire de travail de l’
La commande date affiche la date et l’heure système.
[ista@localhost~]$ date
[ista@localhost~]$ date -s ’’ 11 oct 2018 09 :24:00’’
Ou bien au lieu de –s - -set
[ista@localhost~]$ cal
La commande cal affiche le calendrier de l’année en cours.
[ista@localhost~]$ cal 2018 : affiche le calendrier de l’année 2018
[ista@localhost~]$ cal 01 2018 : affiche le calendrier du mois janvier 2018.
[ista@localhost~]$ who ou bien whoami
La commande who affiche la liste des utilisateurs connectés au système
[ista@localhost~]$ uname -a
uname -a : avec l'option "-a" ou "-all" qui affiche l'ensemble des informations systèmes importantes.
L'option "-a" permet de regrouper l'ensemble des autres options disponibles sur la commande
"uname". Dans l'ordre, ces commandes sont les suivantes :
"-s" ou "--kernel-name" : C'est le nom du noyau, Ici "Linux".
"-n" ou "--nodename" : C'est le nom d'hôte de votre machine, ici "srvlinux1".
"-r" ou "--kernel-release" : C'est la version actuelle du noyau, ici "2.6.32-5-686" soit squeeze en 32 bits.
"-v" ou "--kernel-version" : C'est la date à laquelle a été compilé le noyau (date de mise à jours ou
d'installation de la machine la plupart du temps) , ici "# 1 SMP Sun Sep 23 09:49:36 UTC 2012"
"-i" ou "--machine" : C'est le nom de l'architecture matérielle de la machine. ici "i686"
"-o" ou "--operating-system" : C'est l'OS sur lequel on exécute la commande.
2. Les opérations sur les répertoires
Création d’un répertoire :
La commande mkdir (Make directory) permet de créer un répertoire
[ista@localhost~]$ mkdir <nom répertoire>
Pour créer une suite de répertoire avec un minimum de commandes on utilise l’option –p
[ista@localhost~]$ mkdir -p <nom répertoire>/<nom_rep>/<nom_rep>
Accéder à un répertoire.
La commande Cd (Change Directory) permet de changer un répertoire.
[ista@localhost~]$ cd <nom répertoire>
[ista@localhost nom_rep]$
Sortir d’un répertoire
La commande CD.. Permet de sortir d’un répertoire
[ista@localhost nom_rep]$ Cd..
[ista@localhost~]$
Exercice
Créer l’arborescence suivante à l’aide d’un minimum de commandes
Correction
[ista@localhost~]$ mkdir –p tri/{cours1/{th,tp},cours2/td1,cours3/{sujet1,sujet2}}
Supprimer un répertoire
La commande rmdir (remove directory) permet de supprimer un répertoire vide.
[ista@localhost nom_rep]$ rmdir <nom-rep>.
La commande ‘’ rm -r’’ supprime un répertoire contenant des fichiers et/ou les sous répertoires
rm : Avec l’option ‘’–f’’ supprime un répertoire contenant des fichiers et/ou les sous répertoires, sans
message de confirmation.
Exemple.
[ista@localhost nom_rep]$ rm –rf <nom-rep>.
Déplacer et renommer un répertoire
La commande mv permet de renommer et/ou déplacer un répertoire d’un emplacement à un autre
Syntaxe
[ista@localhost~]$ mv <source> <destination>
Exemple
[ista@localhost~]$ mv tri101 Tadla/rep/tri101
déplace le repertoire tri101 vers le sous répertoire rep de répertoire Tadla
[ista@localhost~]$ mv tri101 Tadla/rep/tri102
Renomme le répertoire tri101 par tri102 et le déplace vers le sous répertoire rep de Tadla.
Copier un répertoire vers un autre emplacement
[ista@localhost~]$ cp –R <source> <destination>
Ou bien
[ista@localhost~]$ cp –r <source> <destination>
3. Les opérations sur les fichiers.
Création d’un fichier
La commande vi permet d’ouvrir l’éditeur Vi pour créer un nouveau fichier.
Syntaxe
[ista@localhost~]$ vi <nom_fichier>
Dans l’éditeur vi tapez la touche de clavier i pour commencer la saisie de texte, après avoir finir votre texte
tapez la combinaison des touche de clavier pour sauvegarder e quitter votre fichier :
ESC + : + W + Q.
Pour forcer l’éditeur de quitter tapez : ESC + : + W + Q+ !
Pour quitter sans le sauvegarder tapez directement : ESC + : + Q. ou ESC + : + Q + !
Supprimer un fichier
La commande rm (remove directory) permet de supprimer un fichier.
KHAFOURI Mohamed Page 3
ISTA KASBA TADLA
Les tubes
[ista@localhost~]$ More 2018.txt | wc
Exercice
1. Créer le fichier lst2.txt et saisissez au moins 13 lignes.
2. Afficher les 8 premières lignes de fichier lst2.txt
3. Afficher les 6 dernières lignes de fichier lst2.txt
4. Afficher uniquement les lignes 7,8 et 9 de fichier lst2.txt.
La commande sort
La commande sort permet de trier les lignes d’un fichier en ordre alphabétique
Syntaxe
[ista@localhost~]$ Sort <nom de fichier>
[ista@localhost~]$ Sort -r <nom de fichier>
Avec l’option - r la commande sort trie les lignes d’un fichier par ordre alphabétique inverse (z---a).
La commande cut
La commande cut permet de sélectionner uniquement un certains colonnes ou champs d’un fichier
[ista@localhost~]$ cut [options] <nom de fichier>
[ista@localhost~]$ cut -c2 2018.txt affiche les deuxièmes colonnes de chaque ligne de fichier.
[ista@localhost~]$ cut -c1-6 2018.txt affiche de la première colonne à la sixième colonne de fichier.
[ista@localhost~]$ cut -c 2 ,5 2018.txt afficher la deuxième et la cinquième colonne de fichier.
[ista@localhost~]$ cut -d’’ :’’ –f 5 2018.txt affiche le cinquième champs de fichier 2018.txt si ce fichier
est séparé par ‘’:’’ -d : délimiteur
[ista@localhost~]$ cut -d’’delim’’ -f2 2018.txt affiche le deuxième champ de chaque ligne de fichier.
[ista@localhost~]$ cut -d’’ delimiteur’’ -f1-6 2018.txt affiche du premier au sixième champ de fichier.
[ista@localhost~]$ cut -d’’ delimiteur’’ -f 2 ,5 2018.txt afficher le deuxième et le cinquième champ de
fichier.
La commande grep
Grep permet de rechercher un motif et affiche les lignes contenant ce motif dans un fichier texte.
Syntaxe
[ista@localhost~]$ grep [motif] <nom de fichier>
Exemples
[ista@localhost~]$ grep ‘’stagiaire’’ 2018.txt les lignes contenant le mot ‘’stagiaire’’
[ista@localhost~]$ grep [a] 2018.txt les lignes contenant la lettre ‘’a’’
[ista@localhost~]$ grep [at] 2018.txt les lignes contenant les lettres ‘’a’’ et ‘’t’’
[ista@localhost~]$ grep [b-g] 2018.txt les lignes contenant les lettre de ‘’b’’ à ‘’g’’
[ista@localhost~]$ grep ^[a] 2018.txt les lignes qui commencent par la lettre ‘’a’’
[ista@localhost~]$ grep ^ [^as] 2018.txt les lignes qui ne commencent pas par les lettres ‘’a’ et ‘’s’’.
[ista@localhost~]$ grep [0-9] 2018.txt les lignes contenant un chiffre
[ista@localhost~]$ grep [A-Z] 2018.txt les lignes contenant la lettre Majuscule
L’archivage et compression des fichiers
Tar permet d’archiver un ou plusieurs fichiers.
Syntaxe
[ista@localhost~]$ tar [options] 2018.txt
Options
-cvf : pour créer un archive
-tvf : pour afficher la liste des fichiers archivés
-xvf : pour extraire les fichiers archivés.
La compression des fichiers
Les commandes gzip ou bzip2 permettent de compresser un fichier
[ista@localhost~]$ gzip 2018.txt
Syntaxe
[ista@localhost~]$ su
Mp : xxxxxxxxxxxxxx
[root@localhost ista]# useradd <nom d’utilisateur>
Attribuer un mot de passe à un utilisateur
La commande passwd permet d’attribuer ou modifier le mot de passe d’un utilisateur
Syntaxe
[root@localhost ista]# passwd <nom d’utilisateur>
Créer un utilisateur en spécifiant son UID
[root@localhost ista]# useradd -u <UID> <nom d’utilisateur>
Créer un utilisateur en spécifiant son mot de passe
[root@localhost ista]# useradd -p <mot de passe> <nom d’utilisateur>
Créer un utilisateur en spécifiant son GID
[root@localhost ista]# useradd -g <GID> <nom d’utilisateur>
Avec GID existe déjà
Créer un utilisateur en spécifiant son commentaire
[root@localhost ista]# useradd -c ’’commentaire’’ <nom d’utilisateur>
Créer un utilisateur en spécifiant son répertoire de travail
[root@localhost ista]# useradd -d <repertoire de tranvail> <nom d’utilisateur>
Avec le répertoire existe déjà
Créer un utilisateur en spécifiant son shell
[root@localhost ista]# useradd -s <shell> <nom d’utilisateur>
Modifier les parametres des utilisateurs
Il suffit de remplacer la commande useradd par usermod suivi des
mêmes options de la commande useradd
Afficher l’identificateur de l’utilisateur et de groupe
[root@localhost ista]# id <nom user>
Supprimer un utilisateur
Userdel permet de supprimer un utilisateur linux
[root@localhost ista]# userdel <nom d’utilisateur>
Pour supprimer un utilisateur avec son répertoire de travail
[root@localhost ista]# Userdel -r <nom d’utilisateur>
Créer un groupe d’utilisateurs
La commande groupadd créer un groupe d’utilisateur
[root@localhost ista]# groupadd <nom de groupe>
Supprimer un groupe d’utilisateur
[root@localhost ista]#groupdel <nom de groupe>
Modifier le groupe principal (par défaut) d’un utilisateur
[root@localhost ista]# usermod -g <nom groupe> <nom user>
Ajouter un utilisateur à un groupe
[root@localhost ista]# usermod –G <nom groupe> <nom user>
Les commandes chown et chgrp
Chown : Changer owner : changer le propriétaire d’un fichier
Chgrp : changer group : changer le groupe d’un fichier
Syntaxes :
[root@localhost ista]#chown <nom d’utilisateur> <nom de fichier>
[root@localhost ista]#chgrp <nom de groupe> <nom de fichier>
On peut modifier le propriétaire et le groupe d’un fichier au même temps à l’aide de la commande chown.
Syntaxe
[root@localhost ista]#chown <nom d’utilisateur> : <nom de groupe> <nom de fichier>
Les processus linux
Un processus est programme ou commande encours d’exécution par le système ou par un utilisateur
La commande permettant d’afficher les processus d’un utilisateur est :
[ista@localhost ~]$ ps
PID : le numéro d’identification de processus (numéro unique).
TTY :le nom de la console depuis laquelle a été lancer le processus
Time : le temps écoulé depuis son exécution.
CMD : le programme qui a généré le processus
Pour afficher tous les processus de tous les utilisateurs on ajoute l’option : –aux
[ista@localhost ~]$ ps -aux
Pour afficher les processus qui s’exécutent en temps réel, on exécute la commande : top
[ista@localhost ~]$ top.
Pour arrêter un processus on utilise la commande :kill suivi de numéro PID de processus
[ista@localhost ~]$kill <PID>
Pour forcer l’arrêt d’un processus on ajoute le numéro 9 :
[ista@localhost ~]$ kill -9 <PID>
Utilisation de la commande find
La commande find permet de chercher des fichiers, et éventuellement d'exécuter une action dessus. Les
options de la commande find sont nombreuses.
Tableau : Principales options de la commande find.
Option Signification
-name Recherche par nom de fichier.
-type Recherche par type de fichier.
-user Recherche par propriétaire.
Recherche par appartenance à un
-group
groupe.
-size Recherche par taille de fichier.
-atime Recherche par date de dernier accès.
Recherche par date de dernière
-mtime
modification.
-ctime Recherche par date de création.
-perm Recherche par autorisations d'accès.
REMARQUE
Pour les options -size, -atime, -mtime, et -ctime , il faut spécifier une valeur, précédée par le signe ``+'' pour
``supérieur à'', ``-'' pour ``inférieur à'', ou rien pour ``égal à''.
Par exemple :
find . -mtime -3 -print
Affiche les fichiers dont les dernières modifications remontent à moins de 3 jours (donc tous les fichiers
modifiés entre aujourd'hui et il y a trois jours seront affichés). De même, +5 afficherait les fichiers dont les
dernières modifications remontent à plus de 5 jours.
Voici d'autres exemples d'utilisation de la commande find :
Pour afficher tous les fichiers se terminant par ``.c'' :
find . -name ".c" -print
Pour afficher tous les répertoires dont le nom se termine par ``s'' :
find . -type d -name "*s" -print
Pour afficher tous les fichiers ayant une taille de 10 blocs:
find . -size 10 -print
ce qui est équivalent à demander la liste des fichiers ayant une taille de 5120 caractères :
find . -size 5210c -print
On aurait pu aussi demander la liste des fichiers ayant une taille supérieure (+200k) ou inférieure (-
200k) à 200 Ko.
Pour afficher tous les fichiers ayant une certaine permission exprimée en octale (voir section
find . -perm 755 -print
ou ayant au minimum les droits d'écriture pour le groupe :
find . -perm -020 -print
Pour éxecuter la commande ls -l pour chaque fichier trouvé :
find . -type f -exec ls -l {} \;
Pour demander confirmation avant chaque action :
find . -type f -ok -exec rm {} \;
Toute autre commande peut être exécutée avec l'option -exec.
Pour associer plusieurs critères avec -a pour et, -o pour ou, ! pour négation. Par exemple :
find . ! -user root -print
Affiche tous les fichiers n'appartenant à root, et
find . \( -name '*.tex' -o -name '*.dvi' \) -print
Affiche tous les fichiers se terminant par ``.tex'' ou ``.dvi''.
Programmation shell : scripts
Un script est un fichier exécutable pouvant être créé à l’aide d’un éditeur de texte tel que vi. Ce fichier
contient un ensemble d’instructions ou commandes et qui commence par # !/bin/bash. Son exécution en
ligne de commandes s’effectue par la commande sh suivi du nom de script
#sh <nom de script>.
La commande echo : permet d’afficher des messages écrits entre guillemets ou le contenu d’une variable.
La commande Read : permet de lire la valeur d’une variable.
# echo "Ceci est mon premier script"
Ceci est mon premier script
# v= 100 #echo $v ==== 100
Les arguments d’un script
Le passage d’argument d’un script Shell se fait par le nom de script suivi d’une série d’arguments :
$* : Affiche la listes des arguments passés au script.
$# : Affiche le nombre des arguments passés au script.
$$ : Affiche le PID de script.
$0 : Affiche le nom du script.
$1 : Affiche le premier argument passé au script.
Opérateur Signification
-f Fichier
-d Répertoire
-r Permission de lecture
-w Permission d’écriture
-x Permission d’exécution
Les structures conditionnelles
Structure if
La structure if se présente sous trois formes :
Forme 1 : Forme 2 Forme 3:
Exercice
Écrire un script qui test si un paramètre passé en argument est fichier ou un répertoire. Si c’est un fichier le
script affiche le message « c’est un fichier », le compresse et affiche sa taille et si c’est un répertoire, le script
affiche son contenu détaillé y compris les fichiers cachés.
# !/bin/bash
If [ -z $1 ] ; then
Echo’’veuillez tapez au moins un arg’’
Elif [ -f $1 ] ; then
Echo ‘’c’est un fichier’’
Gzip $1
Du $1.gz
Elif [ -d $1 ] ; then
Echo ‘’ c’est un repertoire’’
Ls –la $1
Else
Echo’’$1 ni fichier ni repertoire’’
Fi
Instruction for
La boucle for se présente sous trois formes :
1ere forme 2eme forme 3eme forme
For variable in chaine1 chaine2 … For variable ensemble For variable ensemble in *
Do Do Do
Instruction Instruction Instruction
Done Done Done.
Exercice
Ecrire un script qui affiche votre nom N fois avec N une entier saisi par l’utilisateur
# !/bin/bin/bash
Echo ‘’ taper un nombre N :’’
Read N
For ((i=1 ; i<=N ))
I=$(($i + 1 ))
Do
Echo ‘’nom’’
done
Structure à choix multiple (case)
Cette structure s’applique lorsqu’on a plusieurs choix à traiter
Case variable in
Expression 1 ) instruction 1
Expression 2 ) instruction 2
Expression N ) instruction N
esac
Exercice
Ecrire un script nommé ‘’semaine’’ qui demande un nombre de 1 à 7 et affiche le nom de jour correspondant.
La structure TANT QUE (While)
Sa syntaxe est :
While condition
Do
KHAFOURI Mohamed Page 13
ISTA KASBA TADLA
Instruction
Done
Exemple
Ecrire un script qui affiche les premiers nombres
#@ !/bin/bash
I= 1
While [ $i -le ]
Do
I=$(( $i +1 ))
Echo $i
Done.
Utilisation des opérateurs logique OU et ET
Les opérateurs logiques s’effectuent soit par :
-a pour l’opérateur ET soit par - O pour l’opérateur OU
Ou bien par des symboles && pour ET et || pour l’opérateur OU
Exemple
Ecrire un script qui affiche le message ‘’ c’est vrai ‘’ si l’utilisateur a saisi un nombre compris
entre 40 et 50 sinon il affiche le message ‘’c’est faux’’
# !/bin/bash
Echo ‘’ taper un nombre N : ‘’
Read N
If [ $N -gl 40 -a $N -le 50 ]
Echo ‘’ c’est vrai’’
Else
Echo ‘’ c’est faux’’
Fi
Ou bien on peut le traiter comme suit:
# !/bin/bash
Echo ‘’ taper un nombre N : ‘’
Read N
If [ $N -gl 40 ] && [ $N -le 50 ]
Echo ‘’ c’est vrai’’
Else
Echo ‘’ c’est faux’’
FIN
fi