Académique Documents
Professionnel Documents
Culture Documents
M104 Linux
M104 Linux
« OPEN SOURCE »
Mme LAHLALI
SOMMAIRE
Installer et désinstaller des systèmes d'exploitation
Introduction au monde Gnu/Linux
Présentation générale du système Gnu/Linux
Installation d’une distribution Gnu/Linux
Adapter les systèmes en fonction des besoins particuliers
Environnement graphique sous Gnu/Linux (KDE)
Environnement graphique sous Gnu/Linux (GNOME)
Effectuer les opérations de base concernant l’exploitation des fonctions
du système d’exploitation.
Commandes Gnu/Linux de base
Les systèmes de fichiers sous Gnu/Linux
Utilisation du shell Bash
L’Editeur de texte vii
Réaliser des tâches d’administration du système d’exploitation
Gestion des utilisateurs et de la séurité sous Gnu/Linux
Planification des tâches sous Gnu/Linux
Installer une imprimante
Configuration de l’imprimante sous Gnu/Linux
Protéger des données
Sauvegarde des données sous Gnu/Linux
Gérer des paquetages
Installation d’applications sous Gnu/Linux
Documenter les interventions effectuées.
Mme LAHLALI
SOMMAIRE
1. Historique
2. Introduction au système linux
3. GNU et commandes Unix
4. Login et déconnexion
5. Arrêt et redémarrage du système
6. Pages de manuel
7. Opérations de base sur les répertoires
8. Notions sur les chemins Unix
9. Opérations de base sur les fichiers
10. Autres commandes utiles
a. Gestion des liens
b. Recherche de fichiers
c. Recherche d'un texte dans un fichier
d. Remplacement de texte dans les fichiers
e. Compression et décompression des fichiers
f. Archivage de fichiers
g. Passage en mode superviseur
h. Changement des droits des fichiers, du propriétaire et du groupe
11. vi, l'éditeur de fichiers de base
12. Administration de base
13. Utilisation du shell Bash
Mme LAHLALI
Le système de fichiers
Le système de fichiers virtuel VFS
Mme LAHLALI
Le système de fichiers
/
bin boot dev etc home lib mnt proc sbin sys tmp usr var …
Mme LAHLALI
Le tableau suivant vous présente les principaux Shells ainsi que leurs
caractéristiques
Nom Description
(Bourne Again Shell) offre l'édition de la ligne de commande et le
bash
rappel des commandes précédentes
(C Shell) développé à Berkeley, compatible avec le shell Bourne. Pas
csh
d'édition de la ligne de commande ni d'historique des commandes
(Korn Shell) offre l'édition de la ligne de commande (touches
ksh
compatibles Emacs)
sh le shell original, pas d'édition de la ligne de commande.
version améliorée du csh, avec un support de l'édition de la ligne de
tcsh
commande avec correction des commandes tapées
shell similaire au Korn shell, avec plus de dynamisme lors des
zsh
affichages et gère la non redondance des commandes.
Mme LAHLALI
Commandes de base
Mme LAHLALI
Commandes de base
Mme LAHLALI
Commandes de base
Mme LAHLALI
Commandes de base
Mme LAHLALI
Les caractères de contrôle sur le clavier
Mme LAHLALI
Utilisation de la commande man
Exemples :
$ man man
$ man cat
Mme LAHLALI
Classement en sections
Mme LAHLALI
Commande apropos
Mme LAHLALI
Les opérations de base
Login et déconnexion
Déconnexion
L'arrêt du système est une opération qui est du ressort de l'administrateur.
On ne peut donc le réaliser que sous le compte root. Plusieurs commandes
sont disponibles, les plus simples sont données ci-dessous :
halt, qui permet d'arrêter le système.
reboot, qui permet de le redémarrer.
logout
exit
CTRL+d
Ces commandes sont en fait des scripts permettant d'effectuer les opérations
d'arrêt et de redémarrage du système rapidement. Si elles ne sont pas
disponibles sur votre distribution, vous devrez sans doute utiliser la
commande générique suivante :
shutdown [-r] now où l'option -r permet de demander un redémarrage et non
un arrêt simple.
invite ("prompt")
Mme LAHLALI
Les opérations de base
Opérations de base sur les répertoires
cd [chemin]
où chemin est un chemin de répertoire Unix valide.
Ce chemin est constitué des noms des répertoires et sous-répertoires successifs,
séparés par des barres obliques « / ». Si aucun chemin n'est spécifié, cette commande change le
répertoire courant pour le répertoire personnel de l'utilisateur
Supprimer un fichier
rm [options] fichier1 [fichier2 …]
Options utiles
Mme LAHLALI
Les opérations de base
Opérations de base sur les fichiers
Mme LAHLALI
Les opérations de base
Opérations de base sur les fichiers
less fichier
Vous aurez sans doute à afficher le contenu d'un fichier. Pour cela, la commande la plus
appropriée est certainement la commande less
Cette commande affiche le contenu du fichier et vous permet de le faire défiler avec les
flèches du curseur. Lorsque vous désirez terminer la visualisation, il suffit de taper la touche q
La commande less permet également d'effectuer une recherche dans le fichier en cours
d'édition. Pour cela, il suffit de taper une commande de recherche de less. Cette commande
commence par une barre oblique, suivie du texte à chercher. Par exemple, pour
rechercher la chaîne de caractères « local » dans un fichier en cours de visualisation avec
less, il suffit de taper : /local
Lorsque vous voudrez rechercher l'occurrence suivante du motif de recherche, vous pourrez
appuyer sur la touche n (pour « Next » en anglais). Pour rechercher l'occurrence précédente, il
suffit de taper la touche N (en majuscule, cette fois).
more fichier
Cette commande effectue à peu près le même travail que less, mais elle n'affiche le texte
que page par page.
- Pour passer à la page suivante, il faut appuyer sur la barre d'espace
- utiliser la touche b pour revenir à la page précédente
- utiliser la touche q pour quitter
> nom_fichier
Copier un fichier
cp fichier1 fichier2
cp –R répertoire1 répertoire2
Mme LAHLALI
Les filtres
Compter les lignes
La commande wc (word count) permet de compter les lignes, mots et caractères.
wc [-l] [-c] [-w] fic1
-l : compte le nombre de lignes
-c : compte le nombre d'octets
-w : compte le nombre de mots
Ex : $ wc liste
12 48 234 liste
Le fichier liste contient 12 lignes, 48 mots et 234 caractères.
Exemple :
$ wc /etc/group
43 43 579 /etc/group
Voir le man !!
Exemple :
Exemple :
$ file *
Mme LAHLALI
Recherche de fichiers et de répertoires
Option de commande
Les options de commande seront traitées pour chaque fichier
trouvé. En dehors de l’option –print qui montre le chemin
d’accès au fichier, on peut mettre en place l’option -exec
Les commandes dont il est fait état derrière –exec seront
exécutées sans aucune demande de confirmation
L’option –ok demande à l’utilisateur si la commande doit
effectivement être exécutée.
Mme LAHLALI
Recherche de fichiers et de répertoires
Traitement sans confirmation avec –exec
La spécification d’une commande derrière –exec est
soumise à certaines règles:
L’option –exec doit être la dernière de la commande find
La commande placée derrière –exec doit être terminée par le
paramètre ;. Comme c’est un caractère spécial, il doit être
masqué par un \
Pour accéder à un des fichiers trouvés, dans le cadre de la
commande placée derrière –exec, utilisez le raccourci {}
Exemple
find . –user student –exec ls –l {}\; ( affiche le format long de la
commande ls pour les fichiers trouvés)
find . –type f –atime +13 –exec rm {} \; (supprime les fichiers
auxquels vous n’avez plus accédé depuis plus de 2 semaines)
find . –user student –exec cp {} /tmp \;
Mme LAHLALI
Recherche de fichiers et de répertoires
Mme LAHLALI
Recherche de fichiers et de répertoires
Mme LAHLALI
Recherche de fichiers et de répertoires
Mme LAHLALI
Les opérations de base
Autres commandes utiles
Exemples d'utilisation de find
find /home/ -name monfichier -print
Recherche le fichier monfichier dans toute la descendance de /home/
find . -name "*.c" -print
Recherche tous les fichiers ayant une extension .c
find . -mtime -5 -print
Recherche les fichiers du répertoire courant qui ont été modifiés entre maintenant et
il y a 5 jours
find /home/ -mtime -1 /! -type d -print
Recherche uniquement les fichiers (! -type d signifie n'était pas un répertoire) ayant
été modifiés ces dernières 24h
find . ! -user root -print
Affiche tous les fichiers n'appartenant pas à l'utilisateur root
find . -name "*.png" -exec ls -l {} \;
trouve les fichiers au format png dans le dossier en cours et affichage du
résultat par la commande ls –l
find . -name "*.png" -exec cp {} /tmp \;
SYSTÈMES D'EXPLOITATION « OPEN SOURCE »
Mme LAHLALI
Programmes utilitaires et filtres
Recherches de lignes dans un fichier (grep)
La commande grep permet d’extraire des lignes particulières d’un
fichier ou d’un flux de données au sein d’un tube
Syntaxe grep [option] modèle_de_critères [fichier1 …]
Les cinq options du grep les plus utiles sont :
i : pour ne pas tenir compte des majuscules/minuscules,
v : toutes les lignes ne contenant pas le critère,
n : pour avoir les numéros de ligne,
E : pour les expressions régulières plus compliquées,
l : pour lister seulement les fichiers et non pas les lignes contenant
la chaîne recherchée,
-r : Recherche récursivement dans tous les sous-répertoires
c : la commande ne retourne que le nombre de lignes trouvées
Mme LAHLALI
Programmes utilitaires et filtres
(grep)
Le modèle de critères peut contenir les caractères
spéciaux suivants :
[…] : Plage de caractères permis à cet emplacement
[^…] : Plage de caractères non permet à cet emplacement
.: Un caractère quelconque (y compris un espace)
* : Signe de répétition. Agit sur le caractère placé devant le *
$ : Matérialise une fin de ligne
| : ou
^ : début de ligne
\{…\} : Caractère de répétition, entre les accolades
\{nombre\} nombre exacte
Mme LAHLALI
Programmes utilitaires et filtres
(grep)
Rq Ces caractères spéciaux doivent être
interprétés par la commande grep et non pas
par le shell
Mme LAHLALI
Programmes utilitaires et filtres (grep)
Exemple :
^a va identifier les lignes commençant par le caractère a.
a$ va identifier les lignes se terminant par le caractère a.
^chaine$ identifie les lignes qui contiennent strictement la chaîne
chaine.
^$ identifie une ligne vide
[a–z] retrouve n’importe quelle lettre en minuscule
[A–Z] retrouve n’importe quelle lettre en majuscule
[0–9] retrouve n’importe quel chiffre
[aeiouAEIUO] retrouve n’importe quelle voyelle
[ˆaeiouAEIOU] retrouve n’importe quel caractère sauf une voyelle
Mme LAHLALI
Programmes utilitaires et filtres
(grep)
nombre de lignes commençant par ! Dans le fichier
fichier1 :
grep –c "^!" fichier1
recherche de STOP avec le numéro de la ligne :
grep -n -i stop fichier1
liste de tous les fichiers qui n'ont pas "image" ou "son"
dans leur nom :
ls | grep -vE "(image|son)"
liste des lignes contenant "image" ou "son" dans tous
les fichiers du répertoire courant
grep -E "(image|son)" *
Grep –E est équivalente a egrep
Mme LAHLALI
Programmes utilitaires et filtres
commande cut
Sélection de colonnes et de champs
Syntaxe cut –csélection_de_colonne [fichier …]
Sélection_de_colonne pourra représenter l’une des
informations suivantes:
Une colonne seule (par exemple -c5),
Une plage de colonnes (par exemple -c3-10 ou -c8-),
Une liste de nombres séparés par des virgules (par exemple
-c3,7,9),
Une combinaison des trois formes précédentes (par exemple
-c1-3,7,20-).
Mme LAHLALI
commande cut
Ex : $ cat liste
Produit prix quantites
souris 30 15
disque 100 30
ecran 300 20
clavier 45 30
Mme LAHLALI
Programmes utilitaires et filtres
commande cut
Sélection de champs
Syntaxe
cut [-dx] –fsélection_de_champ [fichier ..]
x désigne le caractère de séparation de champs
Sélection_de_champ suit les mêmes règles que la
sélection des colonnes
Mme LAHLALI
Les filtres
Colonnes et champs
La commande cut permet de sélectionner des colonnes et des champs
(découpage vertical) dans un fichier.
Colonnes
La syntaxe est la suivante :
cut -cColonnes [fic1...]
Le format de sélection de colonne est le suivant :
La numérotation des colonnes démarre à 1.
une colonne seule, (ex -c2 pour la colonne 2)
une plage (ex -c2-4 pour les colonnes 2, 3 et 4)
une liste de colonnes (ex -c1,3,6 pour les colonnes 1, 3 et 6)
les trois en même temps (ex -c1-3,5,6,12-)
Mme LAHLALI
Programmes utilitaires et filtres
sort
Les options utils:
d : tri ascii
n : tri numérique
b : ignore les espaces placés en début de champs
f : aucune différence n’est faite entre majuscules
et minuscules
r : inverse l’ordre de tri, donc tri décroissant
tc : le caractère « c » est défini comme caractère
de séparation entre les champs d’une ligne (par
défaut c’est l’espace)
Mme LAHLALI
Sort : exemples
Le programme sort permet de trier les lignes d'un fichier. Les caractères ``+'' et ``-'' permettent de
spécifier de quelle colonne à quelle colonne le tri doit s'effectuer (1ere colonne pour 0, 2eme colonne
pour 1...) :
Sort -t: +1 -2 /etc/passwd
On peut spécifier la recherche sur un caractère situé à une position particulière, par exemple à la 2eme
position du 6eme champ :
sort -t: +5.1 /etc/passwd
Pour plusieurs critères de recherche, il faut spécifier derrière chaque champ le type de tri à mettre en
oeuvre pour ce critère. Par exemple :
sort -t: +0d -1 +2nr -3 /etc/passwd
triera le 1er champ par ordre dictionnaire, et le 3eme champ par ordre numérique inverse, et
sort -t: +4.3n -4.5 +4.0n -4.2 /etc/passwd
triera du 4eme au 6eme caractère du 5eme champ par ordre numérique, et du 1er au 3eme caractère
du 5eme champ par ordre numérique, si le premier tri s'est avéré insuffisant.
Bien sur, on peut combiner les commandes cut et sort. Par exemple :
cut -d: -f3 /etc/passwd | sort -n > Nombres
Mme LAHLALI
Sort : exemples
Ex :
Soit le fichier carnet-addresse suivant :
ali:29:02:rabat
said:13:04:casablanca
nabil:75:01:fes
rachid:92:03:kénitra
Sort -t: carnet-addresse
Mme LAHLALI
Les opérations de base
Autres commandes utiles
Compression et décompression des fichiers
Linux fournit un grand nombre de programmes de compression de fichiers. Le
meilleur est sans doute bzip2, et le plus compatible sans doute compress.
Cependant, le plus utilisé et le plus courant, surtout pour la distribution des
sources, reste incontestablement gzip. Nous allons décrire brièvement comment
compresser et décompresser des fichiers avec gzip et bzip2 dans ce paragraphe.
La compression d'un fichier se fait de manière élémentaire :
gzip fichier
où fichier est le fichier à compresser. Après avoir effectué son travail, gzip
renomme le fichier compressé en « fichier.gz ».
La compression d'un fichier avec bzip2 utilise exactement la même syntaxe,
à ceci près qu'il faut remplacer gzip par bzip2. De plus, le nom du fichier
compressé porte l'extension .bz2 au lieu de .gz. Le fichier obtenu est donc
nommé « fichier.bz2 ».
bzip2 fichier
La décompression d'un fichier se fait à l'aide de la commande suivante :
gunzip fichier.gz
ou
bunzip2 fichier.bz2
SYSTÈMES D'EXPLOITATION « OPEN SOURCE »
Mme LAHLALI
Les opérations de base
Autres commandes utiles
Archivage de fichiers
La commande tar permet d'archiver ou de désarchiver des répertoires et des
fichiers de façon optimale. Ce programme permet simplement de regrouper tous
les fichiers qu'il doit archiver dans un seul fichier structuré en blocs
La compression d'un fichier se fait de manière élémentaire :
Mme LAHLALI
La commande zip
On utilise alors les commandes zip et unzip.
Création
zip votre_archive.zip [liste des fichiers]
zip -r votre_archive.zip [dossier]
zip -r votre_archive.zip *
(la dernière compresse tous les fichiers et dossiers du dossier courant).
zip -e votre_archive.zip [liste des fichiers] chiffre le zip et demande un mot de passe.
Extraction
unzip votre_archive.zip -d mon_repertoire
Extraction de plusieurs .zip d'un même dossier
unzip '*.zip'
Archives zip découpées
Quelques fois les archives zip sont découpées comme suit : archive.z01, archive.z02, …, archive.zip
Il faut rassembler les fichiers dans une seule archive, puis extraire cette dernière :
Mme LAHLALI
Les opérations de base
vi, l'éditeur de fichiers de base
Vous serez obligé, lorsque vous effectuerez la configuration de votre système,
d'éditer les fichiers de configuration (classiquement, ces fichiers sont placés dans le
répertoire /etc/). Ces modifications peuvent être réalisées avec n'importe quel éditeur
a priori, et il est même conseillé d'utiliser votre éditeur favori. Cependant, il faut savoir
se servir de vi, parce que c'est le seul éditeur qui sera toujours installé, et qui
fonctionnera en toutes circonstances.
Le prix à payer pour cette fiabilité est un nombre restreint de fonctionnalités.
Pour éditer un fichier avec vi, il suffit de passer le nom de ce fichier en ligne de
commande :
vi fichier
vi est un éditeur qui fonctionne dans plusieurs modes différents :
mode insertion : ce qui est tapé est interprété comme du texte à insérer
mode commande : ce qui est tapé est interprété comme une commande
mode ex : ce qui est tapé est interprété comme une commande ex
Effacement de texte :
x : efface le caractère courant
dw : efface entre la position du curseur et le début du mot suivant
dG : efface entre la position du curseur et la fin du fichier
dd : efface la ligne courante
La suppression d'un caractère se fait avec la touche Suppr ou la touche de
retour arrière (dite touche Backspace).
Les commandes de vi peuvent être répétées un certain nombre de fois, en
spécifiant ce nombre avant de les écrire. Ainsi, pour supprimer 3 lignes, il suffira
de taper la commande suivante : 3dd
Sortie de vi :
:q : quitte sans sauvegarder (mode ex)
:q! : force la sortie sans sauvegarder
:w : sauvegarde l ’édition courante dans un fichier (mode ex)
:wq : sauvegarde et quitte
:wq! : force la sauvegarde et quitte
Toute commande étant exécutée par un processus, nous dirons également qu’une
commande possède trois entrées / sorties standard.
De manière générale, une commande de type filtre (ex : cat) prend ses données sur
son entrée standard qui correspond par défaut au clavier, affiche ses résultats sur
sa sortie standard, par défaut l’écran, et affiche les erreurs éventuelles sur sa
sortie standard pour les messages d’erreurs, par défaut l’écran également.
Ex : $ pwd
/home/etudiant
$ pwd > fich
$ => aucun résultat affiché à l’écran !
$ cat fich => le résultat a été enregistré dans le fichier fich
/home/etudiant
Ex : $ pwd
/home/etudiant
$ pwd > fich
$
$ date >> fich
$ cat fich
/home/etudiant
mer jan 14 17:22:27 UTC 2010
Ex : $ rmdir dossier2
rmdir: `dossier2': No such file or directory
$ rmdir dossier2 2>error.log
$
$ cat error.log
rmdir: `dossier2': No such file or directory
Comme pour la sortie standard, il est possible de concaténer la sortie standard pour
les messages d’erreur d'une commande au contenu d'un fichier : 2>> fichier
Ex :
$ ls vi test >trace 2>&1
$ cat trace
ls: vi: Aucun fichier ou répertoire de ce type
test
La sortie standard est redirigée vers le fichier trace puis la sortie standard pour les
messages d’erreur est redirigée vers la sortie standard, c.-à-d. également vers le
fichier trace.
Ex :
$ ls vi test &> trace
$ cat trace
ls: vi: Aucun fichier ou répertoire de ce type
test
Attention : Les redirections étant traitées de gauche à droite, l’ordre des redirections
est important.
stderr stderr
Ex 1 : combien de fichiers dans le rep. courant ?
sans pipe:
ls > temp ; wc -l < temp ; rm temp
avec un pipe:
ls | wc -l
Ex 2 : ls -l /bin | more
les informations affichées par ls -l sont envoyées vers l’entrée de la commande
more qui les affiche écran par écran.
Ex 1 : ls -l /bin | more
$ date | tee trace1 trace2 | wc -l Ex 2
1 ls -l /etc | grep csh | sort
$ cat trace1
mer jan 14 17:22:27 UTC 2010
$ cat trace2
mer jan 14 17:22:27 UTC 2010
La commande unix tee écrit le contenu de son entrée standard sur sa sortie standard tout
en gardant une copie dans le ou les fichiers dont on a passé le nom en argument.
Dans l’exemple ci-dessus, tee écrit le résultat de date dans les fichiers trace1 et trace2
ainsi que sur sa sortie standard, résultat passé à la commande wc -l.
<<EOF
texte
.
.
.
EOF
où texte est le contenu du texte à insérer, et EOF est un marqueur
quelconque qui sera utilisé seul sur une ligne afin de signaler la fin du texte.
Ex :
Supposons par exemple que l'on désire rediriger tous les messages (d'erreur ou
non) de la commande ls /proc/ dans un fichier result.txt, tout en continuant à
les visualiser sur l'écran. Pour cela, on utilisera la commande suivante :
ls -l /proc 2>&1 | tee result.txt
Voir le man !!
Mme LAHLALI
L’enchaînement des commandes sous Linux
Le « && »
Commande1 && commande2
Mme LAHLALI
L’enchaînement des commandes sous Linux
Le "||«
Commande1 || commande2
Dans d'autres cas, il peut être intéressant d'exécuter une commande
uniquement si la commande précédente ne se déroule pas
correctement au lieu de mettre fin à toute la ligne de commande. Cela
est possible avec les caractères "||".
Mme LAHLALI
Les opérations de base
Autres commandes utiles
Passage en mode superviseur
Si vous êtes prudent, vous avez sans doute créé un compte utilisateur juste après
avoir installé votre système de base, et vous ne travaillez plus que dans ce compte.
Cette technique est prudente, cependant, elle pose un problème évident : vous ne
pouvez pas y faire votre travail d'administrateur. C'est pour cela que la commande su
a été créée. Cette commande permet de changer son identité dans le système :
su [utilisateur]
su - [utilisateur]
où utilisateur est l'utilisateur dont on veut prendre l'identité. Par défaut, si aucun
utilisateur n'est spécifié, le changement d'identité se fait vers l'utilisateur root.
87
Gestion des utilisateurs et des groupes
Commandes de gestion des utilisateurs
Ajouter un utilisateur
La commande useradd permet de créer un utilisateur :
-c commentaire
Useradd user2
Pour examiner les valeurs par défaut appliquées par useradd :
commande useradd -D ou
éditer /etc/default/useradd
GROUP=100 identifiant du groupe primaire HOME=/home
racine des rép. personnels INACTIVE=-1 (nb de jours avant destruction
du compte)
EXPIRE= nb de jours avant expiration du mot de
passe
SHELL=/bin/bash shell de connexion attribué au
compte
SKEL=/etc/skel fichiers recopiés par défaut dans
chaque rép. personnel
Mme LAHLALI
Gestion des utilisateurs et des groupes
Commandes de gestion des utilisateurs
Mme LAHLALI
Gestion des utilisateurs
Commandes de gestion des utilisateurs
Changer le mot de passe d'un utilisateur
La commande passwd permet de changer le mot de passe d'un utilisateur.
L'administrateur peut changer n'importe quel mot de passe. Un utilisateur normal
ne peut changer que son propre mot de passe.
passwd [options] [login]
Si l'argument login n'est pas spécifié, le changement de mot de passe s'applique
sur l'utilisateur courrant.
Les options:
• -d , pour supprimer le mot de passe, l'utilisateur pourra se connecter sans !
• -l , pour verrouiller le compte et empêcher sa connexion.
• -u , pour déverrouiller.
Mme LAHLALI
Gestion des utilisateurs et des groupes
Les utilisateurs et les groupes
Les Groupes
Le fichier /etc/group contient les informations relatives au groupes présents sur le
système.
Voici sa syntaxe : groupe:*:GID:utilisateurs
groupe : le nom du groupe
* : la présence de ce champ est lié aux anciennes versions d'Unix et n'est plus
utilisé. Il peut rester vide ou contenir le caractère "*" ou "x".
GID : c'est l'identifiant unique du groupe sous la forme d'une valeur
numérique.
utilisateur : il s'agit de la liste des utilisateurs appartenant au groupe.
Ils sont séparés par des virgules :
Mme LAHLALI
Les opérations de base
Les droits d'accès
Classes d'utilisateurs
User (l’utilisateur)
le propriétaire du fichier (User)
il est désigné par la lettre u
Group (groupe)
le groupe dans lequel appartient le propriétaire (Group)
il est désigné par la lettre g
Others (autres)
regroupe tous les utilisateurs qui ne sont ni le propriétaire ni faisant partir du
même groupe que le propriétaire
ils sont désignés par la lettre o
groupe
-rw-r--r-- 1 stagiaire ofppt 58K 16 Jul 09:19 tp1.tex
classe:
u : user
g : group chaque perm = 1 valeur:
o : others
a : all r 4
op: w 2
= : affectation x 1
- : suppr. déf. desrien 0 (par addition) pour chaque
permissions
+ : ajout classe
perm:
r : lecture
w : écriture
x : exécution
Par défaut, tous les fichiers créés ont comme droit 666 et les dossiers 777.
l'umask est un masque qui va réduire ces droits.
Lors de la création d'un fichier, le système va soustraire l'umask aux droits par
défaut.
Ainsi, dans certains cas, il est plus intéressant de changer la valeur de umask
que de faire des chmod à répétition ensuite
Le changement de groupe peut être réalisé par n'importe quel utilisateur, mais on
ne peut donner un fichier qu'à l'un des groupes dont on est membre. Cette
opération se fait à l'aide de la commande suivante :
chgrp groupe fichier
où groupe est le nom du groupe qui doit être affecté au fichier, et fichier est le
fichier devant changer de groupe. Bien entendu, l'administrateur peut affecter un
fichier à n'importe quel groupe d'utilisateur.
Mme LAHLALI
Partitionnement de disque
Mme LAHLALI
Partitionnement de disque
Sous Linux, les commandes de fdisk sont appelées par des
touches, voici la liste des plus importantes :
Commande Description
d destruction d'une partition
l liste des types de partitions
m Impression du menu en cours
n création d'une nouvelle partition
p Affichage des partitions
q Sortie de fdisk sans sauvegarde des
paramètres
t Modification du type de partition
v Vérification de la table des partitions
w Sauvegarde des modifications et sortie de
fdis
Mme LAHLALI
Les systèmes de fichiers sous Gnu/Linux
Création des systèmes de fichiers
Pour chaque système de fichiers, une commande spécifique est fournie afin de
le créer. Toutefois, une commande générique de création de systèmes de
fichiers permet d'uniformiser la manière de créer les systèmes de fichiers,
rendant ainsi inutile la connaissance de ces commandes spécifiques.
Ainsi, pour créer un système de fichiers JFS (système de fichiers journalisé créé
par IBM) sur la première partition du premier disque SCSI, il suffit d'exécuter la
commande suivante :
mkfs -t jfs /dev/sda1
mkfs -t ext4 /dev/sdb1
Exemple :
mount /dev/hda3 /dev/stock
Rq : Le type de fichier peut être détecté automatiquement par mount par une
analyse des premiers bits de la partition demandée, néanmoins dans
certains cas il peut être nécessaire de lui imposer un format.
# mount -a
Voir le man !!
nice -n 18 commande
Ces niveaux sont compris entre -20 (priorité absolue sur les autres
l'utilisateur root.
Mme LAHLALI
Contrôle des processus
Pour connaître la priorité d'un processus, utilisez la commande top, ou ps
elle affiche la valeur de la priorité pour chaque processus dans la
colonne NI.
Un processus hérite de la priorité de son père par défaut (en général 0
car init est à 0). Mais il se peut que vous vouliez changer ça valeur. Pour
cela il existe la commande renice :
6969 est un pid
renice 10 6969
Attention toutefois, un utilisateur de base ne peut qu'augmenter la valeur
de nice et donc réduire la priorité d'un processus. Seul root peut la
réduire et éventuellement lui donner une valeur négative.
Faites attention, utiliser des valeurs négatives fortes peut poser quelques
problèmes sur votre système, faites quelques tests.
Mme LAHLALI
Contrôle des processus
Arrière plan / Avant plan
Lorsque vous lancez un programme, le shell prend en compte l'exécution du
processus, ainsi il faut attendre la fin de celui-ci avant d'avoir à nouveau le prompt.
On dit que le processus est en "Avant Plan" dans cet état il peut recevoir directement
des signaux par les combinaisons de touches Ctrl-?.
Il existe un autre mode dans lequel le processus est dit en "Arrière plan",
contrairement au mode "Avant Plan" lors de l'exécution du programme, le shell
affiche le prompt directement sans attendre la fin du processus.
•5,8d4 indique que les lignes 5 à 8 du premier fichier doivent être supprimées, car elles
n'existent pas derrière la ligne 4 du second.
•10,15c12,17 indique que les lignes 10 à 15 du premier fichier doivent être intégralement
changées contre les lignes 12 à 17 du second.
Commande : uniq
La commande uniq détruit les lignes consécutives dupliquées
Voir le man !!
uniq [-options] fichier1
-u : affiche les lignes "uniques"
-d : affiche les lignes "dupliquées"
SYSTÈMES D'EXPLOITATION « OPEN SOURCE »
Mme LAHLALI
Remplacement de texte dans les fichiers
Commande : sed
Le remplacement de texte dans un fichier peut être effectué de manière
automatique, c'est-à-dire sans avoir à ouvrir le fichier dans un éditeur, grâce
à la commande sed ( Stream Editor ).
sed peut travailler à la volée sur un flux de données textuelles, que ce flux
provienne de l'entrée standard ou d'un fichier.
Par défaut, il écrit le résultat de son travail sur le flux de sortie standard.
Les opérations qu'il doit effectuer sur le flux de données peuvent être
spécifiées de différentes manières, soit en fournissant un fichier script à l'aide
de l'option -f, soit directement sur la ligne de commande, avec l'option –e
La syntaxe utilisée pour appeler sed est donc typiquement la suivante :
sed -e "commandes" fichier > résultat ou :
sed -f script fichier > résultat
où fichier est le fichier sur lequel sed doit travailler, et résultat est le fichier
devant recevoir le flux de données modifiées. Notez que cette commande
utilise une redirection du flux de sortie standard dans un fichier.
Mme LAHLALI
Les alias
Le shell fournit donc un mécanisme pour donner un nom simplifié aux
commandes complexes : le mécanisme des alias.
Les alias représentent en fait des chaînes de caractères complexes, et sont
remplacés automatiquement par le shell lorsqu'il analyse les lignes de
commandes
Pour créer un alias, vous devrez utiliser la syntaxe suivante :
alias nom=chaîne
où nom est le nom de l'alias, et chaîne est la chaîne de caractères représentée par
cet alias
La suppression des alias se fait à l'aide de la commande unalias. Sa syntaxe
est la suivante :
unalias nom
où nom est le nom de l'alias à supprimer
Vous pouvez visualiser la liste des alias existant simplement à l'aide de la
commande alias, appelée sans paramètres
aff bonjour
145
Gestionnaire de paquets
Un gestionnaire de paquets est un (ou plusieurs) outil(s) automatisant
le processus d’installation, désinstallation, mise à jour de logiciels
installés sur un système informatique.
Mme LAHLALI
Utilité
Le gestionnaire de paquets permet d’effectuer différentes
opérations sur les paquets disponibles :
Vérification
des sommes de contrôle de chaque paquet
récupéré pour en vérifier l’intégrité ;
Mme LAHLALI
Nomenclature des systèmes de paquets
Mme LAHLALI
Utilitaire dpkg
Dpkg est utilisé pour installer, supprimer et fournir des
informations à propos des paquets *.deb qui sont
supportés par les distributions basées Debian.
Mme LAHLALI
Commandes utiles dpkg
Pour lister tous les paquets installés avec des droits
priviliégés :
dpkg -l
ou
dpkg --get-selections
Mme LAHLALI
Utilitaire rpm
RPM est l’autre système de base. Il permet d’installer, mettre à jour, désinstaller,
vérifier et rechercher des paquets, avec les droits de l’utilisateur root.
Pour Installer un paquet :
rpm -ivh fichier.rpm
options
v : mode bavard
Mme LAHLALI
Utilitaire rpm
Commande rpm -q
Lister tous les paquets installés :
rpm -qa
Vérifier qu’un paquet est installé :
rpm -q wget
Lister les fichiers d’un paquet installé :
rpm -ql wget
Obtenir toutes les informations concernant un paquet installé :
rpm -qi wget
Obtenir toutes les informations concernant un paquet avant le
l’installer :
rpm -qip fichier.rpm
Mme LAHLALI
RPM & DEB
Mme LAHLALI
Dépôt de paquets
Un gestionnaire de paquet avancé comme apt ou dnf gère des
sources de logiciels (la plupart du temps déjà compilés) et leur
authenticité.
Mme LAHLALI
Principe de fonctionnement
Principe de fonctionnement d’un gestionnaire de paquet avancé :
Les logiciels disponibles sont contenus dans une liste qui doit être à
jour afin d’assurer la cohérence de l’ensemble du système.
Au moment de la demande d’installation, cette liste est consultée pour
prendre les fichiers nécessaires.
Le système de paquetage décompresse et place les différents fichiers
binaires, de configuration et de documentation aux endroits appropriés.
Éventuellement, un dialogue de configuration intervient.
Éventuellement, le système de paquetage installe automatiquement
un service et le démarre.
Mme LAHLALI
Tâches
Mme LAHLALI
APT
La communauté Ubuntu fournit les paquets universe (libres)
et multiverse (non-libres).
On prendra l’habitude de mettre à jour la liste de paquetages avec :
apt-get update
Recherche APT :Recherche dans les descriptions de paquets :
Mme LAHLALI
APT
Mettre à jour tous les paquets installés vers les dernières versions en installant d
nouveaux paquets si nécessaire :
apt dist-upgrade
Installation ou mise-à-jour d’un paquet :
Mme LAHLALI
APT
On peut combiner les deux :
apt autoremove --purge wget
Retire les dépendances non nécessaires :
apt autoremove
Suppression des fichiers mis en cache dans var/cache/apt/archives :
apt clean
Réinstaller un paquet :
Mme LAHLALI
Qu'est ce que dnf ?
Mme LAHLALI
dnf
Installer : La principale utilisation de dnf, c'est l'installation des logiciels
dans la distribution :
dnf install paquet
Désinstaller: Pour désinstaller un paquet, c'est aussi simple :
dnf remove paquet
Si on souhaite désinstaller aussi les dépendances non utilisées :
dnf autoremove paquet
Mettre à jour: Pour mettre à jour un paquet :
dnf upgrade paquet
Et pour mettre à jour la distribution :
dnf upgrade
A noter : On peut exclure un paquet d'une mise à jour :
dnf --exclude=paquet update
Les jokers fonctionnent aussi, moyennant un échappement du caractère :
dnf --exclude=kernel\* update
Mme LAHLALI
dnf
Rétrograder la version d'un paquet: Il est aussi possible (s'il est
présent dans les dépôts) de rétrograder la version d'un paquet via
dnf downgrade paquet
Réinstaller un paquet: Même si c'est quasiment jamais utilisé, il
est possible aussi via yum de réinstaller un paquet. Ça le réinstalle
dans la même version :
dnf reinstall paquet
Recherche de paquets: Pour rechercher un paquet par son nom,
on peut utiliser :
dnf list paquet
Si on ne connait pas le nom du paquet, on peut utiliser le joker
(échappement du caractère nécessaire) :
dnf list \*paqu\*
Mme LAHLALI
Dnf
Mme LAHLALI
dnf
Activer ou Désactiver un dépôt: Pour activer un dépôt de manière permanente :
dnf config-manager --set-enabled nomdepot
Et pour désactiver un dépôt de manière permanente :
dnf config-manager --set-disabled nomdepot
Activer ou désactiver un dépôt pendant la mise à jour: De manière temporaire, on
peut activer un dépôt pour une mise à jour :
dnf --enablerepo=nomdepot update
ou le désactiver :
dnf --disablerepo=nomdepot update
Avoir des infos sur un paquet: Pour avoir des informations détaillées sur un paquet,
on peut utiliser la commande
dnf info paquet
Mme LAHLALI
Dnf
Quelques astuces ...
Limiter la bande passante de dnf: Pour limiter la bande passante de dnf,
éditer le fichier /etc/dnf/dnf.conf et utiliser l'option throttle :
throttle=20k
max_connections=1
Le paramètre de connexions est à placer à 1 sinon, dnf par défaut
parallélise les téléchargements (par 3) et du coup, la limitation de la bande
passante ne fonctionne plus !
Désactiver les deltarpm
Les deltarpm permettent de réduire la taille des téléchargements, mais
l'opération de reconstruction des RPM est coûteuse en disque. Si la
connexion est bonne, on peut désactiver l'utilisation des deltarpm en
ajoutant ceci au fichier /etc/dnf/dnf.conf :
deltarpm=0
Mme LAHLALI
Dnf
Protéger des paquets de la suppression : Si vous souhaitez ajouter un paquet
à protéger (pour ne pas qu'il soit supprimé par inadvertance ou par orphelins)
vous devez ajouter le nom du paquet au fichier /etc/dnf/protected.d/dnf.conf
Un nom de paquet par ligne.
Mme LAHLALI
dnf
Désactiver les statistiques
Depuis Fedora 32, DNF envoie par défaut tous les 7 jours une requête
permettant de comptabiliser des machines actives avec le type de version
utilisée.
Si vous êtes opposé à cela, vous pouvez ajouter dans le fichier
/etc/dnf/dnf.conf, l'instruction countme :
countme=False
Conserver un certain nombre de kernels (installonly_limit)
Par défaut, dnf permet de conserver 3 kernels (les 3 plus récents). C'est
configuré grâce à la variable installonly_limit du fichier dnf.conf.
Pour par exemple ne conserver que 2 kernels, éditer /etc/dnf/dnf.conf et
ajouter la ligne
installonly_limit=2
Mme LAHLALI
Dnf
La valeur minimale est 2. Si vous mettez 0, cela veut dire de garder
de manière illimitée.
Mme LAHLALI
Gestion d’impression
Il existe deux systèmes d'impression concurrents sous Linux : LPRng (« Line Printer
Next Generation ») et CUPS (« Common Unix Printing System »). LPRng est une
évolution du système initial, LPR, qui est devenu très vite obsolète en raison de
l'évolution des technologies d'impression. En effet, celui-ci a été conçu à l'époque où
les imprimantes étaient encore des imprimantes matricielles et ne pouvaient imprimer
qu'en noir et blanc. CUPS, quant à lui, a été créé pour fournir une infrastructure
complètement nouvelle et pour s'affranchir des limitations de LPRng. C'est donc la
solution d'avenir, mais il n'est pas rare de trouver encore des systèmes basés sur
LPRng. D'autre part, la compatibilité au niveau des commandes d'impression est
assurée par CUPS, ce qui fait que la présentation de LPRng n'est pas superflue.
Mme LAHLALI
Commandes d'impression
lpd : Démon d'impression sous UNIX (lpd, Line Printer
Daemon).
Mme LAHLALI
Commandes d'impression
lpr : Soumission d'un travail d'impression à une imprimante.
lpq : Affichage de la file d'attente d'impression d'une
imprimante.
lprm : Suppression d'un travail d'impression de la file
d'attente d'une imprimante.
lpc : Contrôle d'une imprimante.
Commencement et arrêt de l'envoi des travaux
d'impression.
Activation et désactivation.
d'attente.
Mme LAHLALI
Installation d'une imprimante
http://localhost:631
Mme LAHLALI
Installation d'une imprimante
Maintenant que la machine fonctionne, voyons comment imprimer. Les
imprimantes sont gerées par le programme lpc et par le démon lpd. Le
programme lpr place une copie des fichiers dans un répertoire d'attente
(de spool), dans lequelle les fichiers se voient attribuer un numéro de
Job, suivant leur ordre d'arrivée, qui déterminera l'ordre dans lequel ils
seront imprimés. En tout, il y place au moins deux fichier :
Mme LAHLALI
Installation d'une imprimante
Mme LAHLALI
Installation d'une imprimante
Il faut d'abord s'assurer que le démon d'impression est bien lancé
(normalement il l'est au démarage) :
ps -ax | grep lpd
Le résultat devrait ressembler a ca (si ce n'est pas le cas, il faut le
lancer : /usr/sbin/lpd) :
102 ? S 0:00 /usr/sbin/lpd
Il faut également s'assurer que le câble est bien connecté au port
(série ou parallèlle) :
dmesg | grep lp
Le résultat devrait ressembler a ca (pour un port parallèle) :
lp1 at 0x0378, (polling)
Mme LAHLALI
Exercices
Contenu de répertoires et de fichiers
Exercice 1
1. Déterminer le répertoire par défaut dans la hiérarchie des répertoires?
2. Y a t-il des fichiers, des répertoires dans ce répertoire?
3. Entrer du texte dans un fichier nommé "Mon_fichier".
4. Lister le contenu de "Mon_fichier".
5. Lister le répertoire courant.
6. Lister les répertoires /bin et /dev.
7. Créer sous votre répertoire deux sous-répertoires : "Source" et "Data".
8. Se positionner sous "Source".
9. Listez le répertoire courant.
10. Revenir sous le répertoire de départ et détruire "Source".
11. Créer un deuxième fichier nommé "Mon_fichier_2".
12. Copier chaque fichier en nom_de_fichier.old.
13. Créer un répertoire "Old".
14. Déplacer les fichiers avec l'extension old vers le répertoire "Old".
Exercice 4 :
Lister tous les fichiers
se terminant par 5
commençant par annee4
commençant par annee4 et de 7 lettres maximum
commençant par annee avec aucun chiffre numérique
contenant la chaîne ana
commençant par a ou A
Exercice 5 :
Copier les fichiers dont l'avant dernier caractère est un 4 ou 1 dans le répertoire
/tmp en une seule commande.
Les filtres
Exercice 9 :
Dans le fichier passwd qui est dans votre home directory éditez uniquement les champs
contenant le login et la home directory.
Exercice 10 :
Triez passwd sur le nom
Exercice 11 :
Extraire les nom de login et UID puis triez suivant les UID, le tout en une seule
commande, vous redirigerez le tout vers un fichier
Exercice 16 :
Éditez les cinq dernières lignes du fichier.
Éditez les cinq premiers caractères du fichier.
Exercice 17 :
Afficher par ordre alphabétique les utilisateurs définis dans le fichier /etc/passwd.
Exercice 19 :
Rechercher tous les fichiers du répertoire /etc contenant la chaîne de caractères
"root".
Rechercher la localisation du fichier "stdio.h" dans le système de fichier de votre
installation.
Exercice 21 :
Combien il y a de fichiers dans toute l'arborescence vous appartenant et ayant les
droits fixés à 666 (-rw-rw-rw-).
Exercice 22 :
Trouver tous les fichiers test dans l'arborescence et supprimez les après confirmation.
SYSTÈMES D'EXPLOITATION
Mme LAHLALI « OPEN SOURCE »