0% ont trouvé ce document utile (0 vote)
37 vues160 pages

Commandes de base Linux et terminal

Transféré par

minnona94
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
37 vues160 pages

Commandes de base Linux et terminal

Transféré par

minnona94
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

COMMANDES DE BASE

DE LINUX

1
INTRODUCTION

Commandes Linux

Système Linux

Distribution Ubuntu

Administration Système

2
Système Linux

Interpréteur de commandes

• Interpréteur de commandes : outils pour exécuter des


commandes tapées par un utilisateur dans un terminal
• Les commandes sont tapées dans un terminal en mode
texte, constitué par une fenêtre dans un environnement
graphique,
• Les résultats sont aussi affichés sur le terminal. Une
sortie graphique n’est pas obligatoire (pour la plupart des
commandes la sortie est du texte)

3
Système Linux

Interpréteur de commandes
• Pour ouvrir le Terminal on peut soit:
⇒ Chercher « terminal » dans le tableau de bord et l’épingler
à la barre de lancement,
⇒ Appuyer simultanément sur les touches CTRL + ALT + T.

C’est l’invite de commande:


C'est un message qui vous invite à taper
une commande.

4
Système Linux

L’invite de commande:
ichrak@ichrak le premier élément est votre pseudonyme(ichrak): C'est le
pseudo sous lequel vous vous êtes logés.

@ : C'est le symbole « at » qui signifie « chez ». Si on lit l'invite de


gauche à droite, on doit donc comprendre «ichrak chez ».
ichrak: ça, c'est le nom de l'ordinateur sur lequel vous êtes en train de
travailler. En d'autres termes, je suis identifié en tant que ichrak sur la
machine ichrak.
• : ce symbole ne veut rien dire de spécial, c'est un séparateur.
• ~ : ça, c'est le dossier dans lequel vous vous trouvez actuellement
• Pour information, le symbole ~ signifie que vous êtes dans votre dossier
personnel, ce qu'on appelle le « home » sous Linux; c'est l'équivalent du
dossier « Mes documents » sous Windows.

5
Système Linux

L’invite de commande:

• $ : Il indique votre niveau d'autorisation sur la machine. Il peut prendre


deux formes différentes:
✓ $ : signifie que vous êtes en train d'utiliser un compte utilisateur «
normal », avec des droits limités (il ne peut pas modifier les fichiers
système les plus importants). Mon compte ichrak est donc un compte
normal avec des droits limités ;
✓ # : signifie que vous êtes en mode super utilisateur, c'est-à-dire que
vous êtes connectés sous le pseudonyme « root ». Le root est
l'utilisateur maître qui a le droit de tout faire sur sa machine (même
de la détruire !).

6
Système Linux

Interpréteur de commandes
➢Les commandes sont courtes, abrégées, Il s'agit bien souvent d'une
abréviation de termes.
❑Syntaxe :
commande [options] <arguments>
séparateur : caractère espace
• Commande :
⇒ Action à accomplir ou application à démarrer
• Arguments
⇒ Objets ou fichiers auxquels la commande s'applique
• Options
⇒ Modification du comportement de la commande Commencent
généralement par un -
7
Système Linux

Interpréteur de commandes
➢Exemple:
cat -n /etc/passwd

• cat est la commande pour afficher le contenu d'un fichier.


• -n est une option qui ajoute des numéros de ligne aux lignes
affichées.
• /etc/passwd est l'argument qui spécifie le chemin du fichier à
afficher.

Cette commande affiche le contenu du fichier "/etc/passwd" en


ajoutant des numéros de ligne aux lignes affichées.

8
Système Linux

Syntaxe des commandes


• Une commande Unix peut avoir 0, un nombre fixe ou un nombre variable
d'arguments, plus un certain nombre d'options.
• Une option commence en général par un tiret ( - )

• Une commande sans paramètre qui affiche la date et l'heure courante

• Une commande avec un paramètre(une année) qui affiche le calendrier complet


de l’année en question.

• La même commande avec deux paramètres, le mois et l'année

• Sans argument cette commande affiche une ligne vide

9
Système Linux

Syntaxe des commandes

10
Système Linux

Syntaxe des commandes


Les paramètres courts (une lettre): Les paramètres (options) les plus courants
sont constitués d’une seule lettre précédée d'un tiret. Par exemple : ls –a
Cela affiche tout le contenu du dossier, même les fichiers cachés.
Un « fichier caché » sous Linux est un fichier qui commence par un point. Ce
sont en général des fichiers de configuration de programmes.

Les paramètres longs (plusieurs lettres): Les paramètres constitués de plusieurs


lettres sont précédés de deux tirets,

11
Système Linux
Syntaxe des commandes
Si on ajoute le nom d'un dossier (ou sous-dossier), cela affichera le contenu de
ce dossier au lieu du contenu du dossier courant :

12
Système Linux

Page de manuel
• Pour obtenir des informations plus complètes sur l'usage et l'utilité d’une
commande, il suffit d'invoquer le manuel en ligne de commande:
man nom_de_la_commande.
• Pour sortir du manuel, composer la touche q.
➢ man <mot_clé> ⇒ Affiche une ou plusieurs pages de manuel pour
<mot_clé>

Exemple:

⇒ man man
⇒ man cd

13
Système Linux

Edition des commandes


• L'édition d'une commande sous bash (càd avant exécution de la commande)
est possible pendant la saisie même de la commande, à l'aide de caractères
spéciaux
• Lors de la saisie d’une commande, on est automatiquement en mode
insertion, et on dispose des fonctionnalités suivantes :
❑ Déplacement du curseur:
⇒ déplacement du curseur à gauche d'un caractère: flèche gauche ou<ctrl+b>
⇒ déplacement du curseur à droite d'un caractère : flèche droite ou <ctrl+f>
⇒ déplacement du curseur d'un mot à gauche : <alt+b>
⇒ déplacement du curseur d'un mot à droite : <alt+f>
⇒ déplacement du curseur en début de ligne : <ctrl+a>
⇒ déplacement du curseur en fin de ligne : <ctrl+e>

14
Système Linux

Edition des commandes


❑ Effacement de caractères:
⇒ effacement du dernier caractère saisi (à gauche du curseur) : <backspace>
⇒ effacement du caractère courant (sous le curseur) : <suppr> ou <ctrl+d>
⇒ effacement du mot courant (à partir du curseur) : <alt+d>
⇒ effacement du texte du début de ligne jusqu'au curseur: <ctlr+u>
⇒ effacement de la ligne du curseur à la fin de la ligne : <ctlr+k>

15
Système Linux

Trouver une commande


• Linux propose tellement de commandes différentes qu'il est facile de s’y perdre et
d'en oublier une. Linux propose toute une série de façons de retrouver une
commande que vous avez oubliée par l’Auto-complétion de commande.
• Prenons la commande date par exemple : si vous ne savez plus comment elle s'écrit.
Par contre, vous êtes sûrs des premières lettres de la commande. Tapez juste « da »
dans la console, puis tapez deux fois sur la touche Tabulation, comme ça vous allez
demander à l'ordinateur la liste des commandes qui commencent par « da ».

• S'il n'y a qu'un seul résultat correspondant à votre recherche, l'ordinateur


complètera avec les lettres qui manquent et vous n'aurez plus qu'à taper sur Entrée !
• Par exemple, il n'y a qu'une commande qui commence par « dat ». Tapez donc
dat dans la console, puis appuyez une seule fois sur Tabulation. La commande se
complète

16
Système Linux

Historique des commandes


• On a très souvent besoin de retrouver une commande que l'on
a tapée , pour se faire appuyez sur la flèche directionnelle Haut
⇒ réédition de la commande qui précède la commande
courante dans l'historique : flèche haut ou <ctrl+p>
⇒ réédition de la commande qui suit la commande courante
dans l'historique : flèche bas ou <ctrl+n>
• Vous verrez apparaître la dernière commande que vous avez
tapée.
Si vous appuyez de nouveau sur la flèche directionnelle Haut,
vous verrez l'avant dernière commande, puis l'avant-avant-
dernière, etc.

17
Système Linux

Historique des commandes


