Title: Introduction UnixLinux
1Introduction à Unix/Linux
- Pierre Tufféry
- Equipe de Bioinformatique et Génomique
Moléculaire - Université Paris 7
- tuffery_at_ebgm.jussieu.fr
- adapted from fuchs_at_ebgm.jussieu.fr
- adapted from guyon_at_ebgm.jussieu.fr
2PLAN
- Introduction
- Première session
- Gestion et manipulation des fichiers
- Quelques outils Unix courants
- Fichiers et flux
- Archivage des données
- Gestion des processus
- Quelques bases d'Unix avancé
3PLAN
- Introduction
- système d'exploitation
- caractéristiques et fonctionnement d'UNIX
- historique d'UNIX
- Commandes de base
- Gestion et manipulation des fichiers
- Quelques outils Unix courants
- Fichiers et flux
- Archivage des données
- Gestion des processus
- Quelques bases d'Unix avancé
4Systè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
5Caracté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) -
- très utilisé en développement et en recherche (le
développement d'applications y est SIMPLE - très stable
- Devient d'utilisation simple pour tous
-
6Historique d'UNIX
première version d'UNIX développée par Ken
Thompson
BSD pour Berkeley Software Design
LINUX
7Fonctionnenent 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)
le shell envoie des appels au noyau en fonction
des requêtes de(s) (l')utilisateurs
système UNIX
le noyau UNIX est chargé en mémoire lors du
démarrage de l'ordinateur il alloue les
ressources mémoire et processeur, gère le
stockage des fichiers
Processeur, mémoire, disque dur, lecteur de
CDROM, écran, clavier
8Fonctionnenent de base d'UNIX (2)
9PLAN
- Introduction
- Première session
- 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 données
- Gestion des processus
- Quelques bases d'Unix avancé
10Les Utilisateurs
- 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 -gt
possède tous les droits sur la machine - les autres utilisateurs (possèdent des droits
restreints) - Chaque utilisateur est caractérisé par
- un nom ("login") et un numéro d'utilisateur
("UID") - un groupe et un numéro de groupe ("GID")
- un mot de passe ("passwd")
- un type de shell ( intérpréteur de commandes)
- un répertoire utilisateur qui lui appartient
("home directory") - (Rq toutes ces informations sont stockées dans
le fichier /etc/passwd)
11Première Connexion
Saisie du nom d'utilisateur
saisie du mot de passe
type de session X (KDE ou gnome)
12Mot 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
caractères spéciaux) - doit faire 8 lettres au minimum
13L'environnement X-Windows
- On arrive sous l'environnement X-Windows (KDE ou
gnome interface graphique rendant l'interaction
avec le système plus conviviale)
icône
(permet le multi-fenêtrage)
bureau
ouverture d'un shell
barre de tâches
bouton de menu
14Dé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"
15Notion 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")
le shell est prêt à recevoir des commandes
rentrées au clavier
16Notion de shell (2)
- Ouverture du shell (sous X Window)
- cliquer sur l'icône représentant le shell, ou
sélectionner 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 répertoire courant
- Fermeture du shell
- commande exit
- commande logout
- Ctrl-D
17Syntaxe générale des commandes UNIX
- syntaxe générale
- commande options arguments
- exemple ls -al
- les options (souvent très nombreuses) permettent
de modifier le comportement de la commande en
général elles sont précédées du signe '-' (e.g.
ls -l) - certaines commandes utilisent des arguments (e.g.
nom de fichier) - Il y a un manuel en ligne man ls
- 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)
18Quelques 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
19PLAN
- Introduction
- Première session
- 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
- Quelques outils Unix courants
- Fichiers et flux
- Archivage des données
- Gestion des processus
- Quelques bases d'Unix avancé
20Systè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)
21L'arborescence Unix
racine (référence absolue)
passwd
ls
répertoires
rasmol
ce_linux.tar.gz
monprog.c
fichiers
22Chemin d'accès référence absolue et relative
- Notion de chemin d'accès
- Pour identifier un fichier suite de noms
étiquetant les arêtes le long de l'arborescence. - racine absolue /
- / sert aussi de séparation entre
sous-répertoires. - Référence absolue chemin d'accès ("pathname")
depuis la racine (permettant le répérage sans
ambiguïté) - e.g. /home/prot1/formation/softs
- Référence relative
- Selon l'endroit où l'on se situe ( répertoire de
travail working directory), répérer un fichier
peut s'effectuer de manière relative. - e.g. ../../DESS
- Chaque répertoire a au moins deux liens physiques
- lien noté . caractérisant le répertoire lui-même
- lien noté .. caractérisant le répertoire père
23Déplacement dans l'arborescence
- pwd affiche le répertoire courant (print
working directory) - cd chemin déplacement vers le répertoire
indiqué par chemin (change directory) - chemin peut être
- une référence absolue e.g. cd
/usr/local/biology - une référence relative e.g. cd ../../DESS
- si chemin est omis, ramène dans le répertoire
utilisateur "home directory" - caractère spécial désigne le "home directory"
- e.g. pour l'utilisateur maitre1
- cd /test est équivalent Ã
- cd /home/threose/maitrise/maitre1/test
- user désigne le "home directory" de
l'utilisateur user - e.g cd maitre10 amène dans le "home directory"
de l'utilisateur maitre10
24Liste du contenu des répertoires
- ls options
- -l liste des fichiers avec leurs
caractéristiques détaillées excepté ceux
commençant par un . - -F liste des fichiers avec un symbole selon
certaines caractéristiques - / pour un répertoire
- si le fichier est executable
- _at_ si le fichier est un lien symbolique
- -a tous les fichiers même ceux précédés par un
point . (fichiers cachés) - -R liste le contenu du répertoire du courant
et le contenu de tous les sous-répertoires. - -t liste par ordre chronologique
- -s liste la taille des fichiers
25Création / Destruction de répertoires
- mkdir my_new_dir création d'un nouveau
répertoire my_new_dir - rmdir my_new_dir destruction du répertoire
my_new_dir - option -r destruction récursive (cà d de tout
les fichiers et sous-répertoires à utiliser avec
attention !)
26Manipulations de fichiers
- copie de fichiers cp source destination
- 1er cas si destination est un fichier
- e.g cp fichier1 fichier2 effectue une copie
de fichier1 en un nouveau fichier appelé fichier2 - option -i si fichier2 existe, le shell demande
confirmation avant l'écrasement - 2ème cas si destination est un répertoire
- cp fichier1 repertoire effectue une copie de
fichier1 dans le répertoire repertoire - cp fichier1 fichier2 repertoire effectue une
copie de fichier1 et fichier2 dans le répertoire
repertoire - option i demande confirmation d'écrasement si
le (ou l'un des) fichier(s) existe(nt) dans le
répertoire de destination
27Manipulations de fichiers (2)
- destruction de fichiers
- rm fichier1 destruction du fichier fichier1
- rm fichier1 fichier2 destruction des fichiers
fichier1 et fichier2 - option -i demande confirmation avant la
destruction - renommer un fichier
- mv fichier1 fichier2 renomme fichier1 en
fichier2 - option -i si fichier2 existe déjà , demande
confirmation avant écrasement - déplacement d'un fichier
- mv fichier1 repertoire déplace fichier1 dans
le répertoire repertoire - supporte également l'option -i
28Droits d'accès aux fichiers
- 3 types d'opération
- lire (r) on peut lire le contenu du fichier (ou
le répertoire) - écrire (w) on peut modifier ou détruire le
fichier (ou le répertoire) - exécuter (x) on peut éxécuter le fichier (en
général, il s'agit des programmes ou scritps)
pour un répertoire, cela signifie que l'on peut
s'y déplacer - 3 types d'utilisateur
- propriétaire (u) l'utilisateur lui-même (e.g.
maitre1) - groupe (g) les utilisateurs font partie de
groupe (e.g. maitrise) - le reste du monde (o) tout autre utilisateur
29Droits d'accès aux fichiers (2)
- la commande ls -l renseigne sur les
caractéristiques d'un fichier (i-node)
type de fichier
nom
droits
taille
nombre de liens physiques
utilisateur propriétaire
groupe propriétaire
date de dernière modification
30Droits 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 reste du monde
droits de l'utilisateur propriétaire
- l'utilisateur n'a pas le droit
correspondant r, w ou x l'utilisateur possède
le droit
droits de l'utilisateur propriétaire
31Changer 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 -gt 4, w
-gt 2, x-gt 1) - on utilise la somme des droits que l'on veut
affecter (0 signifie aucun droit) - e.g. chmod 644 fichier -gt -rw-r--r-- ...
fichier - chmod 750 fichier -gt -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 -gt affecte le droit x Ã
u, g et o - chmod ugorw fichier -gt affecte les droits rw Ã
u, g et o - chmod o-x fichier -gt retire le droit x à o
32Caractè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 (
? ! lt gt \ / " ' etc)
33PLAN
- Introduction
- Première session
- Gestion et manipulation des fichiers
- Quelques outils Unix courants
- les éditeurs de texte
- les outils Internet
- les outils de développement
- Fichiers et flux
- Archivage des données
- Gestion des processus
- Quelques bases d'Unix avancé
34Quelques 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
35PLAN
- Introduction
- Première session
- Gestion et manipulation des fichiers
- Quelques outils Unix courants
- Fichiers et flux
- définition des 3 flux courants
- redirection des flux
- Archivage des données
- Gestion des processus
- Quelques bases d'Unix avancé
36Les 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 (stdin)
bonjour est affiché sur l'écran (stdout)
on presse Ctrl-D pour quitter cat
37Redirection des flux
- Il est possible de rediriger les flux (en général
vers ou depuis un fichier) - lt redirection de l'entrée standard
- gt redirection de la sortie standard
- gtgt redirection de la sortie standard à la fin
d'un fichier - e.g.
- ls -l /etc gt toto redirection de stdout dans
le fichier toto (si toto existe, il est écrasé) - ls -l /bin gtgt toto redirection de stdout à la
fin du fichier toto (le fichier toto n'est pas
écrasé) - cat lt toto redirection de l'entrée standard
depuis le fichier toto
38Quelques 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)
39Redirection 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
40PLAN
- Introduction
- Première session
- Gestion et manipulation des fichiers
- Quelques outils Unix courants
- Fichiers et flux
- Archivage des données
- Gestion des processus
- Quelques bases d'Unix avancé
41Archivage 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
42PLAN
- Introduction
- Première session
- Gestion et manipulation des fichiers
- Quelques outils Unix courants
- Fichiers et flux
- Archivage des données
- Gestion des processus
- Quelques bases d'Unix avancé
43Gestion des processus
- Processus suite plus ou moins longue
d'instructions exécutables par un ordinateur
(typiquement un programme) - Unix système multi-tâches
- -gt 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
44PLAN
- Introduction
- Première session
- Gestion et manipulation des fichiers
- Quelques outils Unix courants
- Fichiers et flux
- Archivage des données
- Gestion des processus
- Quelques bases d'Unix avancé
45Quelques 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 PATHPATH/home/prot1/formation/bin
- etc