Vous êtes sur la page 1sur 68

| | 




Trainer: Najib LAHMIOUI 1


| |  


- Module 00 : Historique

- Module 01 : Introduction au système linux

- Module 02 :GNU et commandes Unix

Trainer: Najib LAHMIOUI 2


º  

le système GNU/Linux a vu le jour en 1991 par un étudiant


finlandais, Linus Torvalds.

Linux a su garder, au fil de ses évolutions, l'héritage des tous


premiers systèmes Unix.

Parallèlement à cela, une philosophie nouvelle est apparu


concernant le partage des connaissances, protégée par une licence
qui garantirait la transparence des fichiers sources et la possibilité
de les modifier.

Trainer: Najib LAHMIOUI 3


|    
1983 : R. Stallman fonde la Free Software Foundation

Il décrit dans le Manifeste GNU les quatre libertés fondamentales


que doit respecter un logiciel pour être qualifié de ë ë ë (
 
 en anglais) :
ë     : tout le monde a le droit de lancer le
programme, quel qu'en soit le but
ë      : tout le monde a le droit d'étudier le
programme et de le modifier, ce qui implique un accès au code
source

ë       : tout le monde a le droit de rediffuser le


programme, gratuitement ou non

ë   ë    : tout le monde a le droit de redistribuer


une version modifiée du programme

Trainer: Najib LAHMIOUI 4


þ 

GNU's Not Unix : le système d¶exploitation GNU a développé un


système complet de logicielles libres qui a une compatibilité
ascendante avec UNIX

Licence GNU/General Public License (GPL) :


- Une modification d'un logiciel sous GPL doit forcément être
redistribuée en GPL.
- Promouvoir le logiciel libre
- l¶utilisation du logiciel a des fin lucratives
- Les logiciels sous licence GPL restent la propriété de leur auteurs
personne ne peut s¶approprier tout ou partie des droits d¶auteurs

Trainer: Najib LAHMIOUI 5


 

1991 : Linus Torvalds (Finlandais) développe un noyau s'inspirant


d'unix : linux. Il le met très vite sous licence GPL, rejoint par de
nombreux développeurs.

Succès : qualité technique du noyau + nombreuses distributions qui


facilitent l'installation du système et des programmes

Trainer: Najib LAHMIOUI 6


2 

- Le noyau est la couche de base d¶un système d¶exploitation. C¶est


le noyau qui gère la mémoire, l¶accès aux périphériques
(disque dur, carte son, carte réseau, etc...), la circulation des
données sur le bus, les droits d¶accès, les multiples processus qui
correspondent aux multiples tâches que l¶ordinateur doit exécuter
en même temps, etc...

- Ce noyau de système d¶exploitation a l¶originalité d¶être multi-


utilisateurs et multi-tâches et de fonctionner sur de nombreuses
plates-formes (Intel, Apple, Sparc, etc...)

- Avec un simple noyau, on ne peut rien faire ! Le noyau Linux vient


donc à l¶intérieur de    

Trainer: Najib LAHMIOUI 7


ù     

- Distribution linux
un noyau Linux
des programmes, en majorité libres (un navigateur Web, un
lecteur de Mail, un serveur FTP, etc...)
une méthode pour installer et désinstaller facilement ces
programmes
un programme d'installation du système d'exploitation

- Quelques distributions :
debian, redhat, mandrake/mandriva, knoppix, gentoo«
Quelle distribution est installée sur votre machine ?

Trainer: Najib LAHMIOUI 8


|   

Aujourd¶hui, le succès de Linux s¶explique par la qualité technique


du noyau, mais aussi par la présence de nombreuses distributions
Linux qui facilitent l¶installation du système et des programmes.

Il s¶explique surtout par son appartenance au monde du libre qui lui


apporte une grande rapidité et qualité de développement.

Le nombre d¶utilisateurs de Linux est aujourd¶hui estimé à plusieurs


millions !

Trainer: Najib LAHMIOUI 9


á 

Trainer: Najib LAHMIOUI Module 2 10


i 
      
 

Trainer: Najib LAHMIOUI Module 1 11


|   º 