• Il existe la commande history qui vous rappelle l'historique des
commandes :
les commandes sont numérotées : ainsi, on peut savoir que ls –
all est la 4ème commande tapée dans le terminal.

Ctrl + R : rechercher une commande tapée avec quelques lettres

18
Système Linux

Manipulation de la commande « History »

cat .bash_history // Affichage du contenu

rm ~/.bash_history // Supprimer le fichier

19
Système Linux

Ré- exécuter une commande


• Syntaxe: La commande !!
• Dans la ligne des raccourcis BASH bien pratiques, le double point
d’exclamation, permet de lancer à nouveau la dernière commande.

20
Système Linux

Aide sur les commandes


• La plupart des commandes de Linux proposent au moins un paramètre d’aide
• Les commandes affichent souvent un court résumé des options
disponibles quand vous utilisez un argument invalide.

• Syntaxe: commande --help

Exemple

21
Système Linux

Nettoyer la fenêtre du terminal


• La commande clear

• Nettoie votre fenêtre de terminal en reléguant tout le texte au dessus et


vous laissant donc face à une fenêtre clean. Bien utile de temps à autre pour
y voir plus clair.

• Le raccourci clavier ctrl + l fait la même chose.

22
Système Linux

Appeler une commande d’une manière répétitive


• La commande watch
• Cette commande permet d’appeler une autre commande de manière
répétitive.
• Exemple: watch date
cela affiche la date et l'heure actuelles toutes les 2 secondes (par défaut)
dans votre terminal.

• L’option -n permet de spécifier un intervalle en seconde.

• Pour arrêter le processus cliquez sur CTRL+Z ou CTRL+C

23
Système de fichiers Linux

Exercice:

1.Affichez la date et l'heure actuelles dans le fuseau


horaire local.
2.Affichez la date et l'heure actuelles en utilisant le
fuseau horaire UTC (Le temps universel coordonné).
3.Affichez le numéro de semaine de l'année
correspondant à la date actuelle.
4.Affichez la date et l'heure d'il y a une semaine.
5.Afficher la date et l’heure qui sera dans une semaine.
6.Affichez la date et l'heure d'il y a un mois.

24
Système de
fichiers Linux
25
Système de fichiers Linux

Système de Fichiers
• Le système de fichiers est organisé en une structure arborescente, dont les
nœuds sont des répertoires et les feuilles des fichiers ordinaires.

⇒ Les fichiers ordinaires : servent à mémoriser les programmes et les données.

⇒ Les fichiers répertoires ou (directories) : chaque répertoire contient la


liste et la référence des fichiers placés sous son contrôle et la référence du
répertoire dont il dépend (répertoire père). {Visualisez cela avec ls depuis /}

⇒ Les fichiers spéciaux : Ce sont des fichiers qui ne sont pas stockés sur un
disque physique, mais qui servent plutôt de mécanisme de communication
entre différents processus.

26
Système de fichiers Linux

Types de fichiers sous Linux


• Les fichiers classiques: contiennent des données et sont accessibles
directement par les utilisateurs, sont des fichiers ordinaires tels que des
documents, des images, des programmes, etc., qui peuvent être ouverts, lus,
modifiés et supprimés par les utilisateurs. Et ils sont stockés dans des
répertoires normaux du système de fichiers.
• Les fichiers spéciaux : sont utilisés pour communiquer avec des
périphériques ou des processus du système. sont généralement stockés dans
le répertoire /dev/ du système de fichiers et sont utilisés pour interagir avec
des périphériques tels que des disques durs, des imprimantes, des ports
série, des cartes réseau, etc.

Par exemple, votre lecteur CD est un fichier pour Linux. Là où Windows fait la
distinction entre ce qui est un fichier et ce qui ne l'est pas, Linux, lui, dit que
tout est un fichier.
27
Système de fichiers Linux

Types de fichiers sous Linux


• Dans un système de fichiers, il y a toujours ce qu'on appelle une racine « \ »,
c'est-à-dire un « gros dossier de base qui contient tous les autres dossiers et
fichiers ».
• Sous Windows, il y a en fait plusieurs racines. C:\ est la racine de votre disque
dur, D:\ est la racine de votre lecteur CD (par exemple).

NB: Vous noterez que sous Windows c'est l'antislash \ qui sert de
séparateur aux noms de dossiers.
• Sous Linux, c'est au contraire le slash / qui sert de séparateur.

/usr/bin/ ⇒ On dit que bin est un sous-dossier du dossier usr, lui-même


situé à la racine.

28
Système de fichiers Linux

Notations spéciales

• La notation ~ correspond à un chemin absolu. Elle est remplacée lors d’une


évaluation par le chemin absolu du répertoire personnel de l’utilisateur.

29
Système de fichiers Linux

Les dossiers de la racine


❑ La liste des dossiers les plus courants de la racine de Linux.
1. bin : contient des programmes (exécutables) susceptibles d'être utilisés par
tous les utilisateurs de la machine.
2. boot : fichiers permettant le démarrage de Linux.
3. dev : fichiers contenant les périphériques. Ce dossier contient des sous-
dossiers qui « représentent » chacun un périphérique. On y retrouve ainsi
par exemple le fichier qui représente le lecteur CD.
4. etc : fichiers de configuration.
5. home : répertoires personnels des utilisateurs. C'est dans ce dossier que
vous placerez vos fichiers personnels, à la manière du dossier Mes
documents de Windows.

30
Système de fichiers Linux

Les dossiers de la racine (suite)


• lib : dossier contenant les bibliothèques partagées (Shared objects) (généralement
des fichiers .so) utilisées par les programmes. (// équivalent à .dll sous Windows)
• media : lorsqu'un périphérique amovible (comme une carte mémoire SD ou une clé
USB) est inséré dans votre ordinateur, Linux vous permet d'y accéder à partir d’un
sous-dossier de media.
• mnt : c'est un peu pareil que media, mais pour un usage plus temporaire.
• proc : contient des informations système.
• root : c'est le dossier personnel de l'utilisateur « root ». Normalement, les dossiers
personnels sont placés dans home, mais celui de « root » fait exception. En effet, «
root » est le super-utilisateur, le « chef » de la machine en quelque sorte. Il a droit à
un espace spécial.
• sbin : contient des programmes système importants.
• tmp : dossier temporaire utilisé par les programmes pour stocker des fichiers.
• usr : c'est un des plus gros dossiers, dans lequel vont s'installer la plupart des
programmes demandés par l'utilisateur.
• var : ce dossier contient des données « variables », souvent des logs (traces écrites
de ce qui s'est passé récemment sur l'ordinateur).

31
Système de fichiers Linux

Les dossiers de la racine (suite)


• Chaque fichier est caractérisé par son nom, sa taille, ses droits d'accès, son
propriétaire, sa date de création ou de modification...
➢ Structure arborescente de fichiers:

32
Système de fichiers Linux

Fichier Vs Dossier
• Sur le terminal Ubuntu, les fichiers et les dossiers sont affichés avec des
informations différentes qui permettent de les différencier comme:

o Le nom : Les fichiers ont un nom qui se termine par une extension (par
exemple, .txt pour un fichier texte). Les dossiers, quant à eux, n'ont pas
d'extension et leur nom se termine simplement par un slash (/).

o La couleur : Par défaut, les fichiers et les dossiers ont des couleurs
différentes sur le terminal Ubuntu. Les fichiers sont généralement
affichés en blanc ou en gris, tandis que les dossiers sont affichés en bleu.

33
Système de fichiers Linux

Fichier Vs Dossier
• Pour visualiser les symboles qui représentent les dossiers et les fichiers dans
le terminal Ubuntu, vous pouvez utiliser l'option -F (ou --classify) avec la
commande ls.

• La commande ls -F affichera les fichiers et les dossiers avec leurs symboles


correspondants. Voici un aperçu des symboles les plus couramment utilisés :

✓ / : indique un dossier
✓ @ : indique un lien symbolique
✓ . : indique un fichier exécutable
✓ = : indique un fichier socket
✓ | : indique un fichier FIFO

34
Système de fichiers Linux

La commande pwd
❑ La commande pwd:
⇒ pwd est l'abréviation de « Print Working Directory », c’est pour
Afficher le dossier actuel ».

