CLinux : Différence entre versions

De TARENTINO
Aller à la navigationAller à la recherche
(Contenu remplacé par « = Support de cours GNU/Linux = __TOC__ = Introduction = == Présentation des systèmes d'exploitation == == Mode utilisateur et mode noyau == == Appels système ==... »)
Balise : Remplacé
Ligne 10 : Ligne 10 :
  
 
= Le Shell et les commandes de base =
 
= Le Shell et les commandes de base =
 +
== GNU/Linux - Introduction et commandes de base ==
  
== L'invite de commande ==
+
__TOC__
== Bash ==
 
== Navigation dans le système de fichiers ==
 
=== ls ===
 
=== cd ===
 
=== pwd ===
 
  
== Manipulation des fichiers ==
+
== Introduction ==
=== cp ===
+
 
=== mv ===
+
=== Présentation du système GNU/Linux ===
=== rm ===
+
 
=== find ===
+
GNU/Linux est un système d'exploitation multi-utilisateur et multitâche inspiré d'UNIX.
=== grep ===
+
 
 +
Il est constitué :
 +
 
 +
* du noyau Linux ;
 +
* des outils GNU ;
 +
* d'un ensemble de programmes système ;
 +
* d'interfaces utilisateur en mode texte ou graphique.
 +
 
 +
Les principales caractéristiques de GNU/Linux sont :
 +
 
 +
* Multi-utilisateur
 +
* Multitâche
 +
* Portable
 +
* Stable
 +
* Sécurisé
 +
* Open Source
 +
 
 +
=== Architecture du système ===
 +
 
 +
Le système est composé de deux parties principales :
 +
 
 +
==== Le noyau (Kernel) ====
 +
 
 +
Le noyau est la partie centrale du système.
 +
 
 +
Il assure notamment :
 +
 
 +
* la gestion de la mémoire ;
 +
* la gestion des processus ;
 +
* la gestion des périphériques ;
 +
* la gestion du système de fichiers ;
 +
* les communications entre programmes.
 +
 
 +
==== Les programmes utilisateurs ====
 +
 
 +
Les applications fonctionnent en mode utilisateur.
 +
 
 +
Elles ne peuvent pas accéder directement :
 +
 
 +
* à la mémoire physique ;
 +
* aux périphériques ;
 +
* aux instructions privilégiées du processeur.
 +
 
 +
Les demandes au noyau sont effectuées par l'intermédiaire des appels système.
 +
 
 +
=== Modes d'exécution ===
 +
 
 +
==== Mode noyau ====
 +
 
 +
Le processeur exécute le code du noyau avec tous les privilèges.
 +
 
 +
Le noyau peut :
 +
 
 +
* accéder à toute la mémoire ;
 +
* gérer les périphériques ;
 +
* manipuler les interruptions matérielles ;
 +
* contrôler les ressources système.
 +
 
 +
==== Mode utilisateur ====
 +
 
 +
Les programmes utilisateurs s'exécutent avec des privilèges limités.
 +
 
 +
Ils ne peuvent accéder qu'aux ressources autorisées.
 +
 
 +
Lorsqu'une ressource système est nécessaire, ils utilisent un appel système.
 +
 
 +
== Le Shell ==
 +
 
 +
=== Définition ===
 +
 
 +
Le shell est l'interpréteur de commandes du système.
 +
 
 +
Il sert d'interface entre :
 +
 
 +
* l'utilisateur ;
 +
* le système d'exploitation.
 +
 
 +
Sous GNU/Linux, le shell le plus répandu est :
 +
 
 +
<syntaxhighlight lang="bash">
 +
bash
 +
</syntaxhighlight>
 +
 
 +
=== Invite de commande ===
 +
 
 +
Exemple :
 +
 
 +
<syntaxhighlight lang="bash">
 +
[root@serveur /root]#
 +
</syntaxhighlight>
 +
 
 +
Signification :
 +
 
 +
{| class="wikitable"
 +
! Élément
 +
! Description
 +
|-
 +
| root
 +
| Utilisateur connecté
 +
|-
 +
| serveur
 +
| Nom de la machine
 +
|-
 +
| /root
 +
| Répertoire courant
 +
|-
 +
| #
 +
| Utilisateur administrateur
 +
|}
 +
 
 +
Exemple utilisateur standard :
 +
 
 +
<syntaxhighlight lang="bash">
 +
[max@poste /home/max]$
 +
</syntaxhighlight>
 +
 
 +
Le symbole `$` indique un utilisateur standard.
 +
 
 +
=== Erreurs de commande ===
 +
 
 +
Exemple :
 +
 
 +
<syntaxhighlight lang="bash">
 +
abcde
 +
</syntaxhighlight>
 +
 
 +
Résultat :
 +
 
 +
<syntaxhighlight lang="text">
 +
bash: abcde: command not found
 +
</syntaxhighlight>
 +
 
 +
Cela signifie que la commande n'existe pas ou n'est pas accessible.
 +
 
 +
== Commandes de base ==
 +
 
 +
=== Lister les fichiers ===
 +
 
 +
==== ls ====
 +
 
 +
Affiche le contenu du répertoire courant.
 +
 
 +
<syntaxhighlight lang="bash">
 +
ls
 +
</syntaxhighlight>
 +
 
 +
Affichage détaillé :
 +
 
 +
<syntaxhighlight lang="bash">
 +
ls -l
 +
</syntaxhighlight>
 +
 
 +
Affichage des fichiers cachés :
 +
 
 +
<syntaxhighlight lang="bash">
 +
ls -la
 +
</syntaxhighlight>
 +
 
 +
=== Afficher le contenu d'un fichier ===
 +
 
 +
==== more ====
 +
 
 +
Lecture page par page.
 +
 
 +
<syntaxhighlight lang="bash">
 +
more fichier.txt
 +
</syntaxhighlight>
 +
 
 +
Commandes utiles :
 +
 
 +
{| class="wikitable"
 +
! Touche
 +
! Action
 +
|-
 +
| Entrée
 +
| Ligne suivante
 +
|-
 +
| Espace
 +
| Page suivante
 +
|-
 +
| b
 +
| Page précédente
 +
|-
 +
| q
 +
| Quitter
 +
|}
 +
 
 +
==== cat ====
 +
 
 +
Affiche l'intégralité d'un fichier.
 +
 
 +
<syntaxhighlight lang="bash">
 +
cat fichier.txt
 +
</syntaxhighlight>
 +
 
 +
Afficher plusieurs fichiers :
 +
 
 +
<syntaxhighlight lang="bash">
 +
cat fichier1.txt fichier2.txt
 +
</syntaxhighlight>
 +
 
 +
=== Copier des fichiers ===
 +
 
 +
==== cp ====
 +
 
 +
Copier un fichier :
 +
 
 +
<syntaxhighlight lang="bash">
 +
cp source.txt destination.txt
 +
</syntaxhighlight>
 +
 
 +
Copie d'un répertoire :
 +
 
 +
<syntaxhighlight lang="bash">
 +
cp -r dossier1 dossier2
 +
</syntaxhighlight>
 +
 
 +
=== Déplacer ou renommer ===
 +
 
 +
==== mv ====
 +
 
 +
Renommer :
 +
 
 +
<syntaxhighlight lang="bash">
 +
mv ancien.txt nouveau.txt
 +
</syntaxhighlight>
 +
 
 +
Déplacer :
 +
 
 +
<syntaxhighlight lang="bash">
 +
mv fichier.txt /home/user/
 +
</syntaxhighlight>
 +
 
 +
=== Supprimer ===
 +
 
 +
==== rm ====
 +
 
 +
Supprimer un fichier :
 +
 
 +
<syntaxhighlight lang="bash">
 +
rm fichier.txt
 +
</syntaxhighlight>
 +
 
 +
Supprimer un répertoire :
 +
 
 +
<syntaxhighlight lang="bash">
 +
rm -r dossier
 +
</syntaxhighlight>
 +
 
 +
Suppression forcée :
 +
 
 +
<syntaxhighlight lang="bash">
 +
rm -rf dossier
 +
</syntaxhighlight>
 +
 
 +
{{Attention|
 +
La suppression est définitive.
 +
}}
 +
 
 +
=== Rechercher des fichiers ===
 +
 
 +
==== find ====
 +
 
 +
Recherche dans une arborescence :
 +
 
 +
<syntaxhighlight lang="bash">
 +
find /home -name compta.txt
 +
</syntaxhighlight>
 +
 
 +
Recherche de tous les fichiers PDF :
 +
 
 +
<syntaxhighlight lang="bash">
 +
find /home -name "*.pdf"
 +
</syntaxhighlight>
 +
 
 +
=== Rechercher du texte ===
 +
 
 +
==== grep ====
 +
 
 +
Recherche une chaîne dans un fichier.
 +
 
 +
<syntaxhighlight lang="bash">
 +
grep "client" compta.txt
 +
</syntaxhighlight>
 +
 
 +
Recherche récursive :
 +
 
 +
<syntaxhighlight lang="bash">
 +
grep -r "erreur" /var/log
 +
</syntaxhighlight>
 +
 
 +
== Navigation dans l'arborescence ==
 +
 
 +
=== Changer de répertoire ===
 +
 
 +
==== cd ====
 +
 
 +
Répertoire personnel :
 +
 
 +
<syntaxhighlight lang="bash">
 +
cd
 +
</syntaxhighlight>
 +
 
 +
Répertoire spécifique :
 +
 
 +
<syntaxhighlight lang="bash">
 +
cd /home/max
 +
</syntaxhighlight>
 +
 
 +
Remonter d'un niveau :
 +
 
 +
<syntaxhighlight lang="bash">
 +
cd ..
 +
</syntaxhighlight>
 +
 
 +
=== Afficher le répertoire courant ===
 +
 
 +
==== pwd ====
 +
 
 +
<syntaxhighlight lang="bash">
 +
pwd
 +
</syntaxhighlight>
 +
 
 +
Exemple :
 +
 
 +
<syntaxhighlight lang="text">
 +
/home/max/documents
 +
</syntaxhighlight>
 +
 
 +
=== Créer un répertoire ===
 +
 
 +
==== mkdir ====
 +
 
 +
<syntaxhighlight lang="bash">
 +
mkdir projet
 +
</syntaxhighlight>
 +
 
 +
Créer plusieurs répertoires :
 +
 
 +
<syntaxhighlight lang="bash">
 +
mkdir docs images sauvegardes
 +
</syntaxhighlight>
 +
 
 +
=== Supprimer un répertoire ===
 +
 
 +
==== rmdir ====
 +
 
 +
Supprime un répertoire vide.
 +
 
 +
<syntaxhighlight lang="bash">
 +
rmdir projet
 +
</syntaxhighlight>
 +
 
 +
== Gestion de l'espace disque ==
 +
 
 +
=== df ===
 +
 
 +
Affiche l'espace disque disponible.
 +
 
 +
<syntaxhighlight lang="bash">
 +
df -h
 +
</syntaxhighlight>
 +
 
 +
=== du ===
 +
 
 +
Affiche l'espace utilisé.
 +
 
 +
<syntaxhighlight lang="bash">
 +
du -sh dossier
 +
</syntaxhighlight>
  
 
== Compression et archivage ==
 
== Compression et archivage ==
 +
 
=== gzip ===
 
=== gzip ===
 +
 +
Compression :
 +
 +
<syntaxhighlight lang="bash">
 +
gzip fichier.log
 +
</syntaxhighlight>
 +
 +
Décompression :
 +
 +
<syntaxhighlight lang="bash">
 +
gzip -d fichier.log.gz
 +
</syntaxhighlight>
 +
 
=== tar ===
 
=== tar ===
 +
 +
Créer une archive :
 +
 +
<syntaxhighlight lang="bash">
 +
tar -cvf archive.tar dossier/
 +
</syntaxhighlight>
 +
 +
Créer une archive compressée :
 +
 +
<syntaxhighlight lang="bash">
 +
tar -czvf archive.tar.gz dossier/
 +
</syntaxhighlight>
 +
 +
Extraire une archive :
 +
 +
<syntaxhighlight lang="bash">
 +
tar -xvf archive.tar
 +
</syntaxhighlight>
 +
 +
Extraire une archive compressée :
 +
 +
<syntaxhighlight lang="bash">
 +
tar -xzvf archive.tar.gz
 +
</syntaxhighlight>
 +
 +
Lister le contenu :
 +
 +
<syntaxhighlight lang="bash">
 +
tar -tvf archive.tar
 +
</syntaxhighlight>
 +
 +
== Gestion des processus ==
 +
 +
=== kill ===
 +
 +
Terminer un processus.
 +
 +
<syntaxhighlight lang="bash">
 +
kill PID
 +
</syntaxhighlight>
 +
 +
Exemple :
 +
 +
<syntaxhighlight lang="bash">
 +
kill 1254
 +
</syntaxhighlight>
 +
 +
== Obtenir de l'aide ==
 +
 +
=== man ===
 +
 +
Afficher le manuel d'une commande.
 +
 +
<syntaxhighlight lang="bash">
 +
man ls
 +
</syntaxhighlight>
 +
 +
Exemple :
 +
 +
<syntaxhighlight lang="bash">
 +
man tar
 +
</syntaxhighlight>
 +
 +
=== help ===
 +
 +
Aide intégrée du shell :
 +
 +
<syntaxhighlight lang="bash">
 +
help cd
 +
</syntaxhighlight>
 +
 +
== Résumé des commandes essentielles ==
 +
 +
{| class="wikitable sortable"
 +
! Commande
 +
! Fonction
 +
|-
 +
| ls
 +
| Lister les fichiers
 +
|-
 +
| cd
 +
| Changer de répertoire
 +
|-
 +
| pwd
 +
| Afficher le répertoire courant
 +
|-
 +
| cp
 +
| Copier
 +
|-
 +
| mv
 +
| Déplacer / renommer
 +
|-
 +
| rm
 +
| Supprimer
 +
|-
 +
| mkdir
 +
| Créer un répertoire
 +
|-
 +
| rmdir
 +
| Supprimer un répertoire vide
 +
|-
 +
| cat
 +
| Afficher un fichier
 +
|-
 +
| more
 +
| Lecture paginée
 +
|-
 +
| grep
 +
| Recherche de texte
 +
|-
 +
| find
 +
| Recherche de fichiers
 +
|-
 +
| gzip
 +
| Compression
 +
|-
 +
| tar
 +
| Archivage
 +
|-
 +
| df
 +
| Espace disque disponible
 +
|-
 +
| du
 +
| Espace disque utilisé
 +
|-
 +
| kill
 +
| Arrêt d'un processus
 +
|-
 +
| man
 +
| Documentation
 +
|}
  
 
= Gestion des utilisateurs =
 
= Gestion des utilisateurs =

Version du 12 juin 2026 à 10:20

Array

Support de cours GNU/Linux

Sommaire

Introduction

Présentation des systèmes d'exploitation

Mode utilisateur et mode noyau

Appels système

Le Shell et les commandes de base

GNU/Linux - Introduction et commandes de base

Introduction

Présentation du système GNU/Linux

GNU/Linux est un système d'exploitation multi-utilisateur et multitâche inspiré d'UNIX.

Il est constitué :

  • du noyau Linux ;
  • des outils GNU ;
  • d'un ensemble de programmes système ;
  • d'interfaces utilisateur en mode texte ou graphique.

Les principales caractéristiques de GNU/Linux sont :

  • Multi-utilisateur
  • Multitâche
  • Portable
  • Stable
  • Sécurisé
  • Open Source

Architecture du système

Le système est composé de deux parties principales :

Le noyau (Kernel)

Le noyau est la partie centrale du système.

Il assure notamment :

  • la gestion de la mémoire ;
  • la gestion des processus ;
  • la gestion des périphériques ;
  • la gestion du système de fichiers ;
  • les communications entre programmes.

Les programmes utilisateurs

Les applications fonctionnent en mode utilisateur.

Elles ne peuvent pas accéder directement :

  • à la mémoire physique ;
  • aux périphériques ;
  • aux instructions privilégiées du processeur.

Les demandes au noyau sont effectuées par l'intermédiaire des appels système.

Modes d'exécution

Mode noyau

Le processeur exécute le code du noyau avec tous les privilèges.

Le noyau peut :

  • accéder à toute la mémoire ;
  • gérer les périphériques ;
  • manipuler les interruptions matérielles ;
  • contrôler les ressources système.

Mode utilisateur

Les programmes utilisateurs s'exécutent avec des privilèges limités.

Ils ne peuvent accéder qu'aux ressources autorisées.

Lorsqu'une ressource système est nécessaire, ils utilisent un appel système.

Le Shell

Définition

Le shell est l'interpréteur de commandes du système.

Il sert d'interface entre :

  • l'utilisateur ;
  • le système d'exploitation.

Sous GNU/Linux, le shell le plus répandu est :

bash

Invite de commande

Exemple :

[root@serveur /root]#

Signification :

Élément Description
root Utilisateur connecté
serveur Nom de la machine
/root Répertoire courant
# Utilisateur administrateur

Exemple utilisateur standard :

[max@poste /home/max]$

Le symbole `$` indique un utilisateur standard.

Erreurs de commande

Exemple :

abcde

Résultat :

bash: abcde: command not found

Cela signifie que la commande n'existe pas ou n'est pas accessible.

Commandes de base

Lister les fichiers

ls

Affiche le contenu du répertoire courant.

ls

Affichage détaillé :

ls -l

Affichage des fichiers cachés :

ls -la

Afficher le contenu d'un fichier

more

Lecture page par page.

more fichier.txt

Commandes utiles :

Touche Action
Entrée Ligne suivante
Espace Page suivante
b Page précédente
q Quitter

cat

Affiche l'intégralité d'un fichier.

cat fichier.txt

Afficher plusieurs fichiers :

cat fichier1.txt fichier2.txt

Copier des fichiers

cp

Copier un fichier :

cp source.txt destination.txt

Copie d'un répertoire :

cp -r dossier1 dossier2

Déplacer ou renommer

mv

Renommer :

mv ancien.txt nouveau.txt

Déplacer :

mv fichier.txt /home/user/

Supprimer

rm

Supprimer un fichier :

rm fichier.txt

Supprimer un répertoire :

rm -r dossier

Suppression forcée :

rm -rf dossier

Modèle:Attention

Rechercher des fichiers

find

Recherche dans une arborescence :

find /home -name compta.txt

Recherche de tous les fichiers PDF :

find /home -name "*.pdf"

Rechercher du texte

grep

Recherche une chaîne dans un fichier.

grep "client" compta.txt

Recherche récursive :

grep -r "erreur" /var/log

Navigation dans l'arborescence

Changer de répertoire

cd

Répertoire personnel :

cd

Répertoire spécifique :

cd /home/max

Remonter d'un niveau :

cd ..

Afficher le répertoire courant

pwd

pwd

Exemple :

/home/max/documents

Créer un répertoire

mkdir

mkdir projet

Créer plusieurs répertoires :

mkdir docs images sauvegardes

Supprimer un répertoire

rmdir

Supprime un répertoire vide.

rmdir projet

Gestion de l'espace disque

df

Affiche l'espace disque disponible.

df -h

du

Affiche l'espace utilisé.

du -sh dossier

Compression et archivage

gzip

Compression :

gzip fichier.log

Décompression :

gzip -d fichier.log.gz

tar

Créer une archive :

tar -cvf archive.tar dossier/

Créer une archive compressée :

tar -czvf archive.tar.gz dossier/

Extraire une archive :

tar -xvf archive.tar

Extraire une archive compressée :

tar -xzvf archive.tar.gz

Lister le contenu :

tar -tvf archive.tar

Gestion des processus

kill

Terminer un processus.

kill PID

Exemple :

kill 1254

Obtenir de l'aide

man

Afficher le manuel d'une commande.

man ls

Exemple :

man tar

help

Aide intégrée du shell :

help cd

Résumé des commandes essentielles

Commande Fonction
ls Lister les fichiers
cd Changer de répertoire
pwd Afficher le répertoire courant
cp Copier
mv Déplacer / renommer
rm Supprimer
mkdir Créer un répertoire
rmdir Supprimer un répertoire vide
cat Afficher un fichier
more Lecture paginée
grep Recherche de texte
find Recherche de fichiers
gzip Compression
tar Archivage
df Espace disque disponible
du Espace disque utilisé
kill Arrêt d'un processus
man Documentation

Gestion des utilisateurs

Comptes utilisateurs

Groupes

useradd

usermod

userdel

passwd

/etc/passwd

/etc/group

/etc/shadow

Gestion du système de fichiers =

Arborescence Linux

Répertoire racine

/etc

/home

/usr

/var

Permissions et sécurité =

Types de fichiers

Permissions Unix

chmod

chown

chgrp

umask

SUID

SGID

Sticky Bit

Outils de gestion =

Commandes d'administration

Outils de visualisation

Éditeurs de texte =

vi

Emacs