Title: TRANSFER Bujumbura prformation Unix
1Historique
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é dUnix (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
1976
1980
1990
2Caracté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
3Description du système Unix
Shell
Outils
Matériel
Interface Graphique
Noyau
SGBD
4Le 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)
5Connexion 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
6Syntaxe générale
Commande daide man Commande option
paramètres ls -l /etc Enchaînement des
commandes Traitement en arrière plan
Redirections lt gt Connexion de deux processus
7Commandes de repertoires
Notion de chemin relatif et absolu Positionnement
et déplacement dans larborescence pwd (print
working directory) cd (change directory)
Création et destruction de répertoires mkdir
(make directory) rmdir (remove directory)
Contenu dun répertoire ls (liste)
/
dev
var
etc
home
moi
doc
8Commandes de fichiers
Contenu dun fichier cat, more Renommer un
fichier mv Copie dun fichier cp Détruire un
fichier rm Lien sur un fichier ln Compression
décompression dun fichier compress
uncompress gzip gunzip bzip2 bunzip2 Type
dun fichier file Fin du contenu dun fichier
tail
9Droits 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 dutilisateurs Propriétaire
du fichier Groupe les Autres
rwx rwx rwx
Modification des droits dun fichier/répertoire
chmod Modification du propriétaire dun fichier
/répertoire chown Modification du groupe dun
fichier /répertoire chgrp
10Autres commandes
Heure et date date Calendrier cal Qui est
connecté who
Traitement du contenu dun fichier Tri dun
fichier sort Recherche dans un fichier
grep Comptage du contenu dun fichier wc
Recherche dun fichier find
11Editeur de textes vi
Très puissant et toujours disponible quelque soit
le terminal, mais totalement déroutant
vi fonctionne en deux modes
ESC
commandes
édition
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
12Les scripts shell
Un shell script est un fichier qui contient une
suite de commandes shell reliées par des
instructions de structuration Cest loutil
fondamental de Unix qui permet de lier
lexécution de briques de programmes
- 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
13Les 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
COUCOUBonjour (Attention pas despace) Accès au
contenu dune variable nomde la variable
echo COUCOU
Rôle particulier des quotes pour le shell
Pas dévaluation du contenu entre les quotes
TRUCCOUCOU Evaluation du contenu
entre les quotes TRUC COUCOU Double
évaluation du contenu entre les quotes
COUCOUdateTRUCDATE
Quelques variables standard Unix PATH chemins
daccès aux programmes HOME répertoire de
connexion USER nom dutilisateur MANPATH chemins
daccès aux manuels
14Les 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
15Les scripts shell structuration
Test et branchement if condition
then commande else commande fi
On teste la valeur de retour dune commande Unix,
il en existe une particulière qui sappelle
test (vérification dexistence de fichier,
comparaison ). Elle peut également sécrire
!/bin/sh if test -f monfichier.txt then echo
le fichier existe fi
!/bin/sh if -f monfichier.txt then echo
le fichier existe fi
16Les 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
17Les 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/sh i0 while i -ne "1" do read i done
18Les scripts shell
Calculs Tout comme pour les tests, on utilise une
fonction spécifique dévaluation expr
(attention à lutiliser avec les ) Opérateurs
dexpression numériques addition -
soustraction \ multiplication / division
!/bin/sh i0 while i -ne 100 do iexpr i
1 echo i done
19Commandes réseau
Connexion à distance telnet machine
port Transfert de fichiers ftp
machine Commandes sécurisées ssh machine Test de
la présence dune machine sur le réseau ping
machine
20Références
URL http//www.bell-labs.com/history/unix/
http//www.ling.helsinki.fi/users/reriksso/unix/s
hell.html http//www.shelldorado.com/ http//linux
command.org/writing_shell_scripts.html
http//www.linuxfocus.org/Francais/September2001/
article216.shtml
D. Ritchie
B. Kenighan
Publications J.M. Rifflet La programmation sous
Unix (Mc Graw Hill)
K.Thompson