➢ Une commande n'est rien d'autre qu'un programme qu'on peut appeler
n'importe quand et n'importe où dans la console.
➢ La commande which permet de connaître l'emplacement du programme
de la commande pwd

35
Système de fichiers Linux

La commande ls
❑ La commande ls: ls « source »
⇒ ls Affiche le contenu d’un répertoire

36
Système de fichiers Linux

La commande ls
❑ Les paramètres les plus utiles pour la commande ls
• ls -a : afficher tous les fichiers et dossiers cachés

Sous Linux, on peut « cacher » des fichiers et dossiers. Ce n'est pas une
protection, car on peut toujours les réafficher si on veut. Certains éléments
commençant par un point « . » sont des dossiers, d'autres sont des fichiers.
« . » représente en fait le dossier actuel,
« .. » représente le dossier parent, c'est-à-dire le dossier précédent dans
l'arborescence. Par exemple, là je suis dans /home/ichrak, « .. » représente
donc le dossier /home.
37
Système de fichiers Linux

La commande ls
❑ Les paramètres les plus utiles pour la commande ls
• ls –l affiche une liste détaillant chaque élément du dossier :

➢ ls -l la taille est affichée en octets.


➢ ls –lh affichée les tailles de fichiers beaucoup plus lisibles (en ko, Mo..)
➢ ls –lt trier par date de dernière modification

38
Système de fichiers Linux

La commande cd
• La commande cd: cd « cible »
⇒ Abréviation de Change Directory (changer de dossier), permet de changer
le répertoire courant (permet de naviguer dans l’arborescence).

39
Système de fichiers Linux

La commande cd
• La commande cd: cd « cible »
⇒ Pour revenir au dossier précédent (dossier parent)

40
Système de fichiers Linux

La commande cd
• Tout répertoire/fichier peut être identifié de deux manières différentes:
⇒ Par son chemin absolu : Liste des répertoires depuis la racine (/) jusqu’au
fichier recherché.
⇒ Par son chemin relatif : Liste des répertoires depuis le répertoire courant
(là ou l’on se trouve) jusqu’au fichiers recherché.

On utilise un chemin relatif, c'est-à-dire


relatif au dossier actuel. Quand on met
juste le nom d'un dossier comme ici, cela
indique que l'on veut aller dans un sous-
dossier.

Si on fait cd include depuis la racine, ça va planter

41
Système de fichiers Linux

La commande cd
• Contrairement aux chemins relatifs, les chemins absolus fonctionnent quel
que soit le dossier dans lequel on se trouve. Il commence toujours par la
racine (/)

• Si je suis dans /home/ichrak et que je souhaite aller dans /usr/include.


Avec un chemin absolu :

Signifie « reviens en arrière (donc dans /home) puis reviens en arrière


(donc dans / ), puis va en avant dans usr, puis va en avant dans include ».
42
Système de fichiers Linux

La commande cd
Retour au répertoire home:

43
Système de fichiers Linux

Exercice: (Chemins absolus et relatifs)

1.Que représente l'emplacement courant ? Afficher votre emplacement courant sur le terminal
2.Changer votre emplacement courant en se positionnant dans la racine puis exécuter la
commande pwd quel est le résultat affiché
3.Exécuter la commande cd sans arguments puis pwd. Quel est le résultat.
4.Que représente le chemin suivant ~root? vérifier votre réponse avec un cd
5.En utilisant un chemin absolu changer votre emplacement courant en se positionnant
dans /usr/bin
6.En utilisant un chemin relatif changer votre emplacement courant en se positionnant dans /usr
7.En utilisant un chemin relatif changer votre emplacement courant en se positionnant
dans /usr/share/doc
8.En utilisant un chemin relatif changer votre emplacement courant en se positionnant
dans /usr/share/dict
9.En utilisant un chemin relatif changer votre emplacement courant en se positionnant dans votre
répertoire personnel

44
Système de fichiers Linux

La commande « du »
• Taille occupée par les dossiers
• La commande « du », pour Disk Usage (utilisation du disque) vous donne des
informations sur la taille qu'occupent les dossiers sur votre disque.

La commande du renvoie la taille de chacun des


sous- dossiers, puis la taille totale à la fin (« . »)

La taille totale

La commande du -sh renvoie la taille totale

45
Système de fichiers Linux

Identification fichiers/ répertoires


• Le chemin défini un nom unique
• Deux fichiers ou répertoires ne peuvent pas porter le même nom s’ils sont
dans un même répertoire.
• Les noms des fichiers et répertoires différencient les caractères
Majuscules et minuscule.

Les fichiers Essai.txt et essai.txt peuvent donc être dans le même


répertoire.

46
Système de fichiers Linux

La commande less et cat


❑ Afficher le contenu d’un fichier:
• Il y a en gros deux commandes basiques sous Linux qui permettent de faire cela :
cat et less chacune a ses spécificités
➢ La commande cat : permet d'afficher tout le contenu d'un fichier dans la console d'un coup
ce qui fait que l'on n'a pas le temps de le lire s'il est très gros.
➢ C'est là que l’autre commande less devient vraiment indispensable. La grosse différence
entre less et cat, c'est que less affiche progressivement le contenu du fichier, page par page.

47
Système de fichiers Linux

La commande cat
• En plus de simplement afficher le contenu d'un fichier, la commande "cat"
peut également être utilisée pour combiner le contenu de plusieurs fichiers et
créer un nouveau fichier en les concaténant.

48
Système de fichiers Linux

La commande less
• Pour la commande less elle affiche le contenu du fichier, page par page,
mais comment passer d’une page à l’autre?

⇒ Espace : affiche la suite du fichier. La touche Espace fait défiler le fichier vers
le bas d'un « écran » de console.
⇒ Entrée : affiche la ligne suivante. Cela permet donc de faire défiler le
fichier vers le bas ligne par ligne.
⇒ Vous pouvez aussi utiliser la touche Flèche vers le bas.
⇒ la lettre q : arrête la lecture du fichier. Cela met fin à la commande less.

49
Système de fichiers Linux

La commande less
• "less" est l'abréviation de "less is more" en Linux.
• Il s'agit d'un programme de visualisation de fichiers qui est similaire à l'ancien
programme "more",
• Mais less offre des fonctionnalités supplémentaires telles que:
o Le défilement en arrière et en avant,
o et la possibilité de naviguer dans des fichiers de grande taille,
o La recherche dans le texte.

Le nom "less" est en fait un jeu de mots sur l'expression "less is more"
qui signifie que la simplicité est souvent préférable à la complexité.

50
Système de fichiers Linux
La commande less
• La recherche dans le texte:
1.Ouvrez le fichier que vous souhaitez consulter avec less. Par exemple, si vous
souhaitez ouvrir le fichier "monfichier.txt", vous pouvez taper la commande less
monfichier.txt dans un terminal.
2.Appuyez sur la touche / pour accéder au mode de recherche. Vous verrez un
curseur clignoter en bas de l'écran.
3.Tapez le terme que vous souhaitez rechercher, puis appuyez sur la touche Entrée.
less va alors chercher le terme dans le fichier et afficher la première occurrence.
4.Si le terme apparaît plusieurs fois dans le fichier, vous pouvez appuyer sur la
touche n pour afficher la prochaine occurrence ou sur N pour afficher la précédente.
5.Pour quitter le mode de recherche, appuyez sur la touche q.
51
Système de fichiers Linux

La commande less
• La recherche dans le texte:
Par exemple,
o Si vous visualisez un fichier avec "less" et que vous recherchez un mot en
utilisant la commande "/", les occurrences de ce mot dans le fichier seront
affichées en commençant par la position actuelle du curseur jusqu'à la fin du
fichier.
o Si vous souhaitez rechercher des occurrences du mot en partant de la fin du
fichier vers l'arrière, vous pouvez utiliser la commande "?" au lieu de "/"
pour accéder au mode de recherche inverse. Les occurrences du mot seront
alors affichées en partant de la position actuelle du curseur jusqu'au début
du fichier.
52
Système de fichiers Linux

La commande head
• head : afficher le début du fichier

⇒ La commande head affiche seulement les premières lignes du fichier. Elle ne


