Historique

20
TRANSFER Bujumbura – préformation Unix Nicolas 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

description

Historique. 1970. 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 ..) - PowerPoint PPT Presentation

Transcript of Historique

Page 1: 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

Page 2: Historique

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

Page 3: Historique

TRANSFER Bujumbura – préformation UnixNicolas Larrousse Février 2002 3

Description du système Unix

Matériel

Noyau

Shell

Interface

Graphique

Outils

SGBD …

Page 4: Historique

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)

Page 5: Historique

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

Page 6: Historique

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 |

Page 7: Historique

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

Page 8: Historique

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

Page 9: Historique

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

Page 10: Historique

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

Page 11: Historique

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

Page 12: Historique

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

Page 13: Historique

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

Page 14: Historique

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 »

Page 15: Historique

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

Page 16: Historique

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

Page 17: Historique

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

Page 18: Historique

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

Page 19: Historique

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

Page 20: Historique

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)