Académique Documents
Professionnel Documents
Culture Documents
PLAN
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é
PLAN
1. Introduction
• système d'exploitation
• caractéristiques et fonctionnement d'UNIX
• historique d'UNIX
1. Commandes de base
2. Gestion et manipulation des fichiers
3. Quelques outils Unix courants
4. Fichiers et flux
5. Archivage des données
6. Gestion des processus
7. Quelques bases d'Unix avancé
Système d'exploitation
Définition : programme assurant la gestion de
l'ordinateur et de ses périphériques. Il sert
d'interface entre l'utilisateur et le matériel.
Rq : on utilise souvent le sigle OS pour "Operating System"
Exemple : Windows, Unix, Mac OS, Be OS, MS-
DOS…
Système
Matériel d'exploitation Utilisateur(s)
Caractéristiques
d'UNIX
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
Fonctionnenent de base
d'UNIX
Unix est un système d'exploitation qui fonctionne par
couches (ici seule une petite partie vous en est montrée) :
Utilisateurs
le shell envoie des appels au
noyau en fonction des requêtes
Shell de(s) (l')utilisateurs
système
UNIX
Saisie du
nom
d'utilisate
ur
saisie du
mot de passe
type de session
X (KDE ou
gnome)
Mot de passe
icôn
(permet le e
multi-
fenêtrage)
burea
u
ouvertu
re d'un
shell barre
de
bouton tâches
de menu
Déconnexion de la session X-
Windows
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"
Notion de shell
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)
Quelques commandes de
base
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
PLAN
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
1. Quelques outils Unix courants
2. Fichiers et flux
3. Archivage des données
4. Gestion des processus
5. Quelques bases d'Unix avancé
Système de fichier
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)
L'arborescence Unix
/ 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
Droits d'accès aux
fichiers (3)
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
Changer les droits d'accès aux
fichiers
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 et noms de
fichiers
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…)
PLAN
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
1. Fichiers et flux
2. Archivage des données
3. Gestion des processus
4. Quelques bases d'Unix avancé
Quelques outils Unix
courants
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…
PLAN
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
1. Archivage des données
2. Gestion des processus
3. Quelques bases d'Unix avancé
Les flux (entrée et sortie standard)
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
Redirection des flux
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
Quelques commandes de
filtres
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)
Redirection des flux
(2)
| : 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
PLAN
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 et compression de
données
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
PLAN
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é
Gestion des processus
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 &
PLAN
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 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…