permet pas de se déplacer dans le fichier comme less, mais juste de récupérer
les premières lignes.

⇒ -n, suivi d'un nombre. Il permet d'afficher le nombre de lignes que vous
voulez.

53
Système de fichiers Linux

La commande tail
• tail : afficher la fin du fichier
⇒ La commande tail vous renvoie la fin du fichier, donc les dernières lignes.

⇒ On peut là encore utiliser-n suivi d'un nombre pour afficher les dernières
lignes souhaitées.

54
Système de fichiers Linux

La commande sed
• sed : afficher des lignes précises dans un fichier texte
⇒ La syntaxe de base pour utiliser cette commande consiste à spécifier le
numéro de la ligne ou les numéros de ligne que vous souhaitez afficher.
• Par exemple, pour afficher la 10ème ligne du fichier « syslog ».

• Vous pouvez spécifier une plage de numéros de ligne en utilisant la notation


"n1,n2".
• Par exemple, pour afficher les lignes 5 à 10 du fichier « syslog ».

55
Système de fichiers Linux

La commande sed
On peut utiliser la commande nl pour numéroter les lignes de votre fichier,
et ensuite utiliser la commande sed pour extraire les lignes que vous voulez
afficher.

Explication de la commande :
✓ nl : numérote les lignes du fichier spécifié en entrée
✓ sed : extrait les lignes 5 à 10 (inclus) du résultat renvoyé par nl
✓ -n : supprime l'affichage par défaut de sed
✓ '5,10p' : affiche les lignes de 5 à 10 (inclus)

56
Système de fichiers Linux

La commande touch & mkdir


• touch : créer un fichier

⇒ Vous pouvez créer plusieurs fichiers en une seule commande. Il vous suffit
de les lister l'un après l'autre, séparés par des espaces.

57
Système de fichiers Linux

La commande touch & mkdir


• mkdir : créer un dossier
⇒ La commande mkdir, elle, est faite pour créer un dossier. Elle fonctionne
de la même manière que touch.

⇒ Il y a un paramètre utile avec


mkdir : -p.
Il sert à créer tous les dossiers
intermédiaires.

58
Système de fichiers Linux

La commande cp & mv
• cp : copier un fichier
⇒ La commande cp (abréviation de CoPy) permet de copier un fichier, mais
aussi de copier plusieurs fichiers à la fois, et même de copier des dossiers !

⇒ Si vous voulez copier fichier premier dans le dossier TP1 sous un autre nom
par exemple premierTP faites comme ceci

59
Système de fichiers Linux

La commande cp & mv
• Copier des dossiers
⇒ Avec l'option-R (un « R » majuscule !), vous pouvez copier un dossier, ainsi
que tous les sous-dossiers et fichiers qu'il contient !
⇒ On a créé un dossier TP1 qui contenait un autre dossier TP2, qui lui-même contenait le
dossier TP3.
⇒ On va copier TP1 ainsi que tous ses sous-dossiers dans un nouveau dossier qu’on va créer avec le nom
« TravauxPratique »

⇒ Utiliser le joker * : Le symbole * est appelé


joker, il permet de copier tous les fichiers (ou
dossiers) dont le nom commence par « tes »
par exemple

60
Système de fichiers Linux

La commande cp & mv
• mv : déplacer un fichier
• Très proche de cp, la commande mv (MoVe) a en fait deux utilités :
⇒ Déplacer un fichier (ou un dossier) ;
⇒ Renommer un fichier (ou un dossier).

61
Système de fichiers Linux

La commande cp & mv
⇒ Renommer un fichier avec la commande mv
• La commande mv permet de renommer un fichier. En effet, il n'existe pas de
commande spéciale pour renommer un fichier en console sous Linux, c'est la
commande mv qui est utilisée pour ça.

⇒ Déplacer et renommer un fichier à la fois: Vous pouvez aussi déplacer fichier test2 dans
dossier1 tout en lui affectant un nouveau nom : test222

62
Système de fichiers Linux

La commande rm
• rm : supprimer des fichiers et dossiers
⇒ Elle supprime les fichiers sans avoir la possibilité de les récupérer

⇒ rm –r : Supprime les dossiers et ses contenus

63
Système de fichiers Linux

La commande rm
rm -i : demander confirmation (o signifie oui, n signifie non)

rm -f : Forcer la suppression, quoi qu'il arrive

rm -v : Suppression avec message explicatif de ce qu’elle a fait (Commande).

64
Système de fichiers Linux
Exercice:
1. Créez un dossier nommé "exercices" à l'aide de la commande mkdir
2. Créez un fichier vide nommé "mon_fichier.txt" à l'aide de la commande touch
3. Ajoutez du contenu au fichier en utilisant la commande echo
4. Affichez le contenu du fichier en utilisant la commande cat
5. Affichez les premières lignes du fichier en utilisant la commande head
6. Affichez les dernières lignes du fichier en utilisant la commande tail
7. Créez une copie du fichier en utilisant la commande cp
8. Renommez la copie en utilisant la commande mv
9. Supprimez le fichier original en utilisant la commande rm
10. Créez un nouveau dossier appelé "test" en utilisant la commande mkdir
11. Déplacez le fichier "mon_fichier2.txt" dans le dossier "test" en utilisant la
commande mv
12. Affichez le contenu du fichier déplacé en utilisant la commande less
65
Système de fichiers Linux
Corrigé Exercice:
1. Créez un dossier nommé "exercices" à l'aide de la commande mkdir :
mkdir exercices
2. Créez un fichier vide nommé "mon_fichier.txt" à l'aide de la commande touch :
touch exercices/mon_fichier.txt
3. Ajoutez du contenu au fichier en utilisant la commande echo :
echo "Contenu de mon fichier" >> exercices/mon_fichier.txt
4. Affichez le contenu du fichier en utilisant la commande cat :
cat exercices/mon_fichier.txt
5. Affichez les premières lignes du fichier en utilisant la commande head :
head -n 3 exercices/mon_fichier.txt
6. Affichez les dernières lignes du fichier en utilisant la commande tail :
tail -n 2 exercices/mon_fichier.txt

66
Système de fichiers Linux
Corrigé Exercice:
7. Créez une copie du fichier en utilisant la commande cp :
cp exercices/mon_fichier.txt exercices/mon_fichier_copie.txt
8. Renommez la copie en utilisant la commande mv :
mv exercices/mon_fichier_copie.txt exercices/mon_fichier2.txt
9. Supprimez le fichier original en utilisant la commande rm :
rm exercices/mon_fichier.txt
10.Créez un nouveau dossier appelé "test" en utilisant la commande mkdir :
mkdir test
11.Déplacez le fichier "mon_fichier2.txt" dans le dossier "test" en utilisant la
commande mv : mv exercices/mon_fichier2.txt test/
12.Affichez le contenu du fichier déplacé en utilisant la commande less :
less test/mon_fichier2.txt

67
Système de fichiers Linux

Editeur de texte

• Un éditeur de texte est un programme qui permet de modifier des


fichiers de texte brut, sans mise en forme (gras, italique,
souligné…).

• Sous Windows, on dispose d'un éditeur de texte très basique : le


Bloc-Notes.

• Sous Linux, on a le choix entre Nano, Vim, Emacs et bien d'autres,


sachant qu'au moins un de ceux-là est installé par défaut sur la
plupart des distributions.

68
Système de fichiers Linux

Editeur de texte nano Les raccourcis clavier de Nano:

En bas de votre écran, vous


pouvez voir un espace d'aide.

Il s'agit d'un aide-mémoire


pour vous rappeler à tout
moment les commandes
principales que vous pouvez
lancer sous Nano.
Le symbole ^ signifie Ctrl (la
touche Contrôle de votre
clavier).
Ainsi, pour quitter Nano, il
suffit de taper Ctrl + X

69
Système de fichiers Linux

Editeur de texte nano: les raccourcis les plus importants


• Ctrl + G : afficher l'aide ;
• Ctrl + K : couper la ligne de texte (et la mettre dans le presse-papier) ;
• Ctrl + U : coller la ligne de texte que vous venez de couper ;
• Ctrl + C : afficher à quel endroit du fichier votre curseur est
positionné (numéro de ligne…) ;
• Ctrl + W : rechercher dans le fichier ;
• Ctrl + O : enregistrer le fichier (écrire) ;
• Ctrl + X : quitter Nano.

