Vous êtes sur la page 1sur 45

Introduction Unix/Linux

Pierre Tuffry
Equipe de Bioinformatique et Gnomique Molculaire
Universit Paris 7
tuffery@ebgm.jussieu.fr
adaptedfromfuchs@ebgm.jussieu.fr
adaptedfromguyon@ebgm.jussieu.fr

17/02/2004

PLAN
1.
2.
3.
4.
5.
6.
7.
8.

Introduction
Premire session
Gestion et manipulation des fichiers
Quelques outils Unix courants
Fichiers et flux
Archivage des donnes
Gestion des processus
Quelques bases d'Unix avanc

17/02/2004

PLAN
1.

2.
3.
4.
5.
6.
7.
8.

Introduction

systme d'exploitation
caractristiques et fonctionnement d'UNIX
historique d'UNIX

Commandes de base
Gestion et manipulation des fichiers
Quelques outils Unix courants
Fichiers et flux
Archivage des donnes
Gestion des processus
Quelques bases d'Unix avanc

17/02/2004

Systme d'exploitation
Dfinition : programme assurant la gestion de
l'ordinateur et de ses priphriques. Il sert
d'interface entre l'utilisateur et le matriel.
Rq : on utilise souvent le sigle OS pour "Operating System"

Exemple : Windows, Unix, Mac OS, Be OS,


MS-DOS
Matriel

17/02/2004

Systme
d'exploitation

Utilisateur(s)

Caractristiques d'UNIX
UNIX est un Systme d'exploitation :

multi-utilisateurs
multi-tches
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 gre la rpartition des ressources (mmoire et espace disque)
orient rseau (e.g. partage de fichiers sur une machine distante :
NFS)

