Historique
-
Upload
david-rowland -
Category
Documents
-
view
25 -
download
1
description
Transcript of Historique
TRANSFER Bujumbura – préformation UnixNicolas Larrousse Février 2002 1
Historique
• Développement dans un laboratoire de recherche Bell (Kernighan, Ritchie, Thompson) parallèlement au langage C
• Diffusion gratuite aux universités avec les sources, intégration de UUCP
• Maturité d’Unix (AT & T System V, BSD, Xenix, SunOS, SGI, Cray, HP ..)
• Début de la normalisation : IEE, POSIX, OSF … intégration de TCP/IP et de X windows du MIT
• Linux
1970
1976
1980
1990
TRANSFER Bujumbura – préformation UnixNicolas Larrousse Février 2002 2
Caractéristiques générales
• Multi tâches (temps partagé)
• Multi utilisateurs
• Organisation arborescente des fichiers
• Création dynamique de processus (fork)
• Communication entre processus (pipe)
• Langage de commandes (shell)
• Accès généralisé aux périphériques
TRANSFER Bujumbura – préformation UnixNicolas Larrousse Février 2002 3
Description du système Unix
Matériel
Noyau
Shell
Interface
Graphique
Outils
SGBD …
TRANSFER Bujumbura – préformation UnixNicolas Larrousse Février 2002 4
Le Shell
Les différentes familles de Shell : Bourne Shell (sh), C Shell (csh), Korn Shell (ksh) …
Les caractéristiques communes :
• Définition de variables
• Redirection des entrées et des sorties
• Communication par des « pipe»
• Lancement de programmes en arrière plan
• Programmation (shell scripts)
TRANSFER Bujumbura – préformation UnixNicolas Larrousse Février 2002 5
Connexion au système
Connexion à la machine :
login : nicolas
password : ?????
Déconnexion
exit
Changement de mot de passe
passwd
Eviter les mots simples et les prénoms. Faire un mélange Majuscules, minuscules, chiffres & caractères spéciaux (e.g. LaKc2cD!)
Les utilisateurs sont rassemblés en groupes
TRANSFER Bujumbura – préformation UnixNicolas Larrousse Février 2002 6
Syntaxe générale
Commande d’aide man
Commande option paramètres
ls -l /etc
Enchaînement des commandes ;
Traitement en arrière plan &
Redirections < >
Connexion de deux processus |
TRANSFER Bujumbura – préformation UnixNicolas Larrousse Février 2002 7
Commandes de repertoires Notion de chemin relatif et absolu
Positionnement et déplacement dans l’arborescence
pwd (print working directory) cd (change directory)
Création et destruction de répertoires
mkdir (make directory) rmdir (remove directory)
Contenu d’un répertoire
ls (liste)
/
etc var
home
moi
doc
dev
TRANSFER Bujumbura – préformation UnixNicolas Larrousse Février 2002 8
Commandes de fichiers
Contenu d’un fichier cat, more Renommer un fichier mv
Copie d’un fichier cp Détruire un fichier rm
Lien sur un fichier ln
Compression & décompression d’un fichier
compress uncompress
gzip gunzip
bzip2 bunzip2
Type d’un fichier file Fin du contenu d’un fichier tail
TRANSFER Bujumbura – préformation UnixNicolas Larrousse Février 2002 9
Droits sur les fichiers & répertoires Les droits sont de trois types :
lecture ( r ) écriture ( w ) exécution ( x )
Ils sont appliqués à trois catégories d’utilisateurs
Propriétaire du fichier Groupe les Autres rwx rwx rwx
Modification des droits d’un fichier/répertoire chmod
Modification du propriétaire d’un fichier /répertoire chown
Modification du groupe d’un fichier /répertoire chgrp
TRANSFER Bujumbura – préformation UnixNicolas Larrousse Février 2002 10
Autres commandesHeure et date date Calendrier cal
Qui est connecté who
Traitement du contenu d’un fichier
Tri d’un fichier sort
Recherche dans un fichier grep
Comptage du contenu d’un fichier wc
Recherche d’un fichier find
TRANSFER Bujumbura – préformation UnixNicolas Larrousse Février 2002 11
Editeur de textes vi
Quelques commandes de base (attention aux
majuscules/minuscules)
Annulation u Insertion i Remplacement d’ un caractère r Effacement d’ un caractère x Effacement d’ une ligne dd
Enregistrer :w Quitter :q Quitter & enregistrer :wq
Déplacement Gauche h Droite l Haut k Bas j
commandes
éditionvi fonctionne
en deux modesESC
Très puissant et toujours disponible quelque soit le terminal, mais totalement déroutant
TRANSFER Bujumbura – préformation UnixNicolas Larrousse Février 2002 12
Les scripts shell
• Un shell script doit être un fichier exécutable (chmod +x)
• La première ligne contient #[chemin vers le shell] (e.g. #!/bin/sh)
• Le # en début de ligne indique un commentaire
• On peut lui passer des paramètres
Un shell script est un fichier qui contient une suite de commandes shell reliées par des instructions de structuration
C’est l’outil fondamental de Unix qui permet de lier l’exécution de « briques » de programmes
TRANSFER Bujumbura – préformation UnixNicolas Larrousse Février 2002 13
Les variables du shell Un nom de variable est une chaîne de caractères sans espaces en général en Majuscules : COUCOU TRUC ESSAI
Affectation du contenu en sh COUCOU=Bonjour (Attention pas d’espace)
Accès au contenu d’une variable $[nomde la variable] : echo $COUCOU
Rôle particulier des quotes pour le shell
‘ ‘ Pas d’évaluation du contenu entre les quotes TRUC=‘$COUCOU’
« « Evaluation du contenu entre les quotes TRUC=« $COUCOU »
` ` Double évaluation du contenu entre les quotes $COUCOU=date;TRUC=`$DATE`
Quelques variables standard Unix
PATH chemins d’accès aux programmes HOME répertoire de connexion
USER nom d’utilisateur MANPATH chemins d’accès aux manuels
TRANSFER Bujumbura – préformation UnixNicolas Larrousse Février 2002 14
Les scripts shell Variables spécifiques des shell scripts
Paramètres
$# nombre de paramètres $* liste des paramètres
$0 nom du script $1 $2 … $9 contenu des paramètres
Autres
$$ numéro du processus $? Valeur de retour du dernier processus
#!/bin/sh
echo « Je suis le programme $0 »
echo « avec $# paramètres »
TRANSFER Bujumbura – préformation UnixNicolas Larrousse Février 2002 15
Les scripts shell : structuration
Test et branchement
if condition
then
commande
else
commande
fi
#!/bin/sh
if test -f monfichier.txt
then
echo « le fichier existe »
fi
On teste la valeur de retour d’une commande Unix, il en existe une particulière qui s’appelle « test » (vérification d’existence de fichier, comparaison …).
Elle peut également s’écrire [ ]
#!/bin/sh
if [ -f monfichier.txt ]
then
echo « le fichier existe »
fi
TRANSFER Bujumbura – préformation UnixNicolas Larrousse Février 2002 16
Les scripts shell : structuration
Tests et branchements multiples
case variable in
pattern1) commande ;;
pattern1) commande ;;
pattern2) commande ;;
esac
#!/bin/sh
case $1 in
1) echo « un »;;
2) echo « deux »;;
3) echo « trois »;;
esac
TRANSFER Bujumbura – préformation UnixNicolas Larrousse Février 2002 17
Les scripts shell : structuration
Boucles
for variable in liste
do
commande
done
#!/bin/sh
for $i in 1 2 3
echo $i
done
while condition
do
commande
done
#!/bin/shi=0while [ $i -ne "1" ]doread idone
TRANSFER Bujumbura – préformation UnixNicolas Larrousse Février 2002 18
Les scripts shell
CalculsTout comme pour les tests, on utilise une fonction spécifique d’évaluation : expr (attention à l’utiliser avec les `` )
Opérateurs d’expression numériques
+ addition
- soustraction
\* multiplication
/ division
#!/bin/shi=0while [ $i -ne 100 ]doi=`expr $i + 1`echo $idone
TRANSFER Bujumbura – préformation UnixNicolas Larrousse Février 2002 19
Commandes réseau
Connexion à distance telnet machine [port]
Transfert de fichiers ftp machine
Commandes sécurisées ssh machine
Test de la présence d’une machine sur le réseau ping machine
TRANSFER Bujumbura – préformation UnixNicolas Larrousse Février 2002 20
Références
URLhttp://www.bell-labs.com/history/unix/
http://www.ling.helsinki.fi/users/reriksso/unix/shell.html
http://www.shelldorado.com/
http://linuxcommand.org/writing_shell_scripts.html
http://www.linuxfocus.org/Francais/September2001/article216.shtml
…
B. Kenighan
D. Ritchie
K.Thompson
Publications
J.M. Rifflet La programmation sous Unix (Mc Graw Hill)
…