• Vous pouvez vous déplacer dans le fichier avec les flèches du clavier ainsi
qu'avec les touches Page Up et Page Down pour avancer de page en page (les
raccourcis Ctrl + Y et Ctrl + V fonctionnent aussi).
70
Système de fichiers Linux

Editeur de texte nano: les raccourcis les plus importants

❑ La recherche
• La combinaison de touches Ctrl + W lance une recherche dans le fichier, il
vous suffit d'écrire le mot que vous recherchez puis de taper Entrée
• Le curseur est automatiquement positionné à la première occurrence trouvée
• Si vous voulez sortir du mode recherche, tapez Ctrl + C.

• Si vous souhaitez aller au résultat suivant (au « mot » suivant), faites à


nouveau Ctrl + W pour lancer une recherche. La recherche précédente est
sauvegardée et apparaît entre crochets. Si vous voulez rechercher le même
mot (et donc aller au résultat suivant), tapez juste Entrée sans écrire de mot
à rechercher.

71
Système de fichiers Linux

Editeur de texte nano


➢Les paramètres de la commande Nano
• Lorsque vous appelez Nano dans la ligne de commandes, vous pouvez
spécifier plusieurs paramètres. Le plus courant est d'indiquer en
paramètre le nom du fichier qu'on veut ouvrir. Ainsi :

• Si le fichier n'existe pas, il sera automatiquement créé par Nano lors du


premier enregistrement.

• -m : autorise l'utilisation de la souris sous Nano.

72
Système de fichiers Linux

Editeur de texte gedit


➢Les paramètres de la commande gedit
• Ouvrir un fichier spécifique : Vous pouvez spécifier le nom du fichier à
ouvrir avec la commande gedit. Par exemple, la commande suivante
ouvrira le fichier « monfichier.txt » Ainsi :

• Ouvrir plusieurs fichiers simultanément : Vous pouvez également ouvrir


plusieurs fichiers en même temps en spécifiant les noms de fichiers séparés
par des espaces. Par exemple :

73
Système de fichiers Linux

Editeur de texte gedit


o Nano est un éditeur de texte en mode console, gedit a une interface
utilisateur graphique (GUI).
o Gedit est livré avec un large éventail de fonctionnalités, notamment la
coloration syntaxique, la numérotation des lignes, la gestion de plusieurs
fichiers simultanément, etc. alors que nano est un éditeur de texte
minimaliste avec des fonctionnalités de base.
o Gedit est plus adapté aux débutants ou aux utilisateurs qui ont besoin d'un
éditeur de texte avec une interface graphique conviviale, tandis que nano
est plus adapté aux utilisateurs avancés ou aux administrateurs système qui
travaillent principalement en ligne de commande et ont besoin d'un éditeur
de texte rapide et facile à utiliser.

74
Système de fichiers Linux

Trier un fichier avec la commande sort


Sous linux la commande sort permet de trier un fichier texte.

75
Système de fichiers Linux

Trier un fichier avec la commande sort


Tri en ordre alphabétique

76
Système de fichiers Linux

Trier un fichier avec la commande sort


Tri en ordre inverse
Pour faire un tri en sens inverse il faut utiliser l'option de tri r
(pour reverse)

77
Système de fichiers Linux

Trier un fichier avec la commande sort


La commande sort avec l’option –o permet de trier le ficher et stocker le
résultat trié dans un nouveau fichier qu’elle va le créer.

78
Système de fichiers Linux

Trier un fichier avec la commande sort


La commande sort avec l’option –n permet de trier le fichier de contenu
nombres.

79
Système de fichiers Linux

Trier les lignes en double avec la commande uniq


• L'utilisation "standard" de uniq, c'est à dire sans option, affiche le
contenu qu'on lui donne en excluant les lignes en double afin de
n'avoir qu'une seule occurrence

80
Système de fichiers Linux

Supprimer les doublons avec la commande uniq


• N'afficher que les lignes présentes une fois
• Il est également possible de ne faire ressortir que les lignes présentes une seule
fois dans notre fichier, les lignes présentes plusieurs fois seront alors totalement
exclues de l'affichage :

• N'afficher que les lignes présentes plusieurs fois


• A l'inverse, il est également possible de n'afficher que les lignes présentes plusieurs
fois dans le fichier donné, celles-ci seront affichées une seule fois dans la sortie :

81
Système de fichiers Linux

Supprimer les doublons avec la commande uniq


• Il est également possible d'effectuer le même traitement mais cette fois ci en affichant
toutes les occurrences des lignes présentes plusieurs fois, on utilisera pour cela
l'option "-D":

• Compter les occurrences des lignes en double


• Une autre option très pratique est celle permettant de compter le nombre
d'occurrence par ligne avec l'option "-c" :

82
Système de fichiers Linux

Trier les lignes en double avec la commande uniq


• On peut utiliser la commande "sort" pour effectuer un tri croissant

• On peut utiliser la commande "sort" pour stocker les noms sans


occurrence dans un nouveau fichier

83
Système de fichiers Linux

Compter (la commande wc)


• Syntaxe :

Soit le fichier « noms.txt »:

Ces trois nombres signifient, dans l'ordre :


⇒ le nombre de lignes (ici 9).
⇒ le nombre de mots (ici 9).
⇒ le nombre d'octets ou caractères (ici 61)

84
Système de fichiers Linux

Compter (la commande wc)


• Pour afficher uniquement le nombre de lignes (option –l)

• Pour afficher uniquement le nombre de mots (option –w)

• Pour afficher uniquement le nombre d’octets (option –c)

85
Système de fichiers Linux
fich_grep.txt
• En sciences, le terme nano représente une toute petite unité. Par exemple,
un atome a une taille d’environ 0,1 nanomètre.
• Nano est un éditeur de texte, pas un traitement de texte.
• Sous linux, on a le choix entre nano, vim, Emacs et bien d’autres.
• Un éditeur de texte est un programme qui permet de modifier des fichiers
de texte brut, sans mise en forme (gras, italique, souligné..). Sous windows il
y a un éditeur de texte très basique: le bloc note.
fichier_gr.txt
• Linux est un système d'exploitation basé sur le noyau Unix qui offre une
grande flexibilité pour travailler avec du texte.
• L'un des avantages de Linux est la disponibilité de nombreux outils en ligne
de commande pour manipuler du texte, tels que grep, sed et awk.
• De plus, de nombreux éditeurs de texte, tels que vim et emacs, sont
disponibles pour les utilisateurs qui préfèrent une interface graphique.
86
Système de fichiers Linux

Chercher une chaine de caractères –grep--


• Syntaxe :

• ⇒ Permet de chercher une chaine de caractères dans un fichier

• Recherche sans faire une distinction entre les maj et les minus: option –i

87
Système de fichiers Linux

Chercher une chaine de caractères –grep--


• ⇒ Pour afficher le numéro de ligne où se trouve la chaine (option -n)

• ⇒ Pour afficher le numéro de ligne où se trouve la chaine (option -in)

88
Système de fichiers Linux

Chercher une chaine de caractères –grep--


• Pour afficher aussi le nom de fichier où se trouve la chaine (option –H)

• Pour afficher seulement les noms des fichiers ou la chaine est trouvé (option –l)

• Pour afficher le nombre de lignes où la chaine se présente dans le fichier (option –c)

89
Système de fichiers Linux

Couper une partie d’un fichier


• Syntaxe :

• Couper selon le nombre de caractères:


• ⇒ Si vous souhaitez conserver uniquement les caractères 2 à 5 de chaque
ligne du fichier, vous taperez :

90
Système de fichiers Linux

Couper une partie d’un fichier


⇒ Si vous souhaitez conserver le premier jusqu’au 3ème de chaque ligne du
fichier, vous taperez :

91
Système de fichiers Linux

Couper une partie d’un fichier


⇒ Si vous souhaitez conserver le 3 ème jusqu’au dernier de chaque ligne du
fichier, vous taperez :

92
Système de fichiers Linux

Couper une partie d’un fichier