trs utilis en dveloppement et en recherche (le dveloppement


d'applications y est SIMPLE
trs stable
Devient d'utilisation simple pour tous

17/02/2004

Historique d'UNIX
premire version
d'UNIX dveloppe
par Ken Thompson

BSD pour Berkeley


Software Design

LINUX
17/02/2004

Fonctionnenent de base d'UNIX


Unix est un systme d'exploitation qui fonctionne par
couches (ici seule une petite partie vous en est montre ) :

systme
UNIX

Utilisateurs
Shell
Noyau
Matriel
17/02/2004

le shell envoie des appels au


noyau en fonction des requtes
de(s) (l')utilisateurs
le noyau UNIX est charg en
mmoire lors du dmarrage de
l'ordinateur; il alloue les
ressources mmoire et
processeur,
le stockage
= Processeur,gre
mmoire,
disquedes
fichiers
dur, lecteur de CDROM, cran,

Fonctionnenent de base d'UNIX (2)

17/02/2004

PLAN
1. Introduction
2. Premire session

3.
4.
5.
6.
7.
8.

gestion des utilisateurs


se connecter
notion de shell Unix
quelques commandes de base

Gestion et manipulation des fichiers


Quelques outils Unix courants
Fichiers et flux
Archivage des donnes
Gestion des processus
Quelques bases d'Unix avanc

17/02/2004

Les Utilisateurs
Unix est multi-utilisateurs

ncessit d'avoir un nom particulier aux yeux du systme ("login")


ainsi qu'un mot de passe pour la scurit

2 types d'utilisateurs

l'utilisateur "root" : super utilisateur -> possde tous les droits sur
la machine
les autres utilisateurs (possdent des droits restreints)

Chaque utilisateur est caractris par :

un nom ("login") et un numro d'utilisateur ("UID")


un groupe et un numro de groupe ("GID")
un mot de passe ("passwd")
un type de shell (= intrprteur de commandes)
un rpertoire utilisateur qui lui appartient ("home directory")
(Rq : toutes ces informations sont stockes dans le fichier
/etc/passwd)

17/02/2004

Premire Connexion

Saisie du
nom
d'utilisate
ur
saisie du
mot de passe

17/02/2004

type de session
X (KDE ou

Mot de passe

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 caractres
spciaux)
doit faire 8 lettres au minimum

17/02/2004

L'environnement X-Windows
On arrive sous l'environnement X-Windows (KDE ou gnome = interface
graphique rendant l'interaction avec le systme plus conviviale) :

(permet le
multifentrage)
ouvertu
re d'un
shell
bouton
de menu
17/02/2004

icn
e
burea
u
barre
de
tches

Dconnexion de la session X-Windows


Ncessit de se dconnecter la fin d'une
session (pour des raisons de scurit)
click droit sur "le bureau"
dans la barre de menu "logout"

17/02/2004

Notion de shell
Le shell est un programme qui va faire le lien
entre le noyau UNIX et l'utilisateur
= interprteur de commandes interactif

invite
("prompt")
le shell est prt
recevoir des
commandes
rentres au clavier

17/02/2004

Notion de shell (2)


Ouverture du shell (sous X Window) :

cliquer sur l'icne reprsentant le shell, ou


slectionner ouvrir un terminal dans le menu droit de
la souris

A ce point le shell peut recevoir des commandes :


exemples :

date : affiche la date


ls : liste les fichiers du rpertoire courant

Fermeture du shell :
commande exit
commande logout
Ctrl-D

17/02/2004

Syntaxe gnrale des commandes


UNIX
syntaxe gnrale :
commandeoptionsarguments
exemple :lsal
les options (souvent trs nombreuses) permettent de
modifier le comportement de la commande; en gnral elles
sont prcdes du signe '' (e.g. lsl)
certaines commandes utilisent des arguments (e.g. nom de
fichier)
Il y a un manuel en ligne: manls

IMPORTANT :
Unix est sensible la casse ( a != A): ls != LS ou de Ls
Unix utilise l'espace comme sparateur de commandes (e.g.
utiliser mandate et non mandate)
17/02/2004

Quelques commandes de base

morefichier : 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 prcdente
utiliser la touche q pour quitter

ls : affiche la liste des fichiers


cd : change de rpertoire
rm : supprime un fichier
vi : dite un fichier
mancommande : affiche les pages de manuel de commande
(utilise les mmes touches que more pour se dplacer le long
des pages)
date : affiche la date
slogin : connexion scurise une autre machine

17/02/2004

PLAN
1. Introduction
2. Premire session
3. Gestion et manipulation des fichiers

4.
5.
6.
7.
8.

gnralits
arborescence / rfrences absolues et relatives
manipulation des fichiers
droits des fichiers
caractres spciaux

Quelques outils Unix courants


Fichiers et flux
Archivage des donnes
Gestion des processus
Quelques bases d'Unix avanc

17/02/2004

Systme de fichier
En UNIX, tout est fichier :
les fichiers dits normaux

fichiers textes (suite de caractres ASCII = caractres


lisibles)
fichiers xcutables (suite de caractres binaires,
comprhensibles uniquement par l'ordinateur, en gnral il s'agit
des programmes)

les rpertoires (peuvent contenir d'autres fichiers ou


d'autres rpertoires)
les fichiers de priphriques

Chaque fichier possde un "i-node" : moyen pour Unix


de stocker les caractristiques du fichier
(emplacement, nom du propritaire, droits, taille, date de
cration et de dernire modification)

17/02/2004

L'arborescence Unix
racine
(rfrence
absolue)

bin
ls

dev

etc

home

usr

var

passw prot1
bin
loca
d
l
DESS
formati
biolog
on
y
rpertoir
softs
maitre rasmol
es
2
ce_linux.tar
monpro
fichiers
.gz
g.c
17/02/2004

Chemin d'accs : rfrence absolue et


relative
Notion de chemin d'accs :

Pour identifier un fichier : suite de noms tiquetant les artes le


long de l'arborescence.
racine absolue : /
/ sert aussi de sparation entre sous-rpertoires.

Rfrence absolue = chemin d'accs ("pathname") depuis la


racine (permettant le rprage sans ambigut)
e.g. : /home/prot1/formation/softs
Rfrence relative :

Selon l'endroit o l'on se situe ( rpertoire de travail = working


directory), rprer un fichier peut s'effectuer de manire relative.
e.g. : ../../DESS

Chaque rpertoire a au moins deux liens physiques :


lien not . caractrisant le rpertoire lui-mme
lien not .. caractrisant le rpertoire pre

17/02/2004

Dplacement dans l'arborescence

pwd : affiche le rpertoire courant (print working directory)


cdchemin : dplacement vers le rpertoire indiqu par
chemin (change directory)
chemin peut tre :
une rfrence absolue : e.g. cd/usr/local/biology
une rfrence relative: e.g. cd../../DESS

si chemin est omis, ramne dans le rpertoire utilisateur "home


directory"
caractre spcial : ~ dsigne le "home directory"
e.g. : pour l'utilisateur maitre1
cd~/testest quivalent
cd/home/threose/maitrise/maitre1/test

~user : dsigne le "home directory" de l'utilisateur user


e.g : cd~maitre10 amne dans le "home directory" de l'utilisateur
maitre10
17/02/2004

Liste du contenu des rpertoires

lsoptions :

l : liste des fichiers avec leurs caractristiques dtailles


except ceux commenant par un .
F : liste des fichiers avec un symbole selon certaines
caractristiques :
/ pour un rpertoire
* si le fichier est executable
@ si le fichier est un lien symbolique

a : tous les fichiers mme ceux prcds par un point .


(=fichiers cachs)
R : liste le contenu du rpertoire du courant et le contenu
de tous les sous-rpertoires.
t : liste par ordre chronologique
s : liste la taille des fichiers
17/02/2004

Cration / Destruction de rpertoires


mkdirmy_new_dir : cration d'un nouveau
rpertoire my_new_dir
rmdirmy_new_dir : destruction du
rpertoire my_new_dir
option r : destruction rcursive (cd de tout les
fichiers et sous-rpertoires; utiliser avec
attention !)

17/02/2004

Manipulations de fichiers
copie de fichiers : cpsourcedestination
1er cas : si destination est un fichier
e.g : cpfichier1fichier2 : effectue une copie de fichier1
en un nouveau fichier appel fichier2
option i : si fichier2 existe, le shell demande confirmation
avant l'crasement

2me cas : si destination est un rpertoire


cpfichier1repertoire : effectue une copie de fichier1
dans le rpertoire repertoire
cpfichier1fichier2repertoire : effectue une copie de
fichier1 et fichier2 dans le rpertoire repertoire
option i : demande confirmation d'crasement si le (ou l'un des)
fichier(s) existe(nt) dans le rpertoire de destination

17/02/2004

Manipulations de fichiers (2)


destruction de fichiers :

rmfichier1 : destruction du fichier fichier1


rmfichier1fichier2 : destruction des fichiers
fichier1 et fichier2
option i : demande confirmation avant la destruction

renommer un fichier :

mvfichier1fichier2 : renomme fichier1 en


fichier2
option i : si fichier2 existe dj, demande confirmation
avant crasement

dplacement d'un fichier :

mvfichier1repertoire : dplace fichier1 dans le


rpertoire repertoire
supporte galement l'option i

17/02/2004

Droits d'accs aux fichiers


3 types d'opration :
lire (r) : on peut lire le contenu du fichier (ou le rpertoire)
crire (w) : on peut modifier ou dtruire le fichier (ou le
rpertoire)
excuter (x) : on peut xcuter le fichier (en gnral, il
s'agit des programmes ou scritps); pour un rpertoire, cela
signifie que l'on peut s'y dplacer

3 types d'utilisateur :
propritaire (u) : l'utilisateur lui-mme (e.g. maitre1)
groupe (g) : les utilisateurs font partie de groupe (e.g.
maitrise)
le reste du monde (o) : tout autre utilisateur

17/02/2004

Droits d'accs aux fichiers (2)


la commande lsl : renseigne sur les caractristiques d'un
fichier (i-node)

type
de
fichie
r
droits
nombre
de liens
physiqu
es
17/02/2004

taille

nom

utilisateu groupe
date de
r
proprita dernire
proprita
ire
modificat
ire
ion

Droits d'accs aux fichiers (3)


Sortie de lsl :
invite$lsl
rwxrxrx...usergroup...monscript.csh
rwrr...usergroup...toto

droits du
reste du
monde

droits de
l'utilisat
eur
proprita droits de
ire
l'utilisat
eur
proprita
17/02/2004

: l'utilisateur n'a pas le


droit correspondant
r, w ou x : l'utilisateur
possde le droit

Changer les droits d'accs aux


fichiers
commande chmod : modifie les droits d'accs syntaxe
syntaxe :chmoddroitsfichier
les droits peuvent tre dcrits de 2 manires
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. :
chmod644fichier -> rwrr...fichier
chmod750fichier -> rwxrx...fichier
par une combinaison de lettres dsignant les individus concerns (r,
g ou o) ainsi qu'une autre combinaison de lettres dsignant les
droits que l'on veut affecter (prcdes du signe +) ou retirer
(prcdes du signe -)
e.g. :
chmod+xfichier
-> affecte le droit x u, g et o
chmodugo+rwfichier -> affecte les droits rw u, g et o
chmodoxfichier -> retire le droit x o
17/02/2004

Caractres Spciaux et noms de


fichiers
Caractres spciaux Unix :

* (joker) : remplace n'importe quelle chane de caractres

ls*.txt : dsigne tous les fichiers se terminant par l'extension


.txt
lsresults* : dsigne tous les fichiers commenant par
results
ls~/test/* : dsigne tous les fichiers du rpertoire test

? : remplace n'importe quel caractre

lsresults?.dat : dsigne tous les fichiers commenant par


results suivis d'un caractre quelconque et se terminant par
.dat

! : rappel une commande dans l'historique (cf commande


history)

Noms de fichiers :

255 caractres maximum


viter les espaces et les caractres spciaux (*?!$<>&
\/"'`; etc)

17/02/2004

PLAN
1.
2.
3.
4.

5.
6.
7.
8.

Introduction
Premire session
Gestion et manipulation des fichiers
Quelques outils Unix courants

les diteurs de texte


les outils Internet
les outils de dveloppement

Fichiers et flux
Archivage des donnes
Gestion des processus
Quelques bases d'Unix avanc

17/02/2004

Quelques outils Unix courants


Les diteurs de texte
nedit (le plus simple, bien pour commencer)
emacs (trs puissant, mais complexe au dpart)
vi (trs 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 (spcifique KDE)

Outils de dveloppement :
compilateurs

gcc : compilateur C
f77 : compilateur Fortran

Langages de programmation
python
perl

17/02/2004

etc

PLAN
1.
2.
3.
4.
5.

Introduction
Premire session
Gestion et manipulation des fichiers
Quelques outils Unix courants
Fichiers et flux

dfinition des 3 flux courants


redirection des flux

6. Archivage des donnes


7. Gestion des processus
8. Quelques bases d'Unix avanc
17/02/2004

Les flux (entre et sortie standard)


Les flux dsignent les flux de donnes qui rentrent et qui sortent
des processus (ou programmes) :

entre standard (stdin) : clavier


sortie standard (stdout) : cran
sortie d'erreur (stderr) : cran
e.g. : la commande cat sans argument lit en entre stdin et gnre
sa sortie sur stdout :

17/02/2004

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 gnral vers ou
depuis un fichier) :
< : redirection de l'entre standard
> : redirection de la sortie standard
>> : redirection de la sortie standard la fin d'un
fichier

e.g. :
lsl/etc>toto : redirection de stdout dans le fichier
toto (si toto existe, il est cras)
lsl/bin>>toto : redirection de stdout la fin du fichier
toto (le fichier toto n'est pas cras)
cat<toto : redirection de l'entre standard depuis le fichier
toto
17/02/2004

Quelques commandes de filtres

headfichier : affiche les premires lignes de


fichier
tailfichier : affiche les dernires lignes de
fichier
grepexpressionfichier : renvoie toutes les
lignes de fichier contenant expression
sortfichier : tri chaque ligne de fichier
wclfichier : renvoie le nombre de lignes de
fichier (option c : nombre de caractres, option
w : nombre de mots)

17/02/2004

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
lsl|sort : renvoie la liste des fichiers trie
lsl/etc|grepcsh : renvoie tous les lignes de
la sortie de la commande ls contenant l'expression
csh
Rq : la 2me commande n'a pas besoin d'argument
Rq2 : on peut connecter autant de commandes que l'on
veut :
lsl/etc|grepcsh|sort

17/02/2004

PLAN
1.
2.
3.
4.
5.
6.
7.
8.

Introduction
Premire session
Gestion et manipulation des fichiers
Quelques outils Unix courants
Fichiers et flux
Archivage des donnes
Gestion des processus
Quelques bases d'Unix avanc

17/02/2004

Archivage et compression de donnes


Archivage :

tarcvfarchive.tarfichier1fichier2 : cre une archive


contenant fichier1 et fichier2
tarxvfarchive.tar : dsarchive archive.tar
tartvfarchive.tar : renvoie le contenu de archive.tar

Compression

gzipfichier : compresse fichier et ajoute une extension .gz


(opration inverse : gunzipfichier)
compressfichier : compresse fichier et ajoute une
extension .Z (opration inverse : uncompressfichier)
ziparchive.zipfichier1fichier2 : cre une archive
compresse contenant fichier1 et fichier2 (mme type de
compression que winzip)
unziparchive.zip : dcompresse et dsarchive archive.zip

17/02/2004

PLAN
1.
2.
3.
4.
5.
6.
7.
8.

Introduction
Premire session
Gestion et manipulation des fichiers
Quelques outils Unix courants
Fichiers et flux
Archivage des donnes
Gestion des processus
Quelques bases d'Unix avanc

17/02/2004

Gestion des processus


Processus = suite plus ou moins longue d'instructions excutables
par un ordinateur (typiquement un programme)
Unix = systme multi-tches
-> Unix peut grer plusieurs processus en mme temps
Quelques commandes de gestion des processus :
top et ps : permettent de visualiser les processus qui sont en
excution
kill: permet de tuer un processus

Notion d'avant-plan et d'arrire-plan :

avant-plan : on a pas la main dans le shell (par dfaut quand on lance


une commande)
arrire-plan : on rcupre la main dans le shell alors que le processus
tourne
pour lancer une commande en arrire-plan : commande&

17/02/2004

PLAN
1.
2.
3.
4.
5.
6.
7.
8.

Introduction
Premire session
Gestion et manipulation des fichiers
Quelques outils Unix courants
Fichiers et flux
Archivage des donnes
Gestion des processus
Quelques bases d'Unix avanc

17/02/2004

Quelques bases d'Unix avanc


Quelques astuces en bash :
alias : permet de crer ses propres commandes :

alias
alias
alias
alias

ll='ls l' : lorsqu'on tapera la commande ll, elle quivaudra ls l


rm='rm i''
mv='mv i'
cp='cp i'

le fichier ~/.bashrc :

contient un certain nombre d'instructions pour configurer son


propre shell
ces instructions sont excutes chaque fois qu'on lance un shell

il existe diffrents types de shell (sh, bash, tcsh)


les scripts shells : vritable langage de programmation

LavariablePATH:decritl'endroitochercherlesprogrammes

echo$PATH

exportPATH=${PATH}:/home/prot1/formation/bin

etc

17/02/2004

Vous aimerez peut-être aussi