Marcel Bosc Introduction système Université Paris-13Département informatiqueIUT de Villetaneuse Cours-5/
Plan du cours ● logiciels ● réseau ● rappels ● constructions bash partie pratique
logiciels 1ère partie ● présentation ● code source ● licences
programmes et recettes processeur Recette 1. Préchauffer le four à 200°C. 2. Mettre l'oeuf, le sucre et la crème légère dans un récipient. 3. Bien mélanger. 1. Ajouter la farine et la levure. 2. Remélanger. 3. Mettre les pépites dans la préparation. 4. Déposer sur une plaque de cuisson beurrée des petits tas de la préparation. 5. Cuire au four préchauffé à 200°C pendant 5 mn français Programme Ouvrir une fenêtre. 1. Saisir le nom et le mot de passe de l'utilisateur. 2. Vérifier que la saisie est correcte 3. Si elle n'est pas correcte, retourner à l'instruction Afficher un message de bienvenue. 5. Afficher les informations sur le compte de l'utilisateur.... fichier livre langage de programmation très simplifié! (rappel)
programmation processeur Programme Ouvrir une fenêtre. 1. Saisir le nom et le mot de passe de l'utilisateur. 2. Vérifier que la saisie est correcte 3. Si elle n'est pas correcte, retourner à l'instruction Afficher un message de bienvenue. 5. Afficher les informations sur le compte de l'utilisateur.... fichier langage de programmation programmeur éditeur de texte ● C++ ● C ● java ● php ●... plusieurs étapes! exécution code source code source: le fichier texte écrit pour générer un programme
compilé / interprété fichier texte programme.c code machine fichier binaire exécutable compilation script.sh interpréteur fichier texte programme compilé programme interprété
logiciels ● système d'exploitation ● traitement de texte ● navigateur web ● jeu vidéo ● BIOS ● commande shell (cp, ls, grep) ● votre projet de fin d'études ● script shell exemples logiciel ou application: un ensemble de programmes et fichiers qui permettent d'assurer une tâche ou une fonction
taille d'un logiciel Linux Debian millions Windows XP 40 millions OpenOffice 8 millions mambo CMS projet DUT programme TP 200 logiciel lignes de code source
licences d'un logiciel accès au code source droit de modifier et de redistribuer généralement gratuit pas d'accès au code source souvent payants propriétaire « closed source » logiciel libre « open source » GNU- GPL freeware ≠ libre
environnements graphiques kde gnomekde WM:metacity,compizWM:Kwin kate, konsole, kpdf,... gedit, gnome-terminal, gpdf,... thèmes serveur X applications environnements de bureau Firefox OpenOffice X.org XFree86 (à l'IUT: xfce) thèmes
clients web : navigateurs internet explorer v.6, v.7, v.8 mozilla firefox v.2, v.3 safari chrome 53 % 31 % 5% 10 % Statistiques: 7/2010
bureautique write impress calc draw... ODF: Open Document Format kword kpresenter kspread... LaTeX abiword gnumeric... kofficegnome office et de nombreux autres logiciels...
images et graphisme inkscape dessin vectoriel GIMP ImageMagik manipulation d'images en ligne de commande convert identify... manipulation d'images et de nombreux autres logiciels... (semblable à illustrator) (semblable à photoshop)
2ème partie réseau
Internet
Adresse IP :db8:85a3::8a2e:370:7334 Dans le futur : IPV6
Nom de domaine yahoo.fr DNS : système de noms de domaines
adresse d'une page web : URL protocole http: langage utilisé pour le dialogue client-serveur nom de domainechemin URL
visiter une page web client machine site.org navigateur internet serveur web (logiciel) protocole http très simplifié... bonjour site.org, je voudrais la page page.html ok, voici la page, au format html 1 2
3ème partie rappels
cp et mv ~/systeme]# cp exo.c essai systeme essa i exo.c ~/systeme]# cp exo.c essai systeme exo.cessa i source destination cas 1: la destination n'existe pas cas 2: la destination existe, c'est un répertoire
cp et mv ~/systeme]# cp exo.c doc.pdf essai systeme essa i doc.pdf exo.c source multiples, destination répertoire exo.c doc.pdf ~/systeme]# cp exo.c doc.pdf essai cp: la cible `essai' n'est pas un répertoire ~/systeme]# systeme doc.pdf source multiples, destination fichier exo.c???? !
syntaxe des pages man ~/systeme]# man ls NOM ls - Afficher le contenu de répertoires SYNOPSIS ls [OPTION]... [FICHIER]... DESCRIPTION Afficher les informations des FICHIERs (du répertoire courant par défaut).... -a, --all inclure les entrées débutant par «. »... -l utiliser un format d’affichage long... [... ] = argument non obligatoire description de chaque option option: formats court (-) et long (--)
syntaxe des pages man ~/systeme]# man ls NOM ls - Afficher le contenu de répertoires SYNOPSIS ls [OPTION]... [FICHIER]... DESCRIPTION Afficher les informations des FICHIERs (du répertoire courant par défaut).... -a, --all inclure les entrées débutant par «. »... -l utiliser un format d’affichage long... [... ] = argument non obligatoire
constructions bash 4ème partie ● quelques commandes ● substitution de commandes ● analyse d'un script bash ● évaluation arithmétique ● boucles numériques
commandes basename et dirname décomposer les éléments d'un chemin ~/systeme]# dirname /tmp/toto.txt /tmp ~/systeme]# dirname a/b/c/d a/b/c ~/systeme]# basename /tmp/toto.txt toto.txt ~/systeme]# basename /tmp/toto.txt.txt toto ~/systeme]# basename a/b/c/d d surtout utile pour des scripts les fichiers et répertoires n'existent pas nécessairement
la commande: convert manipuler des images ~/images]# convert photo.jpg photo.png ~/images]# convert ima.jpg -geometry 300x200 ima.jpg changer le format du fichier: redimensionner l'image: jpeg : photo : qualité réglable : avec pertes png : dessins : sans pertes gif : dessins : couleur limités : sans pertes : animations
substitution de commandes doc.txt page.html essai.pdf fichier: liste.txt echo `cat liste.txt` exécution de "cat liste.txt" echo doc.txt page.html essai.pdf `commande` : exécute commande et la remplace par l'affichage de la commande `commande` $(commande) Supprimé
substitution de commandes exécution de la commande find rm./home.png./tp1/chat.png./tp2/chien.png exemple rm `find. -name "*.png" ` systeme tp1 tp2 home.png f2.txtchat.pngchien.png Supprimé
substitution de commandes home.png bird.jpg tux.png fichier: liste.txt echo `grep png liste.txt | sed 's/png/gif/g' ` exécution de la commande echo home.gif tux.gif exemple Supprimé
exemple de script # pour toutes les images png # créer une petite image mkdir vignettes vignettes/tp1 vignettes/tp2 vignettes/tp3 for fichier in */*.png; do convert $fichier -geometry 100x100 vignettes/$fichier done systeme tp1 tp2 a.pngb.png tp3 z.png systeme tp1 tp2 a.pngb.png tp3 z.png vignettes tp1 tp2 a.pngb.png tp3 z.png
for fichier in */*.png; do convert $fichier -geometry 100x100 vignettes/$fichier done for fichier in tp1/a.png tp2/b.png tp3/z.png ; do fichier=tp1/a.png exemple de script
convert tp1/a.png -geometry 100x100 vignettes/tp1/a.png for fichier in */*.png; do convert $fichier -geometry 100x100 vignettes/$fichier done
évaluation arithmétique $((10+15)) 25 $((expression)): effectue les calculs arithmétiques spécifiés dans l'expression ~]# echo resultat: 5+5 resultat: 5+5 ~]# echo resultat: $((5+5)) resultat: 10 ~]#
évaluation arithmétique n=5 mv fichier.txt fichier$(($n+1)).txt mv fichier.txt fichier$((5+1)).txt i=1;i=$(($i+1)) i = 2 mv fichier.txt fichier6.txt
boucles numériques for ((i=0;i<5;i++)); do echo numéro: $i done numéro: 0 numéro: 1 numéro: 2 numéro: 3 numéro: 4
partie pratique
raccourci ctrl-r ~/memo]# gedit essai.txt & ~/memo]# cd.. ~]# (reverse-i-search)`gedi': gedit essai.txt & ~]# gedit essai.txt & ctrl-r ctrl-r : rechercher dans l'historique des commandes déjà tapés
suspension d'un processus ~/essai]# gedit [2]+ Stopped gedit ~/essai]# bg [2]+ gedit & ~/essai]# fg supension ctrl-z bg: background passer en tâche de fond bg: background passer en tâche de fond fg: foreground retour au premier plan (on perd la main) fg: foreground retour au premier plan (on perd la main) ctrl-z : suspend la tâche courante
la commande: du disk usage: place disque occupée ~/systeme]# du 24./tp1 272./tp2/fichiers-tp2 288./tp ~]# récursif le répertoire courant et ses sous-répertoires occupent 316 KO le répertoire courant et ses sous-répertoires occupent 316 KO options: -h: facile à lire -s: juste le total
ce document est distribué librement : ● sous licence GNU FDL : ● les originaux sont disponibles aux formats OpenOffice et powerpoint