• Couper selon un délimiteur
• Soit le fichier « fich_cut.txt »:

⇒ Pour avoir seulement les prénoms:

93
Système de fichiers Linux

Couper une partie d’un fichier


⇒ Pour avoir seulement les noms et les prénoms:

⇒ Pour avoir les données de la deuxième colonne jusqu’à la quatrième colonne:

94
QUELQUES COMMANDES

Uname
• Elle affiche les Informations Systèmes sur la machine
sur laquelle elle est exécutée.

Options principales :
-m : affiche le type de la machine.
-n : affiche le nom de la machine.
-r : affiche le numéro de version du système.
-s : affiche le nom du système.
-a : affiche toutes les informations ci-dessus.
95
QUELQUES COMMANDES

La commande Uname avec ses options:

96
QUELQUES COMMANDES

Reboot : est une commande permettant de redémarrer


le système.

Shutdown : est une commande permettant l'extinction


de la machine à partir du terminal.

Exemple:

97
98
Gestion des
utilisateurs sous
Linux
99
Gestion des utilisateurs sous Linux
Notion d’utilisateur
• Linux est un système multi-utilisateur, c’est-à-dire que plusieurs utilisateurs
peuvent avoir un compte et travailler en même temps.
• Chaque utilisateur dispose d’un certain nombre de privilèges vis-à-vis le
système.
⇒ Il a des droits d’accès à des fichiers et parfois il n’a pas ces droits pour
d’autres fichiers.
• Ces droits concernent la lecture, l’écriture et l’exécution d’un fichier.

10
Gestion des utilisateurs sous Linux
Types de comptes
• Les comptes utilisateur ne sont pas tous égaux sur
Linux. On distingue trois types :

⇒ Super-utilisateur (root)
⇒ Comptes systèmes
⇒ Comptes ordinaires

10
Gestion des utilisateurs sous Linux
Types de comptes
• Super-utilisateur (root): c’est l’utilisateur le plus important du système du
point de vue de l’administration.
⇒ Il n’est pas concerné par les droits d’accès aux fichiers.
⇒ Son UID égal à 0 (zéro).
⇒ Il a à sa charge les tâches d’administration du système.
• Comptes système: On trouve sur le système toute une série de comptes
qui ne sont pas affectés à des personnes (bin, daemon, sync, apache…).
⇒ Ceux-ci servent à faciliter la gestion des droits d’accès de certaines
application.
⇒ Les UID compris entre 1 et 999 sont généralement utilisés pour ces comptes

10
Gestion des utilisateurs sous Linux
Types de comptes
• Exemple:
Tapez la commande suivante:

cat /etc/passwd | awk -F: '$3 < 1000 { print $1 }'

10
Gestion des utilisateurs sous Linux
Types de comptes
• Exemple: cat /etc/passwd | awk -F: '$3 < 1000 { print $1 }’
• $
cat permet d’afficher un contenu
/etc/passwd : contient des informations sur les comptes d'utilisateurs du système,
Le caractére « | » (appelé "pipe" en anglais) est utilisé pour rediriger la sortie
d'une commande vers l'entrée d'une autre commande.
"awk" pour filtrer la sortie de la commande "cat /etc/passwd" et afficher
uniquement les comptes système.