bin boot dev etc home lib mnt proc sbin sys tmp usr var '

Trainer: Najib LAHMIOUI Module 1 12


|   º 

ë X 
      

ë  X         

ë fichiers des pilotes de périphériques

ë configuration système propre à la machine

ë
répertoire personnel des utilisateurs

ë  Contient les dossiers pour les points de montage temporaires

ë  Contient les informations sur le noyau

Trainer: Najib LAHMIOUI Module 1 13


|   º 

ë  Répertoire personnel de root

ë  exécutables système essentiels

ë Contient les dossiers et fichiers temporaires. Le dossier est


vidé à chaque démarrage

ë X          


 

ëX 
  
   
          

Trainer: Najib LAHMIOUI Module 1 14


|    

Les systèmes Unix/Linux furent à l'origine conçus pour fonctionner


en mode texte, sans interface graphique.

Bien qu'aujourd'hui de nombreuses interfaces graphiques permettant


de configurer le système ont été développées, il demeure totalement
administrable en ligne de commande (CLI - Command Line
Interface), cette méthode restant la plus simple et la plus puissante

Trainer: Najib LAHMIOUI Module 1 15


|    

Cette ligne de commande est accessible via les terminaux qui jouent
le rôle d'interface utilisateur/machine et fonctionnent avec un
interpréteur de commandes : le shell.

Il est possible de se connecter sur plusieurs terminaux via la


combinaison des touches Alt+Fn où Fn est une touche de fonction
(Ex : F1,F2...).

Note : Depuis un environnement graphique, il est possible de revenir


sur un terminal via la combinaison des touches Ctrl+Alt+Fn. Pour
revenir au mode graphique, il faut en général utiliser la combinaison
Alt+F7.

Trainer: Najib LAHMIOUI Module 1 16


|º

Le rôle du Shell est d'assurer la correspondance entre ce que


l'utilisateur tape et le système. Il en existe de nombreuses versions.
Le plus connus d'entre eux, bash est celui que nous utiliserons
pendant ce cours.

Chacun des shells existant dispose de ses propres avantages et


points faible. L'intérêt d'avoir un shell plutôt qu'un autre dépend des
fonctionnalités offertes par celui-ci, et donc de l'utilisation que l'on
souhaite en avoir.

Trainer: Najib LAHMIOUI Module 1 17


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.

Trainer: Najib LAHMIOUI 18


Le compte utilisateur ë 
Le compte  (Administrateur)
Un symbole de l'invite de commande vous permet de déterminer le
type de compte que vous utilisez.

Accès simple utilisateur :


user@localhost $

Accès root :
root@localhost #

Trainer: Najib LAHMIOUI Module 1 19


i þ      

   | 
      
! "#           
$ þ    º 
% "&  #  
' "          º    
(       )& & )    
* +#)      &   
, i    &  #  &   

Trainer: Najib LAHMIOUI Module 2 20


X 

 

— 

A l¶issue de ce module, vous serez capable de :

- Utiliser les commandes de base

- Utiliser le help a l¶aide de la commande man

Trainer: Najib LAHMIOUI Module 2 21


X 

 

Le format des commande se base sur:


command option(s) argument(s)

-Pour afficher les information du système

  Afficher toutes les informations décrites ci-dessus

 ^   Afficher le type (matériel) de machine.

^    Afficher le nom d'hôte de la machine sur le


réseau.

^ ë  Afficher le numéro de version du système


d'exploitation

Trainer: Najib LAHMIOUI Module 2 22


X 

 

-Pour Afficher ou configurer la date et l'heure du système




Pour afficher la date de l'avant-veille :


 

Pour afficher la date du jour à venir dans 3 mois plus un jour :


 


Pour afficher le calendrier


 

Trainer: Najib LAHMIOUI Module 2 23


X 

 

- Pour effacer le terminale :


 

-Pour exécuter deux commande une après l¶autre:


 

Trainer: Najib LAHMIOUI Module 2 24


|  
     

Trainer: Najib LAHMIOUI Module 2 25



  
 
 

La commande  affiche toute la documentation relative à une


commande (syntaxe, utilisation, options...).
les pages de manuel se trouvent dans le répertoire /usr/man,
mais peuvent également se trouver en d'autres endroits plus
spécialisés

La syntaxe à utiliser est :   

Õë :
$  
$  

Trainer: Najib LAHMIOUI Module 2 26


X     

La documentation est clasée en 8 sections numérotées de 1 à 8 :


1.commandes UNIX
2. appels système
3. sous-programmes de bibliothèques
4. format de fichiers UNIX: a.out, dir, fs
5. "divers" (table ASCII ...)
6. jeux
7. fichiers spéciaux
8. administration (démarrage, génération...)

chercher la page voulue :


   
  

Trainer: Najib LAHMIOUI Module 2 27


X 
 

La documentation man est limitée puisqu'il faut connaître le nom


de la commande.
On peut avoir une ébauche de la solution en faisant une
recherche par mot-clef. Pour cela,
on utilise la commande apropos, dont la syntaxe est la suivante :
    

Õë :    ou    

Trainer: Najib LAHMIOUI Module 2 28


Trainer: Najib LAHMIOUI Module 1 29
#  - +   
+  &    ./#&  )0 º  

— 

A l¶issue de ce module, vous serez capable de :

- Utiliser les commandes relatives aux répertoires

- Utiliser les commandes sur les fichiers

Trainer: Najib LAHMIOUI Module 2 30


Ë          


Si vous êtes en administrateur système la commande par 


vous placera dans le répertoire ë .

Dans le cas où je suis (je suis loggé en tant qu'utilisateur  )


je vais automatiquement me retrouver dans le répertoire de
l'utilisateur  qui se trouve dans ë
ë.
Les répertoires des utilisateurs sont tous sous ë
.

Trainer: Najib LAHMIOUI Module 2 31


  
    

- pour connaître le chemin du répertoire où l'on se trouve est


d'utiliser la commande  :
 

Pour changer de répertoire courant :


 u u u

Le symbole   ! représente votre répertoire d¶ accueil

‡ Le symbole   !représente le répertoire parent.

‡ Le symbole   ! représente le répertoire courant

Trainer: Najib LAHMIOUI Module 2 32


  
    

- Pour lister le contenu du répertoire:




Demandons par exemple uniquement les noms des fichiers


commençant par la lettre "l" :
"#

" permet de lister les attributs des fichiers

" $ liste tous les fichiers du répertoire, y compris les fichiers
cachés

Trainer: Najib LAHMIOUI Module 2 33


  
    

pour Afficher les fichiers par date, c'est-à-dire en les classant du


récent au plus ancien:
 

pour Afficher les fichiers par type :


 %

Pour Afficher récursivement le contenu d¶un répertoire :


 &

Trainer: Najib LAHMIOUI Module 2 34


  
    

La 

La commande file permet d¶afficher le type du fichier (exécutable,


répertoire, ASCII, «)

"ë ë
"ë ë 
"ë

Trainer: Najib LAHMIOUI Module 2 35


  
   

- pour Visualiser le contenu de fichiers:

  permet de lire des fichiers


Une option utile de  est  qui permet de numéroter les lignes

  a l'avantage d'afficher le fichier page par page. Pour


passer d'une page à l'autre, tapez sur la touche ()*+,(.

 affiche ligne par ligne sur un écran le contenu des fichiers.

Trainer: Najib LAHMIOUI Module 2 36


  
   

-Vous pouvez utiliser la commande


 simplement pour
afficher le début d'un fichier

 

Il est possible de spécifier le nombre de lignes supplémentaires


en entrant

$ 

Trainer: Najib LAHMIOUI Module 2 37


  
   

La commande  permet d'afficher les dernières lignes d'un


fichier

 

L'option  demande à tail de ne pas s'arrêter lorsqu'elle a affiché


les dernières lignes du fichier et de continuer à afficher la suite du
fichier au fur et à mesure que celui-ci grossit jusqu'à ce que
l'utilisateur interrompe la commande avec la combinaison de
touches d'interruption , .

Trainer: Najib LAHMIOUI Module 2 38


  
   

- Pour afficher le nombre :de lignes , mots et caractères :




Trainer: Najib LAHMIOUI Module 2 39


X 
Ë   Ë     
!Ë "  

— 


A l¶issue de ce module, vous serez capable de :

- Copier déplacer et créer les fichiers et les répertoires

-Renommer & supprimer les fichiers et les répertoires

- Utiliser les liens symboliques

Trainer: Najib LAHMIOUI Module 2 40


X         

- Pour copier un fichier :


  

- Pour copier un répertoire:


    

Trainer: Najib LAHMIOUI Module 2 41


Ë        
  

OPour déplacer un fichier :


  to     

-Pour déplacer un répertoire :


   to     

-Pour renommer un fichier ou un répertoire :


   
     

Trainer: Najib LAHMIOUI Module 2 42


X         

- pour créer un fichier :

 
ë 

- Pour créer un Repertoire


 

   

 ð u

u

u

u

Trainer: Najib LAHMIOUI Module 2 43


-        

-Pour supprimer un fichier :


 ë 

-Pour supprimer un répertoire vide :


    

-Pour détruire tous les sous-répertoires, leurs contenus et le


répertoire lui-même. :
   
   

Trainer: Najib LAHMIOUI Module 2 44



  
        

Les liens sont des fichiers spéciaux permettant d'associer plusieurs


noms (liens) à un seul et même fichier

On distingue deux types de liens :

Les liens symboliques représentant des pointeurs virtuels


(raccourcis) vers des fichiers réels. En cas de suppression du lien
symbolique le fichier pointé n'est pas supprimé.

Les liens physiques (aussi appelées liens durs ou en anglais

) représentent un nom alternatif pour un fichier

Trainer: Najib LAHMIOUI Module 2 45



  
        

- Pour créer un lien symbolique :


# ln -s source_file target_file

Les liens physiques sont créées à l'aide de la commande ln (sans


l'option -s) selon la syntaxe suivante :

# ln nom-du-fichier-reel nom-du-lien-physique

Trainer: Najib LAHMIOUI Module 2 46


á 

Trainer: Najib LAHMIOUI Module 2 47


| X 
Ë    Ë
   !Ë "  

— 


A l¶issue de ce module, vous serez capable de :

- Copier déplacer et créer les fichiers et les répertoires

-Renommer & supprimer les fichiers et les répertoires

- Utiliser les liens symboliques

Trainer: Najib LAHMIOUI Module 2 48


  
    
  

       ë 

Õ O     ë ë     ë  


  ë    


u

   

Õ      ë ë        ë 


  ë    

u

O

   

Trainer: Najib LAHMIOUI Module 2 49


  
    
  

Õ O    ë         ë  




u

O

    
  

Õ       ë    ë     ë 


  ë    

u

O

   

Trainer: Najib LAHMIOUI Module 2 50



  
    
   # 

Trainer: Najib LAHMIOUI Module 2 51



  
    
   

  # 

Ex1: pour chercher tous les lignes qui contiennent la lettre 2


Suivie par  ou plusieurs fois
 -2 . !/0ë ë 

Ex2:pour chercher les lignes qui contiennent 2 + 


ou
 + 
 0 2 . !+ 0ë ë 

Trainer: Najib LAHMIOUI Module 2 52



  
    
   

  # 

Trainer: Najib LAHMIOUI Module 2 53


| 

   
  $

- Find scrute récursivement l¶arborescence du system de fichier


en recherchant tous les fichier égalant une expression
booléenne représentant un critère de recherche

Trainer: Najib LAHMIOUI Module 2 54


|     
 


Trainer: Najib LAHMIOUI Module 2 55


|   
 


Trainer: Najib LAHMIOUI Module 2 56


!  
 


- Ex1: pour chercher un fichier nommer test dans votre


répertoire d¶accueil
  

-Ex2: pour chercher et supprimer un fichier nommer test dans


votre répertoire d¶accueil
  1  234

Ex3: pour chercher tous les fichiers qui ont été modifier il y a
deux jours dans votre répertoire courant
    /

Trainer: Najib LAHMIOUI Module 2 57


 
 

La commande sort trie les lignes d¶un ou plusieurs fichiers de


texte. Par défaut, le tri se fait suivant l¶ordre lexicographique.

Un certain nombre d¶options sont fournies pour modifier l¶ordre du


tri :

-n pour tri numérique,


-r pour tri inversé,
-k x pour tri à partir du champ x,
-t c pour utiliser le séparateur de champs

Trainer: Najib LAHMIOUI Module 2 58


 
 

Quelques exemples de la commande sort :

" . 

" ë ë 

Trainer: Najib LAHMIOUI Module 2 59


 


Ce filtre élimine les lignes dupliquées depuis un fichier trié.


On le voit souvent dans un tube combiné avec un sort

. .5 6 

# Concatène les fichiers liste,


# les trie,
# efface les lignes doubles,
# et enfin écrit le résultat dans un fichier de sortie.

Trainer: Najib LAHMIOUI Module 2 60


 


La commande cut permet d'afficher des zones spécifiques d'un


fichier.
Par exemple :
   ë ë 
affichera la première colonne du fichier /etc/passwd. Il existe
d'autres spécifications

On peut également spécifier un        avec


l'option  . Par exemple :
  7ë ë 
affichera le 6 champ du fichier /etc/passwd, dont le séparateur
de champs est le caractére double point (``'').

Trainer: Najib LAHMIOUI Module 2 61


 



  est un éditeur de ligne non interactif, il lit les lignes d'un
fichier une à une leur applique un certain nombre de commandes
d'édition et renvoie les lignes résultantes sur la sortie standard.

- Il ne modifie pas le fichier traité, il écrit tout sur la sortie


standard.

-la syntaxe n'est franchement pas très conviviale, mais il permet


de réaliser des commandes complexes sur des gros fichiers.
81

   



9
)
   


Trainer: Najib LAHMIOUI Module 2 62


 



La fonction de substitution s permet de changer la première ou


toutes les occurrences d'une chaîne par
une autre. La syntaxe est la suivante:

 :ë  ë;9;9ë:



va changer la première occurrence de la chaîne toto par TOTO
(la première chaîne toto rencontrée dans le texte uniquement)

 :ë  ë;9;9ë:



va changer la troisième occurrence de la chaîne toto par TOTO
Dans même ligne ex: «.toto «.toto«..  ««
(la troisième chaîne toto rencontrée dans le texte uniquement)

Trainer: Najib LAHMIOUI Module 2 63


 
 

8  permet de découper un fichier en plusieurs


plus petits unités. Ses options sont :

 p (Bytes) découpage par blocs de  octets


ou
 p (Lignes) découpage par blocs de  lignes

Syntaxe : split 

Exemple :
  <<<p ð

Trainer: Najib LAHMIOUI Module 2 64


 



8 permet de comparer le contenu de deux


fichiers pour en conaître les différences. Ceci est très pratique
pour savoir si deux fichiers ont le même contenu. En voici
quelques options :

- b ignore les différences du à des espaces blancs


- B ignore les différences du à des lignes blanches
 ignore les différences minuscules/MAJUSCULES
- q indiquer seulement si les fichiers sont différents et ne pas
afficher les différences elles-mêmes
  indiquer lorsque deux fichiers sont identiques
- r comparaison récursive des fichiers d'un répertoire, sous
répertoires...

Trainer: Najib LAHMIOUI Module 2 65


 



)1=  > u  u

Exemple :
$ cat file1 $ cat file2
1 1
2 4
3 5
" 
2,3c2,3
<2
<3
---
>4
>5

Trainer: Najib LAHMIOUI Module 2 66


 
 
% 
 

 8  p d'Unix/linux permet de convertir les


tabulations en espace (par défaut, une tabulation est transformée
en huit espaces).

 8 ?p p convertit les espaces en début de


ligne par une tabulation.

 8  permet de transposer ou d'éliminer des


caractères dans un fichier ou un flux de données.
Exemples :
Pour remplacer les minuscules par les majuscules
correspondantes
=?>=+@>A


Trainer: Najib LAHMIOUI Module 2 67


á 

Trainer: Najib LAHMIOUI Module 2 68

Vous aimerez peut-être aussi