http://www.isima.fr/~loic
Septembre	2017
2
Initiation	UNIX/C
• 2	semaines
• Système	d'exploitation	UNIX	/	Linux
• Langage	C
• Bases	fondamentales	pour	les	trois	années
§ Langage	C++,	C#,	JAVA,	Swift
§ Cours	de	système
§ Utilisation	des	machines
Ordinateur	?
4
Écran
(LCD)
Clavier
Souris
Unité
centrale
Scanner…
Imprimante…
Tablette	graphique…
Trackball…
5
6
Processeur
Unité	de	contrôle
Mémoires
auxiliaires
Unité	de	mémorisationUnité	de	traitement
Unité	d'E/S
Mémoire	/	RAMCalcul
Décodage	instructions
Mémoire
Registre
Cache
RAM
Disque	dur	SSD	/	classique
Clé	USB
CD	/	DVD	/	Blu-ray
7
Locale
Centrale
Auxiliaire
Temps	
d'accès
Prix
8
Ordinateur	?
• Poste	personnel
§ PC,	Portable
§ Mac
§ Smartphone
• Terminal
§ Alpha	:	clavier	+	écran	texte	en	liaison	asynchrone
§ X	:	X-Windows +	processeur
• Serveur
9
Serveur
Serveur
Terminal
Terminal
Protocole	de
communication
(http,	…)
Service
Demandeur
Relation	
• client	/serveur
• Maître	esclave
Répondre	à	des	requêtes
10
Système	d'exploitation	(SE	ou	OS)
• Interface	utilisateur	/	machine
§ Texte	/	Graphique
• Gestion
§ Ressources	(fichiers,	mémoires,	périphériques)
§ Données	/	programmes	des	utilisateurs
§ Conflits	entre	les	utilisateurs
• Architecture	multiutilisateur
• Ex	:	Windows,	Linux,	UNIX,	Mac	OS,	AS400,	…
• Langage	de	commande	:	shell /	DOS,		powershell
11
• Terminaux	X
• Serveurs
§ ETUD LINUX
§ TSE1 WIN2016	
§ BERZET LINUX
• PCs pour	TP	spécifiques
avec	SE	virtuels
• Mac
12
Et	pour	vous	?
• Distribution	LINUX	d'usage	libre
•
§ 8.1	|	10	|	Server	
§ Produits	de	développement	(Visual,	Visio,	…)
§ MS	Office	?
Le	monde	UNIX
(LINUX)
14
Plan
• Organisation	des/ses	données
§ Fichiers	et	répertoires
• Se	(dé)connecter
• Changer	de	mot	de	passe
• Faire	plusieurs	choses	à	la	fois
§ Processus
• Communiquer
§ Réseau
• Donner	des	ordres	!	
§ Commandes	shell
15
UNIX	?
• Multitâches
• Multiutilisateurs
• Bonne	répartition	des	ressources
• Outils	de	développement
• Intimement	lié	au	langage	C
• Portable	→ multi	architecture
16
1969
1975
1977
1979
1986
Développement	en	interne
Version	6
Version	7	(commerciale)
Berkeley	Software	Distribution	(libre)
System	V
Essai	de	normalisation	par	OSF	
(BDS	4.3	&	System	V.V3)
• Norme	POSIX	(1983)
• SVID	(System	V	Interface	Definition 1984)
IBM	/	AIX	d'influence	OSF
SUN/	SUN	OS/Solaris	d'influence	BSD
1991 LINUX,	complètement	réécrit,	libre
Exemple	
d’interface	
graphique
17
SHELL
TERMINAL
XTERM
18
Langage	de	commandes
• SHELL (UNIX)
• Donner	des	ordres	au	Système	d'exploitation
• "Interpréteur	de	commandes"
• 2	grandes	familles
• Toute	commande	exécutée	via	une	interface	graphique	
peut	être	faite	textuellement.
Bourne Shell	(sh) Cshell (csh)
Korn Shell	(ksh) tcsh
Bourne Again Shell	(bash)
19
Le	Shell
• Interface
§ Mode	texte	le	plus	souvent
§ Mode	"ligne	de	commande"
§ "Terminal"	,	"xterm"
• Choix	du	shell activé	lors	de	la	connexion
• Syntaxe	:
§ Nom_commande [options]	[arguments]
§ Au	moins	un	espace	entre	les	différents	éléments	de	
la	commande
?>
$ firefox &
$ soffice &
$ ls –l /tmp
$
prompt
ou	invite	de	commande
20
Fichiers	(1)
• Fichier	"classique"
§ Fichier	texte
§ Fichier	binaire
• Répertoire
• Lien	symbolique
• Autres
§ Tubes	nommés,	sockets,	…
• Périphérique	(device)
• Terminal,	imprimante,	disque
Fichiers	(2)
• Texte
§ Affichable	et	compréhensible	à	l'écran
§ Gestion	des	accents,	fin	de	ligne	?
§ Ex	:	code	source,	script	shell
• Binaire
§ Exécutable
§ Données	d’une	application	
§ Pas	lisible	à	l’écran
§ Ex	:	fichier	d'un	éditeur	de	texte	(OO,	Word,	mp3/4,	
divx)	
21
22
Structure	arborescente
Répertoire	
« racine »
Unique
root
Sous-répertoire	1
Sous-répertoire	2
Sous-répertoire	3
Sous-répertoire	11
Sous-répertoire	12
Sous-répertoire	21
Sous-répertoire	22
Sous-répertoire	23
/
usr
home
bin
etud
prof
fc
bin
local
23
Chemin	=	path
• Emplacement	où	trouver	un	répertoire	ou	
un		fichier
• Enumération	des	différents	répertoires	
nécessaires
• Séparateur	de	répertoires	:	slash
home/etud
24
Chemin	absolu
Répertoire	racine usr
home
bin
local
bin
archisima
fc
etud
prof
/home/etud
25
Chemin	relatif
home etud
prof
fc
etudiant1
etudiant2
gouinaud
laurenco
loic
chris
../../etud/etudiant1
?
parent
ou	..
parent
ou	..
Répertoire
§ courant
§ parent
26
Répertoires	particuliers
bin
dev
home
local
mnt
tmp
usr
/
Répertoire	principal	
d’un	utilisateur	:
$HOME
~
~loic
27
Commandes	(1)
$ ls list segments
$ cd change	directory
$ pwd print working directory
$ ls
$ ls -al
$ cd /home/prof/loic
$ cd ..
$ cd $HOME
$ cd ~laurenco
$ cd
28
Commandes	(2)
$ mkdir make directory
$ rmdir remove directory	
$ cp copy
$ tree
$ mkdir tps
$ rmdir tps
$ cp source destination
$ cp original copie
$ cp fic.txt ../sauv
$ cp –r * ../sauv
tps	doit	être	VIDE
29
Commandes	(3)
$ mv move
$ rm remove
$ mv original nouveau_nom
$ mv fic.txt /tmp/
$ mv * ../a_sauver
$ rm fic.txt
$ rm –ri repertoire
$ rm –rf /poubelle/*
30
Obtenir	de	l'aide	?
• Son	voisin	;-)
§ En	cours	et	en	accès	libre
• Internet
• Le	manuel ?>man <commande>
?>man man
?>apropos <commande>
?>info <commande>
31
Connexion
• Environnement	multiutilisateur
• Connexion	sécurisée
§ Identifiant	:	login
§ Mot	de	passe	:	password
• Sécurité	des	mots	de	passe
§ Dictionnaire
§ Fréquence	des	changements
§ Caractères	"spéciaux"	:	chiffres	majuscules	@	#	~	–
• Session
On	verra	comment	
changer	de	mot	de	
passe	en	TP
32
Déconnexion	/	logout
• Obligatoire à	la	fin	de	chaque	utilisation
§ Commande	logout en	mode	texte
§ Icône	ou	menu	en	mode	graphique
• Sortie	propre	de	la	session
§ Courtoisie
§ Sécurité
• Terminal	"locké"	pendant	la	mise	en	veille
§ Blocage	temporaire	sinon	…
§ Courtoisie
33
Administrateur	/	root
• Utilisateur	particulier	avec	droits
§ Privilèges	systèmes
• Administration	de	la	machine
§ Vérification	de	la	bonne	marche
§ Gestion	des	utilisateurs
§ Sauvegarde	/	installation
§ Démarrage	/	Arrêt
• Interdiction	
§ de	se	connecter
§ d'essayer	de	se	connecter
34
Manipuler	des	fichiers	textes
$ touch
$ cat
$ more
$ head
$ tail
$ vi
$ wc
$ which
$ commande fichier.txt
$ more resultats.txt
$ tail -20 fic.log
$ vi roman
$ vi
35
Protection	des	données
• Objets	protégés
§ Répertoires
§ Fichiers
§ Commandes
§ Ressources
• Utilisateurs	
§ Administrateur
§ Utilisateur
DROITS
36
Droits
• 3	niveaux
§ Propriétaire	user u
§ Groupe	du	propriétaire	group g
§ Autres	others o
§ Tous	les	utilisateurs	all a
• 3	types	de	droits
§ Lecture	read r
§ Écriture	write w
§ Exécution	execute x
(a	=	u	g	o)
o
g
u
a
37
Commandes
$ ls –l
$ chmod
$ chgrp
$ chown
Administrateur	!
-rwxr--r-- 1 loic users 8699 Nov 15 2010 Xfloodit.c
drwxr-xr-x 2 loic users 4096 Nov 15 2010 xlib
-rwxr--r-- 1 loic users 7237 Nov 15 2010 xlib2.c
d rwx rwx rwx
u g o
38
chmod
$ chmod –R a+r index.html
$ chmod –R u+rwx,go= *
$ chmod go-rwx fic.log
$ chmod +x dir
$ chmod 755 fic
d rwx rw- rw-
u
7
r w x
4 2 1
39
Lien	physique
• Deux	noms	distincts	pour	un	même	fichier
• Original	effacé	?	Lien	toujours	valide
• Même	numéro	d’inode
• Limité	à	une	partition
• Limité	aux	fichiers
$ ln fichier raccourci
INODE	=	numéro	unique	attribué	au	fichier	par	le	SE
ls -i
40
Lien	symbolique	/	Raccourci	?
• Fichier	/	répertoire
• 2	inodes différents
• Original	effacé	?	Lien	invalide
• Passe	la	limite	de	la	partition
• Très	utilisé	pour	éviter	la	duplication	de	données
$ ln -s fichier raccourci
$ which firefox
$ ls –l /usr/local/bin/firefox
[…] firefox -> firefox9a1
41
Path (1)
• Liste	de	répertoires	où	trouver	les	programmes
• Visualisation
$ waterfox
bash : waterfox: command not found $
$ echo $PATH
/usr/lib64/qt8/bin:/usr/local/sbin:/usr
/sbin:/bin:/usr/local/bin
$
42
Path (2)
• Le	répertoire	courant	?
"."	:	peut	être	ajouté	au	PATH,	mais	pas	obligatoire
• Commandes	utiles	
§ whereis :	permet	de	rechercher	un	fichier	dans	
l'arborescence	connu
§ which :	permet	de	savoir	quel	exécutable	est	utilisé
§ locate commande	:	permet	de	localiser	la	commande
§ find :	permet	la	recherche
43
Redirections
• Une	application	=	boîte	noire
• Fichiers	standards
§ Entrée	standard
§ Sortie	standard
§ Sortie	d'erreur	standard
Application
Entrée	standard
Sortie	standard
Sortie	d'erreur	standard
0
1
2
44
$ cat riri fifi loulou > famille
$ cat donald >> famille
$ ps –aux > res
$ more res
$ commande 2> fichier
$ wc < fic ó wc fic
$ moyenne < donnees
$ commande < fichier
Ne	pas	appeler	un	fichier	test
45
$ Moyenne ↩
15 ↩
20 ↩
13 ↩
-1 ↩
La moyenne est : 16 (3 éléments)
$
$ moyenne < liste1.txt ↩
Saisir un nombre (-1 pour arrêter)
La moyenne est : 16 (3 éléments)
$
Saisir un nombre (-1 pour arrêter)
15 ↩
20 ↩
13 ↩
-1 ↩
46
FIND
find <répertoire>	<critères	de	sélection>	<action>
• Exploration	récursivement	dans	les	répertoires
• Affiche	les	fichiers	qui	répondent	aux	critères.
$ find rep –name nom –print
$ find . –name "essai.c" –print
$ find / -name nom –print 2> /dev/null
47
Caractères	génériques
• Remplacer	un	ou	plusieurs	caractères
§ ?	:	tout	caractère
§ *	:	toute	chaîne	de	caractères,	y	compris	la	chaîne	vide.
$ ls fic?
fic1, fic2 $
$ ls fic*
fic1, fic2, fichier1, fichier2 $
48
Processus	(1)
• Programme	en	train	de	s'exécuter
§ Instructions	machine
• Ensemble	des	données	manipulées
§ Mémoire
• Informations	utiles	au	système
§ Contexte	d'exécution	(pile,	fichiers,	…)
• Problème	:	gestion	du	temps	/	processeur
§ Ordonnanceur
§ Multiprocesseur
• Numéro	unique	(PID)
49
Processus	(2)
• Processus	système ou	daemon
§ Pas	associé	à	un	terminal
§ Propriétaire	:	administrateur
• Processus	utilisateur
§ Tâche	particulière
§ Durée	de	vie	limitée
§ Généralement	associé	à	un	terminal
• Nombre	de	processus	limité	par	le	système
50
Etats	d'un	processus
• Actif
• Ready
§ Prêt	à	être	exécuté
• Terminé
• Endormi	/	suspendu
§ En	attente	d'une	saisie	par	exemple
• Zombie	(defunct)
§ Terminé	mais	toujours	référencé	(PID)
51
Liste	des	processus
$ ps
$ ps –l
• PPID, UID
$ ps –aux ou ps aux
$ ps -ef
$ top
PID TTY TIME CMD
1224 pts/1 00:00:00 bash
3836 pts/1 00:00:00 ps
52
Commande	kill
• Demande	de	fin
$ kill -15 PID
• Mauvaise	fin
$ kill -9 PID
• Arrêt	temporaire
$ kill –STOP PID
• Reprise	après	arrêt
$ kill –CONT PID
$ kill PID
53
Modes	d'exécution	des	
processus
• Avant-plan	(foreground)
§ Exécution	séquentielle
§ Interaction	avec	l’utilisateur
• Mode	arrière-plan	(background)
§ Utilisation	concurrente
• Job
§ Processus	en	arrière-plan
§ Processus	suspendu
§ Processus	graphique	détaché
54
Contrôle	de	processus	(1)
$ commande É
$ commande & É
$ jobs
interactif
batch
$ vi options.txt
$ firefox &
[1] 1720
$ xeyes &
[2] 2345
[n° Job]	PID	
[1] En cours d’exécution firefox &
[2] En cours d’exécution xeyes &
55
Contrôle	de	processus	(2)
$ xeyes &
[3] 1837
$
xeyes
$ fg
[3] Stoppé xeyes &
$$ bg
[3] xeyes &
$
[CTRL+Z]
$ kill %3
$ fg
$ fg numéro
$ fg %numéro
$ bg
$ bg numéro
$ bg %numéro
$ kill %numéro
[CTRL	+	C]
Arrêt	prog en	cours
Exécution	de	processus
• Séquentielle
§ Processus	après	processus
• Concurrente
§ En	même	temps
56
$ (c1;c2;c3;…;c4) > fichier
57
Exécution	concurrente
Com	1
E S
Err
Com	2
E S
ErrTUBE	ou	PIPE
Idée	: Lancer	des	processus	"en	parallèle"	
communiquant	entre	eux
Com	2	peut	commencer	avant	que	Com	1	ne	termine
Rediriger	la	sortie	de	l'un	vers	l'entrée	de	l'autre
?>Com1 | Com 2
?>ps –aux | less
cat fichier | grep loic
58
NICE
$ nice +n	commande	&
• Valeurs	du	n	dépendant	du	shell
§ À	vérifier	par	la	commande	…
• 0 →	 40	 (défaut	:	20)
• -20	 → 20	 (défaut	:	10)
• Valeur	faible,	priorité	forte
• Valeur	haute,	priorité	faible
• Valeurs	négatives	pour	le	système
time processus
59
NOHUP
• Déconnexion	ð Arrêt	des	programmes
• Calcul	long	?
§ No	hang up (signal	d'arrêt)
$ nohup commande
[< fichier1] [> fichier2] &
60
Autres	commandes
$ at heure
§ Exécuter	les	commandes	de	l'entrée	std à	la	
date	spécifiée
§ Droits	: at.allow at.deny
$ cron
§ Tâches	périodiques	en	arrière-plan
§ Fichier	crontab
61
$ rm *
§ Sans	savoir	où	l'on	est	(pwd)
$ rm *;o
§ Au	lieu	de	rm *.o
$ mv à	14h	du	mat
• Appeler	un	fichier	du	nom	d'une	
commande	ou	d'un	périphérique	:	null,		
test
62
Editeur	vi
• Editeur	de	texte	en	mode	terminal	(1976)
• Présent	sur	toutes	les	machines	UNIX
§ Indispensable
• 2	modes	d'utilisation
§ Mode	insertion
§ Mode	commande	(par	défaut)
Prendre	un	éditeur	moderne	en	utilisation	courante
63
Mode	commande
• Déplacement
Flèches	du	clavier
h ◄ j ▼ k ▲ l ►
:<numéro_ligne>
• Quitter
:q :wq :q! ZZ
• Sauvegarder									:w :w "nom"
• Informations
:se nu
:se showmode
64
Édition
• Entrer	en	mode	insertion
i a r
• Sortir	du	mode	insertion	:	ESC
• Effacer	:	x
• Copier/couper/coller
yy ou <n>yy
dd ou <n>dd
P p
• Remplacer	le	mot	courant	:	cw
65
Recherche
• Recherche	et/ou	remplace
:/<motif>
:s/chaine1/chaine2/g
:1,$s
• Suivant	n
• Précédent	N Ce	n’est	pas	P
66
Divers
• Répète	la	dernière	commande	: .
• Annuler		:	u U
• Concaténer	deux	lignes		J
• Fichier	de	configuration	
.exrc
67
Imprimante	(1)
• Imprimante/photocopieuse	commune	au	
rez de	chaussée	(	ne	fonctionne	que	sous	
les	environnements	Windows)
• Attention	au	gaspillage	de	papier
• Envoyer	à	l'imprimante	quelque	chose	
qu'elle	comprend
• Utilisable	avec	la	carte	étudiant
68
Imprimante	(2)
$ lpr
$ lpq
$ lprm
• Autre	jeu	d’instructions	(System	V)
• lp, lpstat, cancel
• a2ps (ascii to Ps)
$ lpq
$ lpr < fich
L'option	–P	permet	de	spécifier	une	imprimante	si	nécessaire
Sous Unix
69
Variables	d’environnement
• DISPLAY
• ENV
• HOME
• PATH
• PS1 et	PS2
• PWD
• SHELL
• TERM
• USER
$ echo $PATH
$ vi .bashrc
PATH=$PATH:~/bin
$ source .bashrc
ou
$ . .bashrc
$ echo $PATH
70
alias
$ alias rm="rm –i"
$ alias ll="ls –l"
$ ll
$ alias
$ unalias
71
Réseau
• Communication	entre	des	ordinateurs
§ Reliés	entre	eux	(avec	ou	sans	fil)
• Internet	
§ La	toile
§ World	Wide	Web WWW
• Protocoles
§ Manière	de	communiquer
§ IP,	TCP,	UDP,	FTP,	SMTP,	HTTP,	POP/IMAP	…
72
Adresse	?
• URL Uniform	Resource	Locator
§ http://www.isima.fr:80
• DNS Domaine	Name	Server
§ Transcription	Nom	↔	Adresse	IP
§ http://193.55.95.26
§ Sinon	fichier	/etc/hosts
• DHCP
127.0.0.1 localhost
127.0.0.1 www
193.55.95.26 www.isima.fr
73
VoIP
BOX =
MODEM	+
ROUTEUR
Wifi
WiFi ≠
Internet
CPL	?
RJ45
74
TX
Serveurs
Intranet
Pare-feu
Proxy
Concentrateur	
VPN
75
Connexion	"directe"
Connexion	par	VPN
76
Appareils	actifs
• Passerelle
• Proxy
• Pare-feu	firewall
• Switch
• Modem
• Routeur
• Concentrateur	(hub)
• Concentrateur	VPN
77
Carte	
Interface
Réseau
• Fil	ou	sans	fil
• Adresse		MAC
§ Numéro	de	série	de	la	carte
§ Prises	sécurisées	à	l’ISIMA
78
Mes	données	?
Network	Information	Service	NIS
etud
fc
glouglou
/home/etud/
login
Données
Dupliquées?
Network
File
System
79
Connexion	à	distance	classique
etud
TX
exam
ssh
sshd
etud> ssh exam
exam>
Relations	client-serveur	
client
serveur
client
serveur
« Manipuler	une	machine	comme	si	on	y	était »
80
ssh /	telnet (1)
• ssh
§ Communication	sécurisée	– Port	22
§ Pas	dispo	sous	Windows	<	10
• telnet
§ Connexion	en	clair
§ Port	23	- Démon	telnetd
• Adresse	IP	ou	nom	logique
• Résolution	nom	via	DNS	ou	/etc/hosts
•PuTTY
•Virtualisation
VIEUX
81
ssh /	telnet (2)
• Session	distante	texte	
• Commandes	identiques	au	shell
$ quit $ exit
$ who $who am i
$ last $hostname
$ ping
• Session	distante	graphique
$ xterm –e ssh machine
$ ssh –X machine
82
Transfert	de	fichiers	(1)
• Commande scp
• Clients	texte	:	sftp / ftp
• Client	graphique	libre	:	filezilla
scp toto.txt loic@fc.isima.fr:temp
83
ftp	/	sftp
• (Secured)	File	Transfer	Protocol
• Historique	et	sur	le	net
• Modèle	client-serveur	+	démon
• Transfert	de	fichiers	
§ Machines	différentes
§ Inutile	si	NFS
• Ports	usuels	:	20	et	21	(ftp)	,	22		(sftp)
• Modes
§ Actif	:	ouverture	dynamique	de	ports
§ Passif
Transfert	de	fichiers	(2)
84
Regrouper	des	fichiers
• Mettre	des	fichiers	dans	un	seul	fichier	pour	
pouvoir	les	transporter/archiver	plus	facilement
• Non	compressé
§ Commande	tar	
§ Options	c	v	x	f
• Compressé
§ zip	/	unzip
§ gzip[2]		/	gunzip
§ compress /	uncompress
.z
.gz
.zip
tar	cvfz arch.tar	repertoire
85
Fichiers	de	configuration
• Fichiers	ou	répertoires	cachés
• Initialisation	(connexion/session)
.bash_profile
.bashrc
• Application
.exrc
.mozilla
A	MANIPULER	
AVEC	PRECAUTION
86
Script	shell (1)
• Liste	de	commandes	dans	un	fichier	texte
§ Fichier	batch
• 2	familles	de	syntaxe
§ Bourne shell et	dérivés (bash)
§ C-shell et	dérivés (tcsh)
• Choisir	le	shell
§ Spécifié	à	la	première	ligne	du	script
• Scripts	autorisés	sont	dans	/etc/shells
87
Script	shell (2)
• Première	ligne	du	script
#!/bin/bash
• Rendre	le	fichier	exécutable	
chmod u+x script
• Exécuter	
$ ./script
#!/bin/bash
# dire bonjour
echo "Bonjour"
echo $USER
88
Variables
• Mécanisme	de	substitution
§ Type	de	base	:	la	chaîne	de	caractères
• Deux	types	
§ Variable	locale	au	shell
• Non	partagées	par	les	autres	programmes
§ Variable	d'environnement	ou	exportée
• Transmises	aux	applications	lancées
$variable ${variable}
89
Caractères	spéciaux
• # commentaire
• ' apostrophe	quote
• " guillemet	double	quote
• ` antiquote
•  protéger	(échapper)	un	caractère
chaînes	de	caractères
find /usr/bin –size +10k
–exec cp '{}' $HOME/tmp ;
90
Chaines	de	caractères
• 'chaine'	
§ Chaine	non	substituée
§ Plus	aucun	caractère	spécial
• "chaine"
§ Les	caractères	spéciaux	sont	valables	sauf		
§ Variables	évaluées
• `chaine`
§ Interprétée	comme	une	commande
echo "$USER"
-> loic
echo '$USER'
-> $USER
echo `date`
Boucle	simple
91
i=1
while [ $i -le 100 ]
do
echo $i
i=`expr $i + 1`
done
for i in `seq 1 100`
do
…
done
for i in un deux
do
echo $i
done
rep=""
while [ -z "$rep" ]
do
read $rep
done
Commande
Condition
92
if [ $i -le 100 ]
then
echo "trop petit"
fi
if test expression
then
[else]
fi
if [ expression ]
then
[ else ]
fi
if [ -n "$rep" ]
then
echo "non nul"
fi
93
Ligne	de	commande	et	
paramètres
$# : nombre	de	paramètres
$* : liste	entière
set : permet	de	redéfinir	la	liste
shift n : décaler	la	liste	vers	la	gauche
($$ : PID	du	script)
$toto blague carambar
Exécutable
$0
1er paramètre
$1
2nd paramètre
$2
94
Commande	mail	- lecture
• n° :	lire	le	mail	numéroté
• x :	sortir,	messages	gardés
• q :	sortir,	messages	dans	la	mbox
§ var/spool/mail
• s n° <nom_fichier>	:	sauvegarder
• d n° :	destruction	du	mail
§ d 1-3
Le	SE	peut	vous	envoyer	des	mails	!!!
95
Communiquer	?
• Site	Internet	perso
§ Charte	sur	le	contenu
§ https://isima.fr/~login
§ Répertoire	$HOME/public_html
§ Attention	aux	droits	(a+rx)	des	répertoires	et	
des	fichiers
§ Fichier	index.html doit	exister	avec	droit
• Transférer	ses	fichiers	par	sftp par	le	VPN
<html>
<head>
<title> Bienvenue sur ma page
</title>
</head>
<body>
<p>Bienvenue sur ma page</p>
</body>
</html>
96
Fichier	texte	:	index.html

Découverte d'UNIX - ISIMA