✓ "$3" : fait référence au troisième champ (l'UID) de la ligne en cours de


traitement par "awk".
✓ "< 1000" : est une condition qui vérifie si l'UID est inférieur à 1000. Si c'est le
cas, l'expression suivante est appliquée.
✓ "{ print $1 }" : est une instruction qui demande à "awk" d'imprimer la première
colonne (le nom de l'utilisateur) de la ligne en cours de traitement.

10
Gestion des utilisateurs sous Linux
Types de comptes
• Exemples:
id -u root

getent passwd 0 | cut -d: -f1

cut -d: -f3 /etc/passwd

10
Gestion des utilisateurs sous Linux
Types de comptes
• Exemples:
id -u root

10
Gestion des utilisateurs sous Linux
Types de comptes
• Exemple:
getent passwd 0 | cut -d: -f1

La commande "getent passwd" renvoie les informations d'identification de tous


les comptes utilisateurs, y compris les comptes système.
La sortie est ensuite filtrée par l'UID spécifié (dans cet exemple, 0) à l'aide
de l'outil "cut",
« cut » : Commande Linux qui permet de découper une ligne de texte en champs
séparés par un caractère spécifié (ici, le caractère ":"), et d'afficher uniquement
certains champs spécifiés.
"-d:" indique que le caractère de séparation des champs est le caractère ":"
"-f1" indique que nous souhaitons afficher seulement le 1er champ de chaque
ligne (l'UID). En effet, dans le fichier /etc/passwd, le premier champ contient le
noms des utilisateurs.

10
Gestion des utilisateurs sous Linux
Types de comptes
• Résultat de la commande cut -d: -f3 /etc/passwd

10
Gestion des utilisateurs sous Linux
Types de comptes
• Résultat de la commande cut -d: -f3 /etc/passwd ?

La présence d’un UID égale à 65534

Chercher le propriétaire de ce UID ?

getent passwd 65534 | cut –d: -f1

10
Gestion des utilisateurs sous Linux
Types de comptes
• L'utilisateur "nobody" est un utilisateur système commun sous Linux. Il est
utilisé pour exécuter des processus qui ne nécessitent pas de privilèges
particuliers, tels que les processus du serveur web Apache ou d'autres
démons système.

• L'utilisateur "nobody" est également utilisé pour les connexions réseau qui
n'ont pas été associées à un compte d'utilisateur existant. Par exemple, si un
client se connecte à un serveur sans fournir d'informations d'identification,
la connexion sera attribuée à l'utilisateur "nobody".

11
Gestion des utilisateurs sous Linux
Types de comptes
• En général, les comptes système sous Linux ont des UID qui sont réservés à
cet effet et qui sont inférieurs à 1000. Cela permet de distinguer facilement
les comptes système des comptes d'utilisateurs normaux, dont les UID sont
généralement supérieurs à 1000.

• Cependant, pour l'utilisateur "nobody", la situation est différente. L'UID


65534 a été choisi pour l'utilisateur "nobody" afin de garantir qu'il ne puisse
pas accéder à des fichiers ou des ressources système qui ne lui sont pas
autorisés, tout en étant suffisamment grand pour éviter les conflits avec
d'autres UID utilisés dans le système.

• En effet, la plupart des distributions Linux utilisent une plage d'UIDs réservés
pour les comptes système allant de 0 à 999, ou de 1 à 999, ce qui signifie que
si l'UID de "nobody" était compris dans cette plage, cela pourrait causer des
problèmes de permission pour d'autres comptes système.

111
Gestion des utilisateurs sous Linux
Types de comptes
• Est-ce que je peux créer un compte système?

11
Gestion des utilisateurs sous Linux
Types de comptes
• Essayez de taper la commande: getent passwd 11

11
Gestion des utilisateurs sous Linux
Types de comptes
• Comptes ordinaires: Tous les autres comptes utilisateur sont associés à des
personnes;
⇒ leur vocation est de permettre à des utilisateurs standard de se connecter.
⇒ L’UID d’un utilisateur sera un nombre supérieur ou égal à 1000

11
Gestion des utilisateurs sous Linux
Exécuter en tant qu’administrateur
• Ceci étant un travail d’administration du système, un utilisateur ordinaire
ne peut pas accéder à ces droits d’administration.
• Pour cela, nous aurons souvent à utiliser la commande sudo (Substitute
User DO) qui permet à un utilisateur d'exécuter des commandes qui ne
peuvent être utilisées que par le super- utilisateur.
• Elle s'utilise comme suit : $ sudo commande
• Le mot de passe de votre compte est alors demandé afin que le système
vérifie votre identité.

11
Gestion des utilisateurs sous Linux
Les utilisateurs et les droits
• Mais!!!! On pourrait être tenté d'utiliser le super-utilisateur (root) comme
une session, afin de ne pas avoir à changer d'utilisateur lorsqu'il faut
reconfigurer le système.
• C’est possible, Mais Il ne faut pas faire cela !!!
• En effet, avec le super utilisateur, une mauvaise manipulation peut causer la
perte irrémédiable de tout ou partie de vos données ou rendre la machine
inutilisable !
• Mais avec la substitution d’utilisateur par sudo c’est plutôt une manière de
vous dire et de vous rappeler : Est ce que vous êtes sûre que vous voulez faire
ceci?!

11
Gestion des utilisateurs sous Linux
Les utilisateurs et les droits
• Sous Windows, Si vous êtes connectés en tant qu’administrateur (équivalent
de root), vous êtes susceptible d’êtes attaqués

Ce qui explique pourquoi les virus y sont si dangereux.

• Sous Linux, un virus ne peut rien faire de plus que vous quand vous êtes
connectés avec des droits limités, En revanche, si vous êtes connectés en tant
que root il pourra tout faire, même détruire votre ordinateur.

11
Gestion des utilisateurs sous Linux
Ouvrir un terminal en mode root (devenir root un instant)
• Utiliser sudo pour exécuter une seule commande ne cause pas un réel
désagrément, mais il peut être désagréable de l'utiliser pour exécuter une
longue procédure nécessitant plusieurs interventions en mode super
utilisateur (root).

• L'ouverture d'un terminal en mode root permet d'éviter d'avoir à appeler


sudo à chacune des étapes de cette procédure, sans avoir à activer l'accès au
compte d'utilisateur root.

• L'inconvénient de cette méthode est qu'aucune trace des actions posées


n'est inscrite dans le journal de sudo.

• Il est déconseillé d'ouvrir un terminal root.

11
Gestion des utilisateurs sous Linux
Ouvrir un terminal en mode root (devenir root un instant)
• Pour vous servir d'un terminal root :
⇒ Ouvrez une fenêtre de terminal ;
⇒ Saisissez la commande suivante : utilisateur@ordinateur:~$ sudo -i
⇒ Saisissez votre mot de passe à l'invite de saisie de mot de passe ;
⇒ Exécutez votre série de commandes d'administration ;
⇒ Fermez la session root : root@ordinateur:~# exit ou Ctrl+D

11
Gestion des utilisateurs sous Linux
sudo su : devenir root et le rester
• Si vous tapez sudo su, vous passerez root indéfiniment.
• Le symbole # à la fin de l'invite de commandes vous indique que vous êtes
devenus super-utilisateur.
• Pour quitter le « mode root », tapez exit (ou faites la combinaison Ctrl + D).

12
Gestion des utilisateurs sous Linux
Création d’un compte utilisateur
• La commande useradd permet d’ajouter un nouvel utilisateur sans spécifier
aucune information sur ce compte (UID, mot de passe,…)

• Le login définis le nom du compte à créer.


Exemple:

12
Gestion des utilisateurs sous Linux
Création d’un compte utilisateur
• La commande useradd permet d’ajouter un nouvel utilisateur sans spécifier
aucune information sur ce compte (UID, mot de passe,…)

• Le login définis le nom du compte à créer.


Exemple:

⇒ Seul l’administrateur (root) qui a le droit d’ajouter un nouvel utilisateur

12
Gestion des utilisateurs sous Linux
Création d’un compte utilisateur
• Un compte d'utilisateur sans mot de passe est inactif : aucun usager ne peut
ouvrir de session avec ce compte tant qu'un mot de passe ne lui a pas été
attribué.
• On peut créer un utilisateur sans mot de passe avec la commande:
sudo adduser --disabled-password nouvel_utilisateur

12
Gestion des utilisateurs sous Linux
Création d’un compte utilisateur

• Nom d'utilisateur: user1


⇒ ID de l'utilisateur (UID) : automatiquement choisi par le système d'exploitation
⇒ Dossier personnel de l'utilisateur : /home/user1/ Ce dossier personnel n’est
pas créé par useradd, il faudra le créer par la suite (par exemple avec la
commande mkdir /home/user1/)
⇒ L'utilisateur est ajoutée au groupe suivant : user1 (par défaut, Linux crée un
groupe portant le même nom que le nouvel utilisateur)
⇒ Groupe principal de l'utilisateur : user1

12
Gestion des utilisateurs sous Linux
Création d’un compte utilisateur

12
Gestion des utilisateurs sous Linux
Création de comptes utilisateurs
• Le fichier /passwd définit dans /etc/ contient tous les comptes utilisateurs du
système:

12
Gestion des utilisateurs sous Linux
Supprimer un compte utilisateur:

• Supprimer un compte utilisateur:

12
Gestion des utilisateurs sous Linux
Supprimer un compte utilisateur:
• La commande seule ne supprime pas le répertoire
personnel de rayane. Si vous voulez supprimer aussi son home et tous ses
fichiers personnels, utilisez le paramètre -r :

12
Gestion des utilisateurs sous Linux
Fichier de gestion des utilisateurs
• L'ensemble des informations qui caractérisent les paramètres fondamentaux
de la connexion d’un utilisateur, y compris de l'utilisateur root, sont définies
dans le fichier /etc/passwd.
• C'est ce fichier que le système consulte lorsque vous vous connectez à votre
compte en tapant votre identifiant et mot de passe.
• Le fichier /etc/passwd est un fichier de type texte dont chaque ligne définit un
compte utilisateur.
• La ligne est composée de champs. Le séparateur de champs est le caractères
":".

12
Gestion des utilisateurs sous Linux
Fichier de gestion des utilisateurs
• Ce fichier contient des champs de texte séparés par : et qui respecte le format
suivant:
• nom_du_compte : mot_de_passe : numero_utilisateur :
numero_de_groupe : commentaire : répertoire : programme_de_demarrage
⇒ nom du compte = identifiant de l'utilisateur
⇒ mot de passe = mot de passe de l'utilisateur. Celui-ci est crypté
• * : il est impossible de s'authentifier sur le système avec ce compte.
• !! : le compte est désactivé.
• x ou ! : le mot de passe est dans un fichier shadow.
• champ vide : il n'y a pas de mot de passe pour ce compte.

13
Gestion des utilisateurs sous Linux
Fichier de gestion des utilisateurs
• nom_du_compte : mot_de_passe : numero_utilisateur : numero_de_groupe :
commentaire : répertoire : programme_de_demarrage
⇒ numéro utilisateur = le UID. Cet identifiant est unique. Les valeurs supérieures à
1000 sont pour les comptes utilisateurs
• L'utilisateur root possède l'UID 0.
• Les UID inférieurs à 1000 sont réservés aux comptes système.
⇒ numéro de groupe = un entier qui identifie le groupe de l'utilisateur. C'est un
identifiant unique appelé GID (Groupe Identifier).
⇒ commentaire = des informations sur l'utilisateur.
⇒ répertoire = le répertoire dans lequel se retrouve l'utilisateur après s'être
connecté.
⇒ programme_de_demarrage = le shell par défaut qui sera associé à ce compte

13
Gestion des utilisateurs sous Linux
Fichier de gestion des utilisateurs

13
Gestion des utilisateurs sous Linux
Notion de groupe
• Sous Linux, un groupe est un ensemble d’utilisateurs qui partagent les
mêmes fichiers et répertoires.
• Un utilisateur doit appartenir au moins à un groupe (groupe initial
défini au moment de la création).
• Il peut appartenir à un ou plusieurs groupes secondaires mais le rôle du
groupe initial reste prépondérant.
• Chaque groupe doit disposer d'un nom, d'un ID (le GID) et d’une liste des
noms d'utilisateur appartenant au groupe.
• Un GID identifie le groupe en interne sur le système

13
Gestion des utilisateurs sous Linux
Types de groupes
• Les deux types de groupes auxquels un utilisateur peut appartenir sont les
suivants :
⇒ Groupe principal : groupe assigné par le système d'exploitation aux
fichiers créés par l'utilisateur. Chaque utilisateur doit appartenir à un groupe
principal
⇒ Groupes secondaires : groupes auxquels un utilisateur peut appartenir.
Les utilisateurs peuvent appartenir à un nombre maximal de 15 groupes
secondaires.
• Pour cela, il existe un fichier qui comporte les noms des groupes existants
dans votre système.

13
Gestion des utilisateurs sous Linux
Types de groupes
• Le fichier /etc/group contient les informations relatives aux groupes présents
sur le système.
• Il contient la liste des utilisateurs appartenant aux différents groupes.
• La syntaxe d'une ligne est : ⇒ nom_de_groupe : Mot de passe :
numero_du_groupe : membre1, membre2…

13
Gestion des utilisateurs sous Linux
Commandes de gestion de groupes
• Connaître les groupes d’un utilisateur
⇒ # groups nom_utilisateur ou # id nom_utilisateur
• Créer un groupe
• La commande est de la forme :
⇒ # groupadd groupe
• Exemple :
⇒ # groupadd famille
• Ajouter un utilisateur à un groupe
⇒ # gpasswd -a nom_utilisateur nom_groupe
• Supprimer un groupe
⇒ # groupdel nom_groupe

13
Gestion des utilisateurs sous Linux
Options de la commande useradd
• Création d’un compte avec les options de configuration :

⇒ --uid : pour spécifier manuellement le UID du compte.


⇒ --home: pour spécifier le répertoire personnel
⇒ --create-home: pour que le dossier personnel soit créé par useradd
⇒ --groups : pour spécifier les groupes secondaires
⇒ --gid : pour spécifier le groupe par défaut.
⇒ --shell : pour indiquer le shell par défaut
• Pour terminer, on fait l'activation du compte en lui attribuant un mot de passe
grâce à la commande passwd.

137
Gestion des utilisateurs sous Linux
Options de la commande useradd

• Explication des options choisies :


⇒ Nom d'utilisateur : tarzan
⇒ ID de l'utilisateur (UID) : 1010
⇒ Dossier personnel de l'utilisateur : /home/acteur/
⇒ Ce dossier personnel est créé par useradd
⇒ L'utilisateur est ajouté aux deux groupes suivants : jungle et animaux
⇒ Groupe principal de l'utilisateur : jungle
⇒ Chemin du shell pour les commandes du terminal : /bin/bash

138
Gestion des utilisateurs sous Linux
Options de la commande useradd
• Exemple1: Création d’un compte avec les options de configuration :

13
Gestion des utilisateurs sous Linux
Modifier les propriétés d’un compte « usermod »
• Pour modifier les propriétés d’un compte déjà créé, on peut utiliser la
commande
usermod dont le fonctionnement est très similaire à useradd.

• Nous effectuons quelques modifications sur le compte déjà crée:

14
Gestion des utilisateurs sous Linux
Modifier les propriétés d’un compte « usermod »
• Modifier le groupe:

• Modifier le répertoire personnel:

14
Gestion des utilisateurs sous Linux
Gestion des propriétaire d’un fichier
• Seul l'utilisateur root peut changer le propriétaire d'un fichier.

• La commande chown permet de changer le propriétaire d'un fichier


• Syntaxe: Chown nom_NV_propriétaire nom_fichier_à_modifier

Remarque: Il appartient toujours au groupe zakariae !


14
Gestion des utilisateurs sous Linux
Gestion des propriétaire d’un fichier
La commande chgrp permet de changer le groupe propriétaire d'un fichier
chgrp s'utilise exactement de la même manière que chown à la différence près
qu'il affecte cette fois le groupe propriétaire d'un fichier.

chgrp nom_NV_groupe_propriétaire nom_fichier_à_modifier

14
Gestion des utilisateurs sous Linux
Gestion des propriétaire d’un fichier
chown peut aussi changer le groupe propriétaire d'un fichier

14
Gestion des utilisateurs sous Linux
Gestion des propriétaires d’un fichier
Par la commande chown –R tous les fichiers à l'intérieur du dossier de
zakariae, désormais appartiennent à karim
chown -R propriétaire[:groupe] dossier

14
Gestion des utilisateurs sous Linux
Les droits d’accès
• Chaque fichier et chaque dossier possède une liste de droits. C'est une liste
qui indique qui a le droit de voir le fichier, de le modifier et de l'exécuter.
• Linux possède un mécanisme de gestion des droits d’accès ⇒ il est possible
pour un propriétaire de fichier de donner ou d’omettre aux autres utilisateur
quelques droits.
• Les permissions constituent un système simple de définition des droits
d'accès aux fichiers.

14
Gestion des utilisateurs sous Linux
Les droits d’accès
• Ces permissions sont consultables complètement par la commande:

14
Gestion des utilisateurs sous Linux
Les droits d’accès
• On explique les droits suivants:

• L’utilisateur propriétaire possède tous les droits sur le fichier ordinaire


• Les utilisateurs du même groupe que le propriétaire possèdent le droit de
lire et écrire mais pas exécuter
• Les utilisateurs autres que ceux du groupe du propriétaire n’ont que le
droit de lecture du fichier

14
Gestion des utilisateurs sous Linux
Modifier des droits d’accès
• On utilise chmod pour modifier les droits accordés aux
utilisateurs.
• Contrairement aux commandes précédentes, vous n'avez
pas besoin d'être root pour utiliser chmod. Vous devez
juste être propriétaires du fichier dont vous voulez
modifier les droits d'accès.

• Il existe deux façons d'utiliser chmod:

⇒ mode symbolique
⇒ mode absolu
14
Gestion des utilisateurs sous Linux
Modifier des droits d’accès

15
Gestion des utilisateurs sous Linux
Modifier des droits d’accès (Méthode absolue Octale)

Droits octale Binaire Signification


--- 0 000 Aucune permission
--x 1 001 Exécution
-w- 2 010 Ecriture
-wx 3 011 Ecriture + Exécution
r-- 4 100 Lecture
r-x 5 101 Lecture + Exécution
rw- 6 110 Lecture + Ecriture
rwx 7 111 Tous les droits

15
Gestion des utilisateurs sous Linux
Modifier des droits d’accès (Méthode absolue Octale)

15
Gestion des utilisateurs sous Linux
Modifier des droits d’accès (Méthode absolue Octale)

15
Gestion des utilisateurs sous Linux
Modifier des droits d’accès (Méthode absolue Octale)
• Exemple:

15
Gestion des utilisateurs sous Linux
Modifier des droits d’accès (méthode symbolique)
u ⇒ user
g ⇒ group
o ⇒ others
a ⇒ all

15
Gestion des utilisateurs sous Linux
Modifier des droits d’accès (méthode absolue symbolique)
❑ Exemple: droit d’accès sur le fichier fich3.txt

u ⇒ user : rwx
g ⇒ group: rw- chmod u=rwx, g=rw, o=rx fich3.txt
o ⇒ others: r-x

u ⇒ user : rwx
g ⇒ group: r-- chmod u=rwx, g=r, o=- fich3.txt
o ⇒ others: ---

15
Gestion des utilisateurs sous Linux
Modifier des droits d’accès (méthode absolue symbolique)

On va appliquer les droits


d’accès suivants:
u ⇒ user: rwx
g ⇒ group: r-x
o ⇒ others: r-x

Vous devez être root


ou le propriétaire du
ficher pour utiliser
chmod

15
Gestion des utilisateurs sous Linux
Modifier des droits d’accès (méthode relative symbolique)
• Exemples:
• Pour ajouter le droit d’exécution au propriétaire (User)
Chmod u+x fichier
• Pour enlever le droit d’écriture au utilisateurs du groupe(Group)
Chmod g-w fichier
• Pour ajouter les droits de lecture et exécution au autres (Others)
Chmod o+rx fichier
• Pour affecter les droits de lecture et exécution au propriétaire (User)
Chmod u=r-x fichier

15
Gestion des utilisateurs sous Linux
Modifier des droits d’accès (méthode relative symbolique)
• Exemple:
Fich3.txt
rwx r-x r-x rw- rwx r--

chmod rwx r-x r-x

15
Gestion des utilisateurs sous Linux
Exercice:

1. Créer l’utilisateur John avec UID 900.


Commentaire « Elève » ayant le répertoire personnel : /home/John

2. Créer le groupe Network avec GID 3600

3. Affecter l’utilisateur John au groupe Network

4. Changer l’UID de l’utilisateur John et son commentaire avec :


o UID : 1990
o Commentaire : « Employé dans société D»

5. Ecrivez la commande pour visualiser tous les utilisateurs


6. Affichez le groupe dont il appartient John
16

Vous aimerez peut-être aussi