Académique Documents
Professionnel Documents
Culture Documents
Système
Matériel d'exploitation Utilisateur(s)
UNIX est un Système d'exploitation :
multi-utilisateurs
multi-tâches
multi-plate-formes (c'est-à-dire portable) : IBM, SUN, HP, IRIX
(Silicon Graphics)… et maintenant sur PC avec Linux, mais aussi
caché dans MacOS X
qui gère la répartition des ressources (mémoire et espace disque)
orienté réseau (e.g. partage de fichiers sur une machine distante :
NFS…)
…
LINUX
Unix est un système d'exploitation qui fonctionne par
couches (ici seule une petite partie vous en est montrée) :
Utilisateurs
de(s) (l')utilisateurs
le noyau UNIX est chargé en
Noyau mémoire lors du démarrage de
l'ordinateur; il alloue les
ressources mémoire et
Matériel processeur,
= Processeur,gère le stockage
mémoire, disquedes
fichiers…
dur, lecteur de CDROM, écran,
1. Introduction
2. Première session
• gestion des utilisateurs
• se connecter
• notion de shell Unix
• quelques commandes de base
3. Gestion et manipulation des fichiers
4. Quelques outils Unix courants
5. Fichiers et flux
6. Archivage des données
7. Gestion des processus
8. Quelques bases d'Unix avancé
Unix est multi-utilisateurs
➔ nécessité d'avoir un nom particulier aux yeux du système ("login")
ainsi qu'un mot de passe pour la sécurité
2 types d'utilisateurs
l'utilisateur "root" : super utilisateur -> possède tous les droits sur la
machine
les autres utilisateurs (possèdent des droits restreints)
type de session
X (KDE ou
gnome)
le mot de passe est personnel :
ne pas le divulguer
éviter les mots de passe triviaux (e.g. votre nom…)
utiliser des lettres (majuscules et/ou minuscules) et
des chiffres (éventuellement des caractères spéciaux)
doit faire 8 lettres au minimum
On arrive sous l'environnement X-Windows (KDE ou gnome = interface
graphique rendant l'interaction avec le système plus conviviale) :
icôn
(permet le e
multi-
fenêtrage)
burea
u
ouvertu
re d'un
shell barre
de
bouton tâches
de menu
Nécessité de se déconnecter à la fin d'une
session (pour des raisons de sécurité)
• click droit sur "le bureau"
• dans la barre de menu "logout"
Le shell est un programme qui va faire le lien
entre le noyau UNIX et l'utilisateur
= interpréteur de commandes interactif
invite
("prompt")
IMPORTANT :
Unix est sensible à la casse ( a != A): ls != LS ou de Ls
Unix utilise l'espace comme séparateur de commandes (e.g.
utiliser man date et non mandate)
more fichier : affiche le contenu de fichier page par
page
utiliser la touche espace pour passer à la page suivante
utiliser la touche b pour revenir à la page précédente
utiliser la touche q pour quitter
ls : affiche la liste des fichiers
cd : change de répertoire
rm : supprime un fichier
vi : édite un fichier
man commande : affiche les pages de manuel de commande
(utilise les mêmes touches que more pour se déplacer le long
des pages)
date : affiche la date
slogin : connexion sécurisée à une autre machine
1. Introduction
2. Première session
3. Gestion et manipulation des fichiers
• généralités
• arborescence / références absolues et relatives
• manipulation des fichiers
• droits des fichiers
• caractères spéciaux
4. Quelques outils Unix courants
5. Fichiers et flux
6. Archivage des données
7. Gestion des processus
8. Quelques bases d'Unix avancé
En UNIX, tout est fichier :
les fichiers dits normaux
fichiers textes (suite de caractères ASCII = caractères lisibles)
fichiers éxécutables (suite de caractères binaires, compréhensibles
uniquement par l'ordinateur, en général il s'agit des programmes)
les répertoires (peuvent contenir d'autres fichiers ou d'autres
répertoires)
les fichiers de périphériques
Chaque fichier possède un "i-node" : moyen pour Unix
de stocker les caractéristiques du fichier
(emplacement, nom du propriétaire, droits, taille, date de
création et de dernière modification)
/ racine
(référence
absolue)
bin dev etc home usr var
type
de
fichie
r
droits nom
taille
nombre utilisateu groupe date de
de liens r propriéta dernière
physiqu propriéta ire modificat
es ire ion
Sortie de ls -l :
invite$ ls -l
-rwxr-xr-x ... user group ... monscript.csh
-rw-r--r-- ... user group ... toto
droits du
droits de reste du - : l'utilisateur n'a pas le
l'utilisat monde droit correspondant
eur
propriéta droits de r, w ou x : l'utilisateur
ire l'utilisat possède le droit
eur
propriéta
commande chmod : modifie les droits d'accès syntaxe
syntaxe : chmod droits fichier
les droits peuvent être décrits de 2 manières
par une combinaison de 3 chiffres :
chaque chiffre correspond dans l'ordre à l'utilisateur, le groupe et le reste du
monde
à chaque droit correspond une valeur : (r -> 4, w -> 2, x-> 1)
on utilise la somme des droits que l'on veut affecter (0 signifie aucun droit)
e.g. : chmod 644 fichier -> -rw-r--r-- ... fichier
chmod 750 fichier -> -rwxr-x--- ... fichier
par une combinaison de lettres désignant les individus concernés (r, g
ou o) ainsi qu'une autre combinaison de lettres désignant les droits
que l'on veut affecter (précédées du signe +) ou retirer (précédées du
signe -)
e.g. : chmod +x fichier -> affecte le droit x à u, g et o
chmod ugo+rw fichier -> affecte les droits rw à u, g et o
chmod o-x fichier -> retire le droit x à o
Caractères spéciaux Unix :
* (joker) : remplace n'importe quelle chaîne de caractères
ls *.txt : désigne tous les fichiers se terminant par l'extension
.txt
ls results* : désigne tous les fichiers commençant par results
ls ~/test/* : désigne tous les fichiers du répertoire test
? : remplace n'importe quel caractère
ls results?.dat : désigne tous les fichiers commençant par
results suivis d'un caractère quelconque et se terminant par .dat
! : rappel une commande dans l'historique (cf commande
history)
Noms de fichiers :
255 caractères maximum
éviter les espaces et les caractères spéciaux (* ? ! $ < > & \
/ " ' ` ; etc…)
1. Introduction
2. Première session
3. Gestion et manipulation des fichiers
4. Quelques outils Unix courants
• les éditeurs de texte
• les outils Internet
• les outils de développement
5. Fichiers et flux
6. Archivage des données
7. Gestion des processus
8. Quelques bases d'Unix avancé
Les éditeurs de texte
nedit (le plus simple, bien pour commencer)
emacs (très puissant, mais complexe au départ)
vi (très spartiate, mais permet de travailler en mode terminal)
Navigateur Internet (et Messagerie)
mozilla / firefox (sur la plupart des distributions LINUX, mais aussi
Windows, macOS, ...)
konqueror (spécifique à KDE)
Outils de développement :
compilateurs
gcc : compilateur C
f77 : compilateur Fortran
Langages de programmation
python
perl
etc…
1. Introduction
2. Première session
3. Gestion et manipulation des fichiers
4. Quelques outils Unix courants
5. Fichiers et flux
• définition des 3 flux courants
• redirection des flux
6. Archivage des données
7. Gestion des processus
8. Quelques bases d'Unix avancé
Les flux désignent les flux de données qui rentrent et qui sortent des
processus (ou programmes) :
entrée standard (stdin) : clavier
sortie standard (stdout) : écran
sortie d'erreur (stderr) : écran
e.g. : la commande cat sans argument lit en entrée stdin et génère sa
sortie sur stdout :
commande cat sans
argument
bonjour est saisi au clavier
bonjour est affiché sur l'écran
(stdin)
(stdout)
on presse Ctrl-D pour quitter
Il est possible de rediriger les flux (en général vers ou
depuis un fichier) :
< : redirection de l'entrée standard
> : redirection de la sortie standard
>> : redirection de la sortie standard à la fin d'un
fichier
e.g. :
ls -l /etc > toto : redirection de stdout dans le fichier toto
(si toto existe, il est écrasé)
ls -l /bin >> toto : redirection de stdout à la fin du fichier
toto (le fichier toto n'est pas écrasé)
cat < toto : redirection de l'entrée standard depuis le fichier
toto
head fichier : affiche les premières lignes de
fichier
tail fichier : affiche les dernières lignes de
fichier
grep expression fichier : renvoie toutes les
lignes de fichier contenant expression
sort fichier : tri chaque ligne de fichier
wc -l fichier : renvoie le nombre de lignes de
fichier (option -c : nombre de caractères, option -w
: nombre de mots)
| : le pipe (tube) permet de connecter la stdout d'une
commande avec la stdin d'une autre commande
syntaxe : commande1 | commande2
ls -l | sort : renvoie la liste des fichiers triée
ls -l /etc | grep csh : renvoie tous les lignes de
la sortie de la commande ls contenant l'expression
csh
Rq : la 2ème commande n'a pas besoin d'argument
Rq2 : on peut connecter autant de commandes que l'on
veut :
ls -l /etc | grep csh | sort
1. Introduction
2. Première session
3. Gestion et manipulation des fichiers
4. Quelques outils Unix courants
5. Fichiers et flux
6. Archivage des données
7. Gestion des processus
8. Quelques bases d'Unix avancé
Archivage :
tar -cvf archive.tar fichier1 fichier2 : crée une archive
contenant fichier1 et fichier2
tar -xvf archive.tar : désarchive archive.tar
tar -tvf archive.tar : renvoie le contenu de archive.tar
Compression
gzip fichier : compresse fichier et ajoute une extension .gz
(opération inverse : gunzip fichier)
compress fichier : compresse fichier et ajoute une extension
.Z (opération inverse : uncompress fichier)
zip archive.zip fichier1 fichier2 : crée une archive
compressée contenant fichier1 et fichier2 (même type de
compression que winzip)
unzip archive.zip : décompresse et désarchive archive.zip
1. Introduction
2. Première session
3. Gestion et manipulation des fichiers
4. Quelques outils Unix courants
5. Fichiers et flux
6. Archivage des données
7. Gestion des processus
8. Quelques bases d'Unix avancé
Processus = suite plus ou moins longue d'instructions exécutables
par un ordinateur (typiquement un programme)
Unix = système multi-tâches
-> Unix peut gérer plusieurs processus en même temps
Quelques commandes de gestion des processus :
top et ps : permettent de visualiser les processus qui sont en
exécution
kill : permet de tuer un processus
Notion d'avant-plan et d'arrière-plan :
avant-plan : on a pas la main dans le shell (par défaut quand on lance
une commande)
arrière-plan : on récupère la main dans le shell alors que le processus
tourne
pour lancer une commande en arrière-plan : commande &
1. Introduction
2. Première session
3. Gestion et manipulation des fichiers
4. Quelques outils Unix courants
5. Fichiers et flux
6. Archivage des données
7. Gestion des processus
8. Quelques bases d'Unix avancé
Quelques astuces en bash :
alias : permet de créer ses propres commandes :
alias ll='ls –l' : lorsqu'on tapera la commande ll, elle équivaudra à ls –l
alias rm='rm –i''
alias mv='mv –i'
alias cp='cp –i'
le fichier ~/.bashrc :
contient un certain nombre d'instructions pour configurer son propre
shell
ces instructions sont exécutées à chaque fois qu'on lance un shell
il existe différents types de shell (sh, bash, tcsh…)
les scripts shells : véritable langage de programmation
● La variable PATH: decrit l'endroit où chercher les programmes
• echo $PATH
• export PATH=${PATH}:/home/prot1/formation/bin
etc…