Vous êtes sur la page 1sur 33

Cours : INITIATION A LINUX ENSEIGNANT : M.

EKPINDI ARMAND

CHAPITRE I : PRESENTATION DE LINUX

I- UNIX, Linux, GNU, logiciels libres . . . c’est quoi ?

I.1- Qu’est-ce qu’un logiciel Libre ?

I.1.1- La compilation

Un programme informatique, que ce soit un noyau ou un logiciel, est constitué


de nombreuses lignes de code, écrites dans un langage de programmation (le
langage C dans le cas du noyau Linux). Ce code n’est généralement pas
utilisable en tant que tel. Il faut passer par la phase de compilation qui
transforme le code source en programme exécutable, souvent appelé binaire. Il
suffit d’avoir le binaire pour utiliser le programme ; on n’a pas besoin des
sources du programme.
Il n’existe pas de moyen de remonter aux sources complètes du programme à
partir du seul binaire. Quand on achète un logiciel (Microsoft Office par
exemple) ou un système d’exploitation (Windows par exemple), on a un CD qui
contient le binaire, mais pas les sources. Il est donc impossible de savoir
comment le programme est conçu. Par conséquent, on ne peut pas modifier le
programme. On peut seulement l’utiliser et éventuellement le copier à
l’identique.

I.1.2-Les logiciels propriétaires et les logiciels Libres

Les logiciels propriétaires sont donc les logiciels dont une licence, souvent
payante, ne donne qu’un droit limité d’utilisation. On n’a la plupart du temps
accès qu’aux binaires de ces logiciels. Certains logiciels propriétaires sont
gratuits, on les appelle alors des freewares.
Les logiciels libres sont les logiciels que l’on peut librement utiliser, échanger,
étudier et redistribuer. Cela implique que l’on ait accès à leur code source (d’où
le terme équivalent OpenSource).

1
Contacts : 0747169042 / 0709000540
Cours : INITIATION A LINUX ENSEIGNANT : M. EKPINDI ARMAND

I.2- UNIX

UNIX est un système d’exploitation, créé en 1969 par Ken Thompson et Dennis
Ritchie. Sa conception a été particulièrement soignée, et apportait plusieurs
innovations, notamment le choix d’utiliser plusieurs outils simples et spécialisés,
plutôt que des logiciels complexes à tout faire. L’objectif premier des deux
initiateurs était de faire fonctionner un jeu sur une machine possédant
uniquement 4ko de mémoire et ainsi les applications des utilisateurs.
Le système Unix est un système d'exploitation multi-utilisateurs, multi-tâches,
ce qui signifie qu'il permet à un ordinateur mono ou multi-processeurs de faire
exécuter simultanément plusieurs programmes par un ou plusieurs utilisateurs.
De plus il possède une grande portabilité, ce qui signifie qu'il est possible de
mettre en œuvre un système Unix sur la quasi-totalité des plates-formes
matérielles.
De nos jours les systèmes Unix sont très présents dans les milieux
professionnels et universitaires grâce à leur grande stabilité, leur niveau de
sécurité élevé et le respect des grands standards, notamment en matière de
réseau.

I.3- Le projet GNU

I.3.1- Le projet de logiciels libres

Scandalisé par les restrictions imposées par les logiciels propriétaires, Richard
Stallman lance, en 1983, le projet GNU (logo Figure 1), qui a pour but de
développer un système d’exploitation libre complet et inspiré d’UNIX, afin de
contrer le développement croissant des logiciels propriétaires. L’histoire raconte
que c’est une histoire de pilote d’imprimante qui lui a fait prendre conscience du
danger de la logique propriétaire.

2
Contacts : 0747169042 / 0709000540
Cours : INITIATION A LINUX ENSEIGNANT : M. EKPINDI ARMAND

FIGURE 1 – Un GNU méditatif

Il fonde alors une association, la Free Software Foundation, (Figure 2) et écrit-le


GNU Manifesto, dans lequel il décrit les quatre libertés fondamentales que doit
respecter un logiciel pour être qualifié de logiciel libre (free software en
anglais):
– la liberté d’exécution : tout le monde a le droit de lancer le programme, quel
qu’en soit le but ;
– la liberté de modification : tout le monde a le droit d’étudier le programme et
de le modifier, ce qui implique un accès au code source ;
– la liberté de redistribution : tout le monde a le droit de rediffuser le
programme, gratuitement ou non ;
– la liberté d’amélioration : tout le monde a le droit de redistribuer une version
modifiée du programme.

FIGURE 2 – La fondation pour le logiciel libre

I.3.2- La licence GPL

Pour donner un cadre juridique aux logiciels du projet GNU, il écrit une licence,
la GNU General Public License alias GPL (il existe une traduction française non
officielle). Cette licence reprend les quatre libertés fondamentales citées
précédemment et impose pour la liberté d’amélioration que les versions
3
Contacts : 0747169042 / 0709000540
Cours : INITIATION A LINUX ENSEIGNANT : M. EKPINDI ARMAND

modifiées d’un logiciel sous licence GPL ne peuvent être redistribuées que sous
cette même licence. Richard Stallman invite alors tous les logiciels libres à
adopter la licence GPL (le logo de cette licence est présenté en Figure 1.3).

FIGURE 3 – Le logo de la licence publique


générale
Aujourd’hui, de très nombreux logiciels libres sont distribués sous Licence GPL
(VLC media player par exemple). Mais la licence GPL n’est pas la seule licence
utilisée pour les logiciels libres. Par exemple, il existe aussi la licence BSD, qui
diffère de la licence GPL par le fait qu’une version modifiée d’un logiciel sous
Licence BSD peut être redistribuée sous une autre licence, même propriétaire.

I.4- Qu’est-ce que Linux ?

Un noyau Linux désigne au sens strict un noyau de système d’exploitation.


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.
Par contre, le noyau ne gère pas le mail, l’affichage des pages Web, ou encore le
traitement du texte. Ce sont des programmes ou applications qui s’en chargent.
Ces programmes viennent se greffer sur le noyau, et ils doivent être adaptés à
celui-ci. Ce noyau de système d’exploitation a l’originalité d’être multi-
utilisateurs et multitâches et de fonctionner sur de nombreuses plates-formes
(Intel, PowerPC, Sparc, etc.).
Il est distribué sous Licence GPL. Il a la réputation d’être fiable, stable et
sécurisé. Son appartenance au monde du libre garantit une correction rapide des
erreurs qui pourraient être découvertes.

4
Contacts : 0747169042 / 0709000540
Cours : INITIATION A LINUX ENSEIGNANT : M. EKPINDI ARMAND

FIGURE 4 – Tux, la mascotte de Linux

I.4.1- Un peu d’histoire

Linux naît en 1991 dans la chambre d’un étudiant finlandais, Linus Torvalds. Il
développe un noyau en s’inspirant des principes du système d’exploitation
UNIX. Son but initial est de s’amuser et d’apprendre les instructions Intel 386.
Quand son noyau commence à marcher, il le met en libre téléchargement sur
Internet en demandant aux gens de l’essayer et de lui dire ce qui ne marche pas
chez eux. De nombreuses personnes se montrent intéressées et l’aident à
développer son noyau. Dès la version 0.12, il choisit de mettre Linux sous
licence GPL. Quelques années plus tard, d’autres bénévoles commencent à créer
des distributions Linux.
Aujourd’hui, le succès de Linux s’explique par la qualité technique du noyau,
par la présence de nombreuses distributions Linux qui facilitent l’installation du
système et des programmes, mais 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 !
Si vous voulez en savoir plus sur l’histoire de Linux et de son père fondateur.
I.4.2- Une distribution GNU/Linux

Le noyau Linux est à l’intérieur d’une distribution.


Une distribution GNU/Linux, c’est un ensemble cohérent de plusieurs choses :
– un noyau Linux ;
– un ensemble de logiciels de base issus du projet GNU ;

5
Contacts : 0747169042 / 0709000540
Cours : INITIATION A LINUX ENSEIGNANT : M. EKPINDI ARMAND

– d’autres programmes, en libres (un navigateur Web, un lecteur de Mail, un


serveur FTP, etc. . .), issus d’autres projets ;
– éventuellement, quelques logiciels propriétaires ;
– une méthode pour installer et désinstaller facilement ces programmes ;
– un programme d’installation du système d’exploitation.
Le noyau Linux ne se suffit donc pas à lui-même, mais on fait souvent un abus
de langage en désignant par le terme Linux ce qui est en fait une distribution
GNU/Linux.
Il existe de nombreuses distributions GNU/Linux :
- Ubuntu est une distribution qui propose un système convivial et
ergonomique pour le grand public. Simple d'utilisation, elle est aussi très
populaire. Éditée tous les six mois par la société Canonical - dont le
fondateur est un multi-millionnaire sud-africain et dont le siège est sur
l'île de Man.
- Red Hat Enterprise Linux (RHEL), souvent appelée simplement Red Hat,
est une distribution pour serveurs qui se destine aux professionnels. C'est
la distribution la plus utilisée par les grandes entreprises. Éditée par la
société américaine Red Hat, RHEL est vendue sous format binaire et
installable avec des abonnements d'assistance, des formations et des
services d'intégration pour les clients. Les sources de RHEL sont libres et
accessibles gratuitement, mais doivent être compilés pour être utilisables
(des distributions clones telles que CentOS ou Scientific Linux les
recompilent). RHEL est basée sur Fedora - historiquement, RHEL comme
Fedora étaient issues de la distribution Red Hat Linux.
- Debian est la distribution communautaire par excellence. Des milliers de
personnes contribuent au projet et les décisions y sont prises
démocratiquement. Les priorités de Debian sont la stabilité et l'efficacité,
et non pas la facilité d'utilisation, ainsi n'est installé par défaut que ce qui
est indispensable.
6
Contacts : 0747169042 / 0709000540
Cours : INITIATION A LINUX ENSEIGNANT : M. EKPINDI ARMAND

- Fedora est une distribution qui intègre très tôt les nouveautés logicielles.
Elle est développée par le projet Fedora qui fonctionne de manière assez
communautaire mais sur lequel l'entreprise Red Hat a un droit de regard et
dont elle finance une partie. Fedora sert de laboratoire à Red Hat pour
éditer ensuite Red Hat Enterprise Linux (RHEL) ; Fedora est aussi la
distribution de bureau de prédilection des utilisateurs qui aiment le
fonctionnement de RHEL, car Red Hat n'édite plus de distribution pour le
bureau.
- Arch Linux est une distribution GNU/Linux communautaire destinée aux
utilisateurs avancés. Elle se veut rapide, légère et flexible. Elle fournit peu
d'utilitaires d’aide à la configuration, à vous de mettre les mains dans le
cambouis ! Elle n'a pas de version : elle est en publication continue
(rolling release).
- openSUSE, anciennement SuSE Linux, est une distribution d'origine
allemande développée par l'entreprise SUSE, filiale de l'entreprise
américaine The Attachmate Group (qui possède également Novell).
openSUSE sert de base à SUSE Linux Enterprise (à l'image de Fedora et
Red Hat Enterprise Linux). Son environnement de bureau par défaut est
KDE.

7
Contacts : 0747169042 / 0709000540
Cours : INITIATION A LINUX ENSEIGNANT : M. EKPINDI ARMAND

CHAPITRE II : DISTRIBUTION GNU/LINUX

I- ARBORESCENCE DES REPERTOIRES

Contrairement à MS-DOS, Linux voit ses disques comme une unique


arborescence. Une partition contient la racine du système de fichier, qu'on note /
(et non c:\ comme sous MS-DOS). D'autres partitions, des disquettes, des CD-
ROM, etc., peuvent être "montés" dans des répertoires. Par exemple, le contenu
du CD-ROM peut être accessible dans le répertoire /mnt/cdrom.
La plupart des distributions Linux essaient de se conformer à la structure
"standard" des répertoires décrite par le FHS (Filesystem Hierarchy Standard).
Les principaux répertoires sont :
La racine
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).
Sous Linux, il n'y a qu'une et une seule racine : « / ».
/bin : contient les commandes de base (sous Unix, presque toutes les
commandes sont "externes", et non intégrées au Shell comme sous DOS).
/boot : contient les informations nécessaires au démarrage de la machine.
/dev : contient les fichiers spéciaux correspondant aux périphériques.
/etc : contient la plupart des fichiers de configuration. Il contient les commandes
et les fichiers nécessaires à l'administrateur du système (fichiers passwd, group,
adduser.conf, ...). Ce sont des fichiers de configuration dont les divers
programmes se servent pour avoir des informations sur la configuration du
système.
/home : contient les répertoires personnels des utilisateurs. Par exemple,
l'utilisateur toto a généralement pour répertoire ‘‘/home/toto’’.

8
Contacts : 0747169042 / 0709000540
Cours : INITIATION A LINUX ENSEIGNANT : M. EKPINDI ARMAND

/mnt : les répertoires utilisés pour monter temporairement un système de


fichiers (disquette, CD-ROM...).
/media : Répertoire contenant les « points de montage » des médias usuels : CD,
DVD, disquette, clef USB.
/root : le répertoire de l'administrateur système. Il n'est pas sous /home.
/sbin : les commandes de base nécessaires à l'administration système
(vérification et réparation des disques, mise en place du réseau...).
/tmp : les fichiers temporaires.

/usr : les logiciels installés avec le système. Il contient généralement de loin la


plus grande part de données sur un système. Par conséquent, il s'agit de l'un des
répertoires les plus importants du système, car il contient tous les binaires de
l'utilisateur, leur documentation, les bibliothèques, les fichiers d'en-tête etc ....
/var : Répertoire contenant les fichiers qui servent à la maintenance du système.
Il contient des données variables telles que les fichiers de journalisation système
(les fichiers de journaux notamment dans /var/log), les répertoires de spoule de
courrier et d'imprimante et les fichiers transitoires.

9
Contacts : 0747169042 / 0709000540
Cours : INITIATION A LINUX ENSEIGNANT : M. EKPINDI ARMAND

II- LES FICHIERS

Il existe différentes catégories de fichiers :


Fichiers normaux
* texte : courrier, sources des programmes, scripts, configuration ...
* exécutables : programmes en code binaire (.deb, .rpm, .tar)
Fichiers répertoires
Ce sont des fichiers conteneurs qui contiennent des références à d'autres fichiers.
Véritable charpente de l'arborescence, ils permettent d'organiser les fichiers par
catégories.
Fichiers spéciaux
Situés dans /dev, ce sont les points d'accès préparés par le système aux
périphériques. Le montage va réaliser une correspondance de ces fichiers
spéciaux vers leur répertoire "point de montage". Par exemple, le fichier
/dev/hda permet l'accès et le chargement du 1er disque IDE.

10
Contacts : 0747169042 / 0709000540
Cours : INITIATION A LINUX ENSEIGNANT : M. EKPINDI ARMAND

Tableau 1. Exemples de périphériques


Fichier périphérique

/dev/input/mouse0 Souris

/dev/kbd Clavier

/dev/tty Clavier / Ecran

/dev/tty0 Premier terminal virtuel

/dev/tty1 Second terminal virtuel

/dev/fd0 lecteur de disquettes

/dev/hda lecteur maître de la première nappe ide

/dev/hdb lecteur asservi de la première nappe ide

/dev/hdc lecteur maître de la seconde nappe ide

/dev/hdd lecteur asservi de la seconde nappe ide

/dev/sda premier disque dur sata, scsi ou usb

/dev/sdb second disque dur sata, scsi ou usb

/dev/ttyS0 port série COM1

/dev/ttyS1 port série COM2

/dev/parport0 port parallèle

/dev/lp0 imprimante parallèle

/dev/usb/lp0 imprimante usb

11
Contacts : 0747169042 / 0709000540
Cours : INITIATION A LINUX ENSEIGNANT : M. EKPINDI ARMAND

Les partitions
Sur un disque dur ide ou sata, les partitions sont numérotées de la façon
suivante:

Tableau 2. La numérotation des partitions

Type ordre numéros

primaires apparition sur le disque de 1 à 4

lecteurs logiques apparition dans la partition étendue de 5 à 20

Exemples :

 Si vous avez 4 partitions primaires, elles sont numérotées dans l'ordre


hda1/sda1 (hda1 pour un disque ide / sda1 pour un disque sata),
hda2/sda2, hda3/sda3 et hda4/sda4.
 Si vous avez dans l'ordre : 2 partitions primaires, 1 partition étendue avec
3 lecteurs logiques dedans, et 1 dernière partition primaire à la fin, ça
donne :
o Les deux premières partitions primaires sont hda1/sda1 et
hda2/sda2,
o La partition étendue est hda3/sda3,
o Les lecteurs logiques de la partition étendue sont, dans l'ordre,
hda5/sda5, hda6/sda6 et hda7/sda7,
o La dernière partition primaire est hda4/sda4.

Fichiers liens symboliques

Ce sont des fichiers qui ne contiennent qu'une référence (un pointeur) à un autre
fichier. Cela permet d'utiliser un même fichier sous plusieurs noms sans avoir à
le dupliquer sur le disque. Il existe deux types de liens qui permettent de

12
Contacts : 0747169042 / 0709000540
Cours : INITIATION A LINUX ENSEIGNANT : M. EKPINDI ARMAND

rediriger un fichier vers un autre : les liens physiques (ou matériels) et les liens
symboliques.
Avec un lien physique les données du disque sont pointées par plusieurs entrées
de répertoire, contrairement à ce qui se passe avec un lien symbolique.
Un lien matériel (ou physique) est l'information exacte elle-même, située à la
même position sur le disque dur.
Un lien symbolique est un fichier qui pointe vers un autre fichier ; si vous
supprimez le fichier cible, les liens symboliques pointeront alors vers un fichier
inexistant.

13
Contacts : 0747169042 / 0709000540
Cours : INITIATION A LINUX ENSEIGNANT : M. EKPINDI ARMAND

III- SYSTEMES DE FICHIERS


Les données sont normalement présentées à l'utilisateur et aux programmes
selon une organisation structurée, sous la forme de répertoires et de fichiers.
Pour pouvoir stocker ces données structurées sur un périphérique, il faut utiliser
un format qui les représente sous la forme d'une succession de blocs de
données : c'est ce qu'on appelle un système de fichiers. Les systèmes de fichiers
les plus courants utilisés par linux sont : Ext2, Ext3, Ext4, swap, FAT, NTFS.

IV- GESTION DES DROITS


Bien gérer ses fichiers et ses dossiers ne passe pas forcément par un bon
archivage ou une bonne hiérarchie. Il s'agit aussi de définir judicieusement leurs
droits. Qui peut le lire ? Qui peut écrire dedans ? Qui peut exécuter ce
programme ? Qui peut accéder à tel répertoire ? Nous allons donc voir dans cette
partie comment gérer les droits de fichiers sous GNU/Linux (et Unix en
général).
IV.1- Présentation des différents droits Unix
La philosophie d'un système Unix est la suivante : tout est fichier. En effet, dans
un système Unix, tout est caractérisé par un fichier, que ce soit un fichier texte,
un répertoire ou les périphériques de la machine.
Il est donc primordial d'avoir connaissance et de maitriser les différents droits
applicables à un fichier.
Pour voir les différents droits des fichiers, exécutons la commande ls ‐l dans un
terminal :
-rw-r—r-- 1 benj benj 670567 2009 02 01 22:32 Freedom.tar.gz
drwxr-xr-x 5 benj benj 4096 2009 02 04 22:30 Roms
drwx------ 2 benj benj 4096 2009 02 05 18:40 ruby
lrwxrwxrwx 1 benj benj 9 2009 02 07 14:26 www >/var/www/

14
Contacts : 0747169042 / 0709000540
Cours : INITIATION A LINUX ENSEIGNANT : M. EKPINDI ARMAND

La première lettre désigne le type de fichier :


- : fichier "classique"
d : répertoire (directory)
l : lien symbolique (link)
Passons ensuite aux droits des fichiers à proprement parlé :
r : read (droit de lecture)
w : write (droit d'écriture)
x : execute (droit d'exécuter un fichier ou d'ouvrir un répertoire)
Ces droits sont affichés de la sorte :
Les 3 premiers sont les droits du propriétaire du fichier, les trois suivants du
groupe et les trois derniers des autres. Par exemple, pour cette ligne :
-rw-r—r-- 1 benj benj 670567 2009 02 01 22:32 Freedom.tar.gz
Ici, l'utilisateur (en général, celui qui a créé le fichier ou le dossier) est benj et le
groupe est également benj (benj:benj : user:group)
Les droits sur ce fichier sont donc les suivants :
User (3 premiers caractères) : rw (droits de lecture, écriture)
Group (3 caractères suivants) : r (droit de lecture)
Les autres : (3 derniers caractères) : r (droit de lecture)
Notez que pour qu'un dossier puisse être ouvert par un utilisateur, il doit avoir
les droits d'exécution.

La troisième colonne nous donne le nombre de liens physiques :


L’indication 1 indique qu’il existe qu’un seul lien physique sur ce fichier et le 5
signifie qu’il y’a 5 liens physiques.

La quatrième colonne indique la taille du fichier :

Le fichier a une taille de 670567 octets

15
Contacts : 0747169042 / 0709000540
Cours : INITIATION A LINUX ENSEIGNANT : M. EKPINDI ARMAND

La cinquième colonne désigne la date et l’heure de création ou de


modification :

2009 02 01 22:32 signifie que le fichier a été créé ou modifié le 01 Février 2009
à 22h32mn.

La dernière colonne nous indique le nom du fichier :

Dans notre cas le nom du fichier est Freedom.tar.gz.

IV.2- Comment modifier les droits d'un fichier

Il y a deux façons de modifier les droits d'un fichier : la manière "relative" qui
consiste à modifier les droits existants et la manière "absolue" qui consiste à
créer les droits à partir de rien.

a- La manière "relative"

Elle consiste, comme je l'ai dit, à modifier les droits existants. Par exemple, on
souhaite simplement ajouter les droits d'exécution au groupe (en plus des droits
existants). Cela ne modifie donc que le droit d'exécution, les autres droits sont
conservés tels quels. Rappel : Signification de lettres utilisées ci-dessous :
u : user (utilisateur)
g : group (groupe)
o : other (autres)
a: all (tout le monde)
Par exemple, nous souhaitons simplement ajouter les droits d'exécution au
groupe. Nous devons donc exécuter cette commande :

chmod g+x nom_fichier


Un autre exemple, nous souhaitons ajouter les droits d'écriture au groupe et
supprimer le droit de lecture aux autres (utilisateur non propriétaire du fichier et
ne faisant pas partie du groupe du fichier) :
chmod g+w,o‐r mon_fichier

16
Contacts : 0747169042 / 0709000540
Cours : INITIATION A LINUX ENSEIGNANT : M. EKPINDI ARMAND

Enfin, nous souhaitons donner tous les droits à tout le monde (c'est une
mauvaise idée, comme nous le verrons plus loin, mais c'est juste pour
l'exemple):
chmod a+rwx mon_fichier

b- La manière "absolue"

Cette méthode consiste à changer les droits en écrasant ceux existants.


Avant tout, un petit rappel : conversion des chiffres décimal / binaire
0 : 000
1 : 001
2 : 010
3 : 011
4 : 100
5 : 101
6 : 110
7 : 111

Remarquez qu'il y a autant de chiffres que de nombres de lettres nécessaires à la


définition des droits.
Autrement dit, 5 correspond à 101 et donc à r‐x, 4 à r‐‐ et 7 à rwx. Simple non ?
Vous comprenez désormais le fameux 777 (chmod 777) correspond à
rwxrwxrwx (soit tous les droits).
Vous souhaitez affecter ces droits à un fichier :
Tous les droits au propriétaire du fichier (user) : rwx
Les droits de lecture et d'écriture au groupe : rw‐
Uniquement les droits de lecture aux autres : r‐‐
Il faudra donc exécuter cette commande :
chmod 764 mon_fichier

17
Contacts : 0747169042 / 0709000540
Cours : INITIATION A LINUX ENSEIGNANT : M. EKPINDI ARMAND

La différence avec la méthode précédente est qu'avec cette méthode, il faut


définir l'ensemble des droits à chaque fois (d'où le nom méthode "absolue").

EXERCICES

EXO1 :

Dans votre répertoire courant, créez un répertoire courant essai_droit, par défaut
ce répertoire est à 755 (rwxr-xr-x), quelles sont les commandes (en notation
symbolique et en base 8) pour lui donner les droits suivant (on suppose qu'après
chaque commande on remet le répertoire à 755 :

Propriétaire Groupe Les autres

droit en droit en droit droit en droit en droit droit en droit en droit


lecture écriture d'accès lecture écriture d'accès lecture écriture d'accès

commande 1 oui oui oui oui non oui non non oui

commande 2 oui non oui non oui non non non oui

commande 3 non oui non non non oui oui non non

commande 4 non non oui oui non oui non non non

EXO2 :

Quelles sont les commandes (selon deux représentations Décimale et caractère)


pour lui donner les droits suivant (on suppose qu’après commande on remet le
répertoire à 755) sur chacun de ces dossiers.

Droit du propriétaire Droit du groupe Droit du les autres

lecture écriture accès lecture écriture accès lecture écriture accès

Dossier1 oui oui oui oui non oui non non oui

Dossier2 oui non oui non oui non non non oui

18
Contacts : 0747169042 / 0709000540
Cours : INITIATION A LINUX ENSEIGNANT : M. EKPINDI ARMAND

CHAPITRE III : LE SHELL

I- Présentation du Shell

Le « Shell » est ce que l’on appelle un « Interpréteur de commandes ». Il date


de l’époque d’UNIX, où le seul moyen de communiquer avec sa machine était
d’écrire des lignes textes au clavier, dans un langage compréhensible à la fois
par l’humain et la machine.
Le rôle de la machine étant d'exécuter les commandes de l’utilisateur et
d’afficher le résultat à l’écran. Le Shell c'est un programme qui se trouve dans le
répertoire /bin. Par définition, il doit être léger et rapide, et reste un service
d’accès privilégié aux Noyau Linux (Kernel) pour l'exécution de primitives
système.
Depuis, cette « interface » avec la machine a perdurée car elle est rapide et fiable
pour l’utilisateur qui la maitrise. Le Shell a évoluée aux travers des années,
plusieurs types de Shell existent :

 sh : Bourne Shell. L'ancêtre de tous les shells.


 bash : Bourne Again Shell. Une amélioration du Bourne Shell, disponible
par défaut sous Linux et Mac OS X.
 ksh : Korn Shell. Un shell puissant assez présent sur les Unix propriétaires,
mais aussi disponible en version libre, compatible avec bash.
 csh : C Shell. Un shell utilisant une syntaxe proche du langage C.
 tcsh : Tenex C Shell. Amélioration du C Shell.
 zsh : Z Shell. Shell assez récent reprenant les meilleures idées de bash, ksh et
tcsh.

II- Quelques commandes de base

Le catalogue de quelques commandes de bases est déjà assez fournit comme


vous allez pouvoir le constater. L'intérêt étant d'en connaître le maximum sinon
la commande man sera toujours là pour vous aider!

19
Contacts : 0747169042 / 0709000540
Cours : INITIATION A LINUX ENSEIGNANT : M. EKPINDI ARMAND

Toutes ces commandes sont « sensibles à la case » (majuscule/minuscule), le


caractère d'espacement servant de séparateur.
pwd : (affiche le chemin absolu du répertoire courant)

who : Liste les utilisateurs connectés sur la station


touch : Créer un fichier vide
Syntaxe : touch nom_fichier
echo : Ajouter du texte dans un fichier.
Syntaxe : echo ‘‘le texte’’ >> nom_fichier
mkdir : MaKeDIRectory - crée un répertoire
Syntaxe : mkdir nom_répertoire
cat : Lit (concatène) un ou plusieurs fichier(s), affichage sur la sortie standard
Syntaxe : cat nom_fichier

cd : ChangeDirectory, change de répertoire. 'cd' seul permet de revenir dans le


home directory
Syntaxe : cd /Nom_répertoire
cd .. : Remonte d'un niveau | cd / : Retourne à la racine
cd - : Retourne au répertoire précédent
cp : copier des fichiers
Faire une copie d'un fichier sous un autre nom
Syntaxe : cp toto.txt toto.bak
Faire une copie d'un fichier depuis un répertoire vers un autre
Syntaxe : cp /home/cedric/toto.txt /home/titi
Copier un répertoire et son contenu
Syntaxe : cp -r /home/cedric/document/test /home/cedric/bureau/

move : (move, renomme et déplace un fichier)


Syntaxe : mv nom_fichier1 nom_fichier2
cat : Permet de lire le contenu d’un fichier.

20
Contacts : 0747169042 / 0709000540
Cours : INITIATION A LINUX ENSEIGNANT : M. EKPINDI ARMAND

Syntaxe : cat nom_fichier


more : programme d'affichage à l'écran
Syntaxe : more nom_fichier
less : Permet de lire le contenu d’un fichier.
Syntaxe : less nom_fichier

rmdir : rmdir nom_dossier


rm : rm nom_fichier
rm fichier (pour supprimer un fichier)
rm -r répertoire [pour supprimer un répertoire et son contenu (r pour récursif)]
rm -ri répertoire [demande une confirmation (i pour interactif) avant chaque
effacement]
date : Affiche la date selon le format demandé
Syntaxe
 date -s HH:MM:SS : pour changer uniquement l'heure
 date -s MM/JJ/AAAA : pour changer uniquement la date

exit : arrête l'exécution du Shell


find : recherche de fichiers
Syntaxe : find nom_fichier

help : affiche une aide sur les commandes internes de bash


Syntaxe : commande --help
ls : liste le contenu des répertoires
Syntaxe : ls –l (lister un répertoire de façon détailler)
man : Une des plus importantes! Affiche les pages de manuel de la commande
qui suit.
Syntaxe : man commande
NB : La combinaison des touches Altgr+Shift+x donne le signe (>) et la
combinaison des touches Altgr+Shift+w donne le signe (<).

21
Contacts : 0747169042 / 0709000540
Cours : INITIATION A LINUX ENSEIGNANT : M. EKPINDI ARMAND

EXERCICES
EXO1 :
1. Créer un dossier nommé droits et un document monDoc.txt à l’intérieur
de ce dossier.
2. Quels sont les droits d’accès sur le fichier que vous venez de créer pour
l’utilisateur ? le groupe ? les autres ?
3. Convertir en octal les droits d’accès suivants :
 Modifier les droits sur monDoc.txt tel qu’il soit accessible en lecture
pour tout le monde (les droits accès écriture et exécution sont laissés par
défaut).
 Modifier les droits sur le document tel qu’il ait les suivants :
rwxr–xr––
 Supprimer les droits de lecture au groupe et aux autres utilisateurs.
 Ajouter les droits d’exécutions aux autres utilisateurs.
EXO2 :
1. Dans votre répertoire courant, créez en une commande les fichiers
suivants:
Ita1, ita1, Ita2, ita2, ita, Ita, itaadarissa, istaadarissa
2. Créer le répertoire « dossierv1 » dans votre répertoire courant, et
déplacez les fichiers précédemment créés dans le répertoire « dossierv1″.
3. Lister tous les fichiers se terminant par 5
4. Lister tous les fichiers commençant par ita4
EXO3 :
Dans votre répertoire courant, créez en une commande les fichiers suivants:
annee1 Annee2 annee4 annee45 annee41 annee510 annee_saucisse banane
Créer le répertoire Year dans votre répertoire courant, déplacez les fichiers
précédemment créés dans le répertoire Year.

22
Contacts : 0747169042 / 0709000540
Cours : INITIATION A LINUX ENSEIGNANT : M. EKPINDI ARMAND

EXO6 :

1. Créer l’arborescence ci-dessus dans le dossier /home.


2. Copier tous les fichiers du répertoire /dev qui ont l’extension .C vers le
répertoire facture (en utilisant les chemins relatifs pour la source et pour la
destination.
3. Renommer le répertoire Module3 par Examen (En utilisant un chemin
relatif pour la source et un chemin absolu pour la destination).
4. Créer le répertoire Absence à l’intérieur du répertoire Jawad.
5. Déplacer la branche Module2dans le répertoire Examen en utilisant des
chemins absolus).
6. Donner les droits drwx – – – r – x pour le dossier jawad.
7. Donner les droits drwx r – x r – – pour le dossier Module1.
8. Donner les droits dr–x – w – – – x pour le dossier Examen.
9. Donner les droits drw– r – – r – – pour le dossier Cours.
10.Donner les droits dr– – r – – r w x pour le dossier TP.

23
Contacts : 0747169042 / 0709000540
Cours : INITIATION A LINUX ENSEIGNANT : M. EKPINDI ARMAND

CHAPITRE IV : ENVIRONNEMENT GRAPHIQUE

Un environnement de bureau (de l'anglais desktop environment) est un logiciel


qui permet de manipuler l'ordinateur à travers une interface utilisateur en mode
graphique (graphical shell) et qui fait analogie à un bureau.
L'environnement de bureau Linux a permis d'élargir le cercle des utilisateurs.
Des outils de configuration graphique ont rendus plus faciles l'exploitation d'un
système sous Linux. Toutefois, certaines tâches administratives (comme la
configuration des serveurs ou la rédaction de script Shell) requièrent la dextérité
d'un expert en ligne de commande, et beaucoup d'administrateurs ne jurent que
par le mode console...
Il existe plusieurs environnements de bureau, mais dans ce module nous verrons
que deux (KDE et Gnome).

I- GNOME
GNOME, acronyme de GNU Network Object Model Environment, est un
environnement de bureau libre convivial dont l'objectif est de rendre accessible
l'utilisation du système d'exploitation GNU au plus grand nombre ; cette
interface est actuellement populaire sur les systèmes GNU/Linux et fonctionne
également sur la plupart des systèmes de type UNIX.
GNOME est développé par The Gnome Project dont les participants sont
bénévoles ou rémunérés par des entreprises externes au projet.
Gnome se veut « simple d’utilisation », c’est à dire qu’une application fait une
seule chose, mais la fait bien. Les options paramétrables de chaque application
restent limitées afin de ne pas noyer l'utilisateur dans des réglages dont il n'aurait
jamais à se soucier.

24
Contacts : 0747169042 / 0709000540
Cours : INITIATION A LINUX ENSEIGNANT : M. EKPINDI ARMAND

Image : Gnome

I-1 Avantages

- Intégrer dans de nombreuses distributions/Linux


- Environnement complet et facile à paramétrer
- Très Ergonomique

I-2 Inconvénients
- Un peu lourd pour le rendu visuel
- Assez long à démarrer

25
Contacts : 0747169042 / 0709000540
Cours : INITIATION A LINUX ENSEIGNANT : M. EKPINDI ARMAND

II- KDE
KDE (K Desktop Environment) est un environnement de bureau. Il se compose
d'un ensemble d'outils vous permettant d'exploiter graphiquement votre
ordinateur. La plupart des applications de KDE utilisent les mêmes composantes
(bibliothèques), elles n'ont besoin d'être chargés en mémoire qu'une fois.

Image : KDE
II-1 Avantages
- Léger que Gnome
- Plus proche de Windows (Bon pour les débutants)
- Aussi ergonomique et paramétrable
- Finder: très pratique de naviguer en mode colonne, on avance dans
l'arborescence en allant de gauche à droite.

II-2 Inconvénients
- Moins utiliser comme environnement graphique par défaut de certaines
distributions
- Le temps de chargement du bureau est un inconvénient majeure: on attend
que l'os charge, ensuite on tape son login/pass et on attend la encore que
le bureau se charge...

26
Contacts : 0747169042 / 0709000540
Cours : INITIATION A LINUX ENSEIGNANT : M. EKPINDI ARMAND

CHAPITRE V : EDITEUR DE TEXTE VIM

I- Présentation

Vim est un éditeur de texte pour le terminal sous GNU/Linux. Il a une stabilité
exemplaire et ne cesse d'être amélioré. Il sert notamment à modifier les fichiers
surtout ceux de configuration du système. Il est très apprécié des développeurs
pour toutes ses fonctions qui en font un très bon IDE (coloration syntaxique de
200 langages, complétion automatique, comparaison de fichiers, recherche
évoluée, …) et est extensible par des scripts.
VIM signifie ViIMproved ; il s'agit d'une version améliorée du classique vi. Il est
très complet, peu gourmand en ressources, et fait très bien la coloration
syntaxique.

II- Les différents modes

Vim est un programme un peu surprenant qui ne s'utilise pas comme la plupart
des éditeurs de texte que vous connaissez. Il n'a pas d’onglets, ni de ruban, ni de
barres de titre etc. qui permettrait une simple utilisation. Vim possède plusieurs
modes de travail différents.
II.1- Mode interactif
C'est le mode par défaut dans lequel nous sommes à l’ouverture de Vim. En
lançant Vim, nous sommes donc en mode interactif.
Dans ce mode, nous ne pouvons pas écrire de texte. Le mode interactif est un
mode puissant qui permet de se déplacer dans le texte, de supprimer une ligne,
copier-coller du texte, rejoindre une ligne précise, annuler ses actions, etc.
Chaque action peut être déclenchée en appuyant sur une touche du clavier (par
exemple, on appuie sur u pour annuler la dernière action).
u : Annuler la dernière opération
yy : Copier la ligne
dd : Couper la ligne
p : Coller après (P = insérer avant)

27
Contacts : 0747169042 / 0709000540
Cours : INITIATION A LINUX ENSEIGNANT : M. EKPINDI ARMAND

x : Effacer le caractère vers la droite (Delete)


X : Effacer le caractère vers la gauche (Backspace)
dw : Effacer le texte jusqu'à la fin du mot
$ : Aller à la fin de la ligne

II.2- Mode insertion


Dans ce mode nous avons la possibilité de taper du texte et ce dernier s'insère à
l'endroit où se trouve le curseur.
Pour entrer dans ce mode, il existe plusieurs possibilités. L’une des plus
courantes est d'appuyer sur la touche ‘‘Inser’’ (insertion). Pour en sortir, il faut
appuyer sur la touche Echap.
Inser | i : Insérer du texte, le texte est inséré avant le curseur.
I : Insérer du texte en allant au début de la ligne.
a : Insérer du texte, le texte est inséré après le curseur.
o : passe en mode insertion en créant une nouvelle ligne sous le curseur.
O : passe en mode insertion en créant une nouvelle ligne au-dessus du curseur.

II.3- Mode commande


Ce mode permet de lancer des commandes telles que « quitter », « enregistrer »,
etc. Vous pouvez aussi l'utiliser pour activer des options de Vim (comme la
coloration syntaxique, l'affichage du numéro des lignes…).
Pour activer ce mode, nous devons être en mode interactif et appuyer sur la
touche deux points « : ». Nous validerons la commande avec la touche Entrée et
reviendrons alors au mode interactif.
:q : Quitter

:w : Enregistrer le fichier

:wq : Enregistrer et quitter

II.4- Mode Visuel


Le mode visuel permet de sélectionner du texte. Une commande de modification
faite en mode visuel va agir sur la zone sélectionnée au lieu d'un seul caractère

28
Contacts : 0747169042 / 0709000540
Cours : INITIATION A LINUX ENSEIGNANT : M. EKPINDI ARMAND

v : Basculer en mode visuel (sélection)

V : Basculer en mode ligne visuel (sélection de ligne)

y : Copier la zone sélectionnée

29
Contacts : 0747169042 / 0709000540
Cours : INITIATION A LINUX ENSEIGNANT : M. EKPINDI ARMAND

TRAVAUX DIRIGES

TD N°1 :
Soit l’arborescence suivante :

1. Créer l’arborescence ci-dessus.


2. Ecrire une ligne de commandes permettant d’afficher le contenu du
répertoire personnel /home/etudiant avec des détails sur les fichiers.
3. Ecrire une ligne de commandes permettant d’afficher le chemin absolu du
répertoire courant.
4. Ecrire une ligne de commandes permettant de passer du répertoire
personnel au répertoire images.
5. Vous êtes dans le répertoire images, écrire une ligne de commandes
permettant d’afficher les fichiers qui commencent par le mot perso.
6. Ecrire une ligne de commandes permettant d’afficher les images de type
gif.
7. Ecrire une ligne de commandes permettant copier le fichier cv.txt dans le
répertoire documents.
8. Ecrire une ligne de commandes permettant de supprimer le répertoire
documents avec son contenu.

30
Contacts : 0747169042 / 0709000540
Cours : INITIATION A LINUX ENSEIGNANT : M. EKPINDI ARMAND

TD N°2 :

Ouvrir le terminal puis exécuter les commandes suivantes :


1- Où suis-je dans le terminal ?
2- Qui sont les utilisateurs logger ?
3- Se logger en Utilisateur Système
4- Naviguer dans le système puis retrouver chacun des éléments suivants
selon les descriptions et lister leur contenu :
- Répertoire personnel.
- Fichier ‘‘Shells’’ : fichier de configuration décrivant les différents Shells
existant sur notre système.
- Fichier ‘‘passwd’’ : fichier de configuration contenant les mots de passe.
- Fichier ‘‘touch’’ : exécutable de la commande externe touch.
5- Créer deux répertoires dans votre dossier personnel : Rep1 et Rep2.
6- Rendez-vous dans le répertoire ‘‘Rep1’’ puis créez deux fichiers :
Bal1 et Bal2.
7- Editer le fichier Bal1 en insérant ce texte : « Salut à tous, je vous
remercie d’avoir accepté de faire ce TD N°1. »
8- Etant dans le répertoire ‘‘Rep1’’ rendez-vous dans le répertoire
‘‘Rep2’’.
9- Créer un fichier ‘‘Bool.txt’’
10- Editer le fichier ‘‘Bool.txt’’ en insérant ce texte : « Quand
CHICO joue au ballon, c’est que LOSSENI est derrière. Toi ton derrière
n’est pas soudé et c’est toi tu fais la vie sans gérance !!! »

31
Contacts : 0747169042 / 0709000540
Cours : INITIATION A LINUX ENSEIGNANT : M. EKPINDI ARMAND

TD N°3 :

Ouvrir le terminal puis exécuter les commandes suivantes :


1. Où suis-je dans le terminal ? (2pt)
2. Qui sont les utilisateurs loggés ? (2pt)
3. Se logger en Utilisateur Système (2pt)
4. Change la date de votre système puis la mettre au ‘‘ Jeudi 06 Février
2020 ’’. (2pt)
5. Créez un répertoire ‘‘system’’ sous votre dossier personnel puis un
répertoire ‘‘tp1’’ dans ‘‘system’’. (4pt)
6. Créer un fichier ‘‘Bail.txt’’ dans le répertoire ‘‘tp1’’ (2pt)
7. Lister le contenu du répertoire ‘‘tp1’’ (2pt)
8. Editer le fichier ‘‘Bail.txt’’ en insérant ce texte : « Il y’ a un proverbe
de chez nous qui dit : « Visage que tu envoies au commissariat, c’est ça
policier regarde avant de gifler ». (4pt)
9. Renommez le répertoire ‘‘system’’ en ‘‘operating’’. (2pt)

32
Contacts : 0747169042 / 0709000540
Cours : INITIATION A LINUX ENSEIGNANT : M. EKPINDI ARMAND

TD N°4 :

Ouvrir le terminal puis exécuter les commandes suivantes :


1. Où suis-je dans le terminal ? (2pt)
2. Qui sont les utilisateurs loggés ? (1pt)
3. Se logger en Utilisateur Système (1pt)
4. Créez les répertoires ‘‘BIG’’ et ‘‘BOSS’’ dans le répertoire des
fichiers temporaires. (2pt)
5. Créer respectivement les fichiers ‘‘facture.xlsx’’ et ‘‘Devis’’ dans les
répertoires ‘‘BIG’’ et ‘‘BOSS’’ (2pt)
6. Modifier les droits d’accès du fichier ‘‘facture.xlsx’’en lui donnant
ceci : rw-rw-r-- (2pt)
7. Lister de façon détaillée le répertoire ‘‘BIG’’. (2pt)
8. Editer le fichier ‘‘Devis’’ avec l’Editeur Vi en insérant ce texte :
« L’heure est grave, vraiment grave !!! Le coq de WAZABANGA vient
de disparaitre. WAZABANGA le riche commerçant Congolais me charge
de vous dire que celui ou celle qui retrouvera son coq aura la somme de
1.000.000 € ». (4pt)
9. Copier le fichier ‘‘facture.xlsx’’ dans le répertoire ‘‘BOSS’’ en étant
dans le ‘‘BIG’’. (2pt)
10.Supprimer le répertoire ‘‘BIG’’. (2pt)

33
Contacts : 0747169042 / 0709000540

Vous aimerez peut-être aussi