Introduction
Ouverture/Fermeture d'une session
Les langages de Commandes
COURS LINUX
Dr. Mamadou Ghouraissiou CAMARA
Institut Supérieur de Technologie de MAMOU
Département de Génie Informatique
Dr. Mamadou Ghouraissiou CAMARA COURS LINUX
Introduction
Ouverture/Fermeture d'une session
Les langages de Commandes
Table de matières
1 Introduction
2 Ouverture/Fermeture d'une session
3 Les langages de Commandes
Dr. Mamadou Ghouraissiou CAMARA COURS LINUX
Introduction
Ouverture/Fermeture d'une session
Les langages de Commandes
Présentation du système UNIX
Caractéristiques d'UNIX:
Un système d'exploitation est un ensemble de programmes qui
coordonnent le fonctionnement des diérents composants matériels
et logiciels d'un système informatique.
UNIX est un système d'exploitation ayant les caractéristiques
suivantes :
Multi-utilisateurs et Multitâches: cela signie que plusieurs
utilisateurs peuvent accéder simultanément au système et
exécuter un ou plusieurs programmes.
Temps partagé: c'est-à-dire que les ressources du processeur
et du système sont réparties entre les utilisateurs.
Dr. Mamadou Ghouraissiou CAMARA COURS LINUX
Introduction
Ouverture/Fermeture d'une session
Les langages de Commandes
Présentation du système UNIX
Caractéristiques d'UNIX:
Système de chiers hiérarchique: plusieurs systèmes de
chiers peuvent être rattachés au système de chiers principal;
chaque système de chiers possède ses propres répertoires.
Entrées-Sorties intégrées au système de chiers: les
périphériques sont représentés par des chiers, ce qui rend le
système indépendant du matériel et en assure la portabilité ;
l'accès aux périphériques est donc identique à l'accès aux
chiers ordinaires.
Dr. Mamadou Ghouraissiou CAMARA COURS LINUX
Introduction
Ouverture/Fermeture d'une session
Les langages de Commandes
Présentation du système UNIX
Caractéristiques d'UNIX:
Gestion de la mémoire virtuelle: un mécanisme d'échange
entre la RAM et le disque dur permet de pallier un manque de
RAM et optimise le système.
Interface utilisateur interactive (shell): elle est constituée
d'un programme séparé du noyau permettant à l'utilisateur de
choisir son environnement de travail. Elle intègre un langage
de commandes très sophistiqué (scripts).
Dr. Mamadou Ghouraissiou CAMARA COURS LINUX
Introduction
Ouverture/Fermeture d'une session
Les langages de Commandes
Présentation du système UNIX
Linux
Linux est une version libre d'UNIX : le code source du système
est disponible gratuitement et redistribuable
Développé par Linux Torwalds, étudiant nlandais
Connait actuellement un grand succès, tant chez les
utilisateurs particuliers (en tant qu'alternative à Windows) que
pour les serveurs Internet/Intranet
Dr. Mamadou Ghouraissiou CAMARA COURS LINUX
Introduction
Ouverture/Fermeture d'une session
Les langages de Commandes
Présentation du système UNIX
Linux
Une distribution Linux comprend le noyau, les pilotes, les
bibliothèques,les utilitaires d'installation et de post-installation,
ainsi qu'un grand nombre de logiciels
Les plus répandues sont Red Hat, Suse, Caldera, Debian,
Slackware et Mandrake (à l'origine issue de Red Hat), ...
Dr. Mamadou Ghouraissiou CAMARA COURS LINUX
Introduction
Ouverture/Fermeture d'une session
Les langages de Commandes
Présentation du système UNIX
Historique
Unix est né, en 1969 dans les Bell Labs (laboratoires de recherche
en informatique d'A.T.&T.). Écrit en langage C par Ken Thompson
et Denis Ritchie (invention de C pour cette occasion et non en
assembleur comme il était d'usage de le faire -> grande portabilité)
Depuis la n des années 70, il existe deux grandes familles d'UNIX :
UNIX BSD (université de Berkeley (Californie)), UNIX Système V
commercialisé par ATT
Dr. Mamadou Ghouraissiou CAMARA COURS LINUX
Introduction
Ouverture/Fermeture d'une session
Les langages de Commandes
Présentation du système UNIX
Historique
Nombreuses autres versions ont vu le jour, qui sont le plus souvent
une adaptation de BSD ou Système V par un fabriquant particulier:
AIX IBM, Bull (stations de travail, mainframes)
HP/UX Hewlett-Packard (stations)
SCO Unix SCO (PC)
OSF/1 DEC
Solaris Sun MicroSystems (stations Sun et PC)
1991 : GNU/Linux Logiciel libre (et gratuit)
Dr. Mamadou Ghouraissiou CAMARA COURS LINUX
Introduction
Ouverture/Fermeture d'une session
Les langages de Commandes
Présentation du système UNIX
Le noyau UNIX
Le noyau est le programme qui assure la gestion de la mémoire, le
partage du processeur entre les diérentes tâches à exécuter et les
entrées/sorties de bas niveau
Il est lancé au démarrage du système (le boot) et s'exécute jusqu'à
son arrêt
Dr. Mamadou Ghouraissiou CAMARA COURS LINUX
Introduction
Ouverture/Fermeture d'une session
Les langages de Commandes
Présentation du système UNIX
Le noyau UNIX
Il est composé :
d'un système de gestion de chiers qui assure l'interface avec
les périphériques
d'un système de contrôle des processus qui assure l'interface
avec l'unité centrale
Dr. Mamadou Ghouraissiou CAMARA COURS LINUX
Introduction
Ouverture/Fermeture d'une session
Les langages de Commandes
Présentation du système UNIX
Le noyau UNIX
Le kernel sert d'interface au sens large entre le matériel (l'unité
centrale et les périphériques) et un environnement système qui
comprend:
Un ou plusieurs interpréteurs de commandes(shells)
Un grand nombre d'utilitaires
Dr. Mamadou Ghouraissiou CAMARA COURS LINUX
Introduction
Ouverture/Fermeture d'une session
Les langages de Commandes
Présentation du système UNIX
Le Shell
Sous le nom shell (coquille), on désigne l'interface utilisateur qui,
dans l'architecture d'UNIX, entoure le noyau (kernel).
Plus simplement, le shell est un programme qui permet à
l'utilisateur de dialoguer avec le coeur du système (le noyau).
Il permet de réaliser plusieur tâches:
il interprète les ordres tapés au clavier par l'utilisateur et
permet ainsi l'exécution des programmes;
il fournit à l'utilisateur un langage de programmation
interprété;
Dr. Mamadou Ghouraissiou CAMARA COURS LINUX
Introduction
Ouverture/Fermeture d'une session
Les langages de Commandes
Présentation du système UNIX
Le Shell
Il permet de réaliser plusieur tâches:
il permet de modier l'environnement;
il se charge de réaliser les redirections des entrées-sorties, les
pipes et la substitution de type chier (détaillés plus loin dans
ce cours).
Dr. Mamadou Ghouraissiou CAMARA COURS LINUX
Introduction
Ouverture/Fermeture d'une session
Les langages de Commandes
Ouverture/Fermeture d'une session
Ouverture/Fermeture d'une session
Travailler sous le système LINUX, même en dehors de tout contexte
réseau, implique une connexion au système
Login:
Identication de l'utilisateur: login + mot-de-passe
Après authentication, L'interpréteur de commande par défaut est
lancé et a pour répertoire courant le répertoire de connexion de
l'utilisateur
Dr. Mamadou Ghouraissiou CAMARA COURS LINUX
Introduction
Ouverture/Fermeture d'une session
Les langages de Commandes
Ouverture/Fermeture d'une session
Quelques commandes
pwd(Print Working Directory) ache le répertoire courant
pwd [Entrée]
/home/keita
Pour changer de répertoire, utilisez la commande cd
cd /usr/local [Entrée]
pwd [Entrée]
/usr/local
Dr. Mamadou Ghouraissiou CAMARA COURS LINUX
Introduction
Ouverture/Fermeture d'une session
Les langages de Commandes
Ouverture/Fermeture d'une session
Quelques commandes
cd sans arguments, vous permet de revenir à votre répertoire
personnel
cd [Entrée]
pwd [Entrée]
/home/keita
Dr. Mamadou Ghouraissiou CAMARA COURS LINUX
Introduction
Ouverture/Fermeture d'une session
Les langages de Commandes
Ouverture/Fermeture d'une session
Ouverture/Fermeture d'une session
Pour faciliter les déplacements à travers les répertoires, trois noms
de répertoires particuliers sont à retenir:
∼ : le répertoire home
. : le répertoire courant
.. : le répertoire père du répertoire courant
ls: lister les noms des chiers
ls [Entrée]
Dr. Mamadou Ghouraissiou CAMARA COURS LINUX
Introduction
Ouverture/Fermeture d'une session
Les langages de Commandes
Ouverture/Fermeture d'une session
Ouverture/Fermeture d'une session
Dans chaque répertoire, on trouve au moins ces deux chiers :
. et ..
cd .. [Entrée]
cd ∼/test [Entrée] vous conduit au répertoire /home/keita/test
Dr. Mamadou Ghouraissiou CAMARA COURS LINUX
Introduction
Ouverture/Fermeture d'une session
Les langages de Commandes
Ouverture/Fermeture d'une session
L'invite du shell(prompt):
[root@markov root]#
Le # indique qu'il s'agit de l'administrateur système
[ndiaye@fatou etc]$
Le signe $ indique qu'il s'agit d'un utilisateur classique
Sa notation symbolique, [\u@\h: \W]\$, déni dans /etc/bashrc
echo $PS1 [Entrée]
\d pour ajouter la date, \t pour ajouter l'heure \w pour ajouter le
chemin complet du répertoire courant
Dr. Mamadou Ghouraissiou CAMARA COURS LINUX
Introduction
Ouverture/Fermeture d'une session
Les langages de Commandes
Ouverture/Fermeture d'une session
L'invite du shell(prompt):
Pour prendre l'identité d'un autre utilisateur, par exemple sow:
$ su sow
Pour changer votre mot de passe:
$passwd [Entrée]
Dr. Mamadou Ghouraissiou CAMARA COURS LINUX
Introduction
Ouverture/Fermeture d'une session
Les langages de Commandes
Généralités
Dans cette partie nous presentons les diérent interprètes de
langages de commandes(shells ) disponible sur Unix.
Les SHELLS
Après toute entrée en session(login), le système positionne
l'utilisateur dans son repertoire privé(répertoire d'acceuil), qui a été
créé par l'administrateur du système au moment de l'ouverture de
son compte et qui devient son repertoire de travail courant. Puis le
système active l'interprteur de commandes désigné dans le dernier
champ du chier /etc/passwd.
Dr. Mamadou Ghouraissiou CAMARA COURS LINUX
Introduction
Ouverture/Fermeture d'une session
Les langages de Commandes
Les langages de Commandes
Les SHELLS
Les shells ont une double fonction:
• en mode interactif (parfois appelé mode ligne de commande),
ils permettent à l'utilisateur d'interagir avec le système en lui
soumettant des tâches(jobs ).
• en mode non interactif, il dispose de veritables constructions
syntaxiques permettant de les utiliser comme des langages de
programmation.
Dr. Mamadou Ghouraissiou CAMARA COURS LINUX
Introduction
Ouverture/Fermeture d'une session
Les langages de Commandes
Les langages de Commandes
Les SHELLS
Ces interprètes disposent tout d'abord de commandes internes,
c'est-à-dire dont l'exécution ne nécessite pas la création de
nouveaux processus, le code de ces commandes fait partie
intégrante de celui du shell.
Ils permettent par ailleurs de demander l'exécution de commades
externes. Dans ce cas l'exécution de la commande est réalisée par
un processus dédié créé par le processus shell et donc sous son
contrôle.
Dr. Mamadou Ghouraissiou CAMARA COURS LINUX
Introduction
Ouverture/Fermeture d'une session
Les langages de Commandes
Les langages de Commandes
Les SHELLS
Il existe plusieurs shells dont les plus utilisés sont:
Le Bourne shell, sh /bin/sh: C'est le shell standard d'Unix AT&T
Le C-shell, csh, /bin/csh: C'est le shell d'Unix BSD; sa syntaxe rappelle le
langage C
Le Korn-shell, ksh /bin/ksh: C'est une extension du Bourne shell. On le
retrouve maintenant dans la plupart des distributions Unix
Le Bash shell (Bourne again shell) /bin/bash : est la version GNU du
Bourne-shell. Il incorpore de nombreuses fonctionnalités présentes dans d'autres
shells, comme le Korn ou le C-shell. C'est le shell par défaut de GNU/Linux.
Le tcsh(successeur de de csh)/bin/tcsh
Manipulation: Acher le shell sur lequel vous travaillez: echo
$SHELL
Dr. Mamadou Ghouraissiou CAMARA COURS LINUX
Introduction
Ouverture/Fermeture d'une session
Les langages de Commandes
Les langages de Commandes
Syntaxe d'une commande
La syntaxe standard d'une commande UNIX est la suivante:
Code [-option(s)] [argument(s)]
où Code indique ce que doit faire la commande; les options
précisent comment le faire et les paramètres indiquent sur quoi le
faire
Les options varient en fonction de la commande, le nombre des
arguments qui suivent dépend aussi de la commande
La variable d'environnement PATH propre à chaque user
Dr. Mamadou Ghouraissiou CAMARA COURS LINUX
Introduction
Ouverture/Fermeture d'une session
Les langages de Commandes
Les langages de Commandes
Quelques commandes
Commandes de gestion des répertoires:
mkdir nom-de-répertoire Création d'un répertoire
rmdir nom-de-répertoire Suppression d'un répertoire vide
mv répertoire répertoire-d'accueil déplacement d'un répertoire
mv répertoire nouveau-nom Changement de nom d'un répertoire
Commandes de gestion des chiers:
touch mon-chier création d'un chier vide,
more mon-chier visualisation d'un chier page à page,
rm mon-chier suppression d'un chier,
mv mon-chier répertoire d'accueil déplacement d'un chier,
mv mon-chier nouveau-nom changement de nom d'un chier,
cp nom-chier répertoire-d'accueil/autre-nom copie de chier,
le mon-chier permet de connaître la nature d'un chier mon-chier
Dr. Mamadou Ghouraissiou CAMARA COURS LINUX