Accueil
Java Standard Edition
Java EE 5
Visual Basic .Net 2005
Visual C++ .Net 2005
Visual C# .Net 2005
Cours ASP .Net 2.0
Postgresql
Linux
Visual Studio 2008
ASP 3.0 Classique
Cours Javascript - DOM - DHTML
Cours Ajax
VBA
Assembleur
Perl
Membres
L'auteur du site
Nouveautés sur le site
Contacts
Plan du site
Exécution d'un programme
Les archives Jar
Les classes abstraites
Les interfaces
Les tableaux
La généricité
Les énumérations
Les classes internes
Classes anonymes et internes locales
E/S(1):InputStream et OutputStream
E/S(2):FileInputStream et FileOutputStream
E/S(3):Reader et Writer
E/S(4):FilterInputStream et FilterOutputStream
E/S(5):Les filtres d'octets: PrintStream
E/S(6):Les filtres d'octets: DataInputStream et DataOutputStream
E/S(7):Les filtres d'octets: BufferedInputStream et BufferedOutputStream
E/S(8):Flux de caractères: PrintWriter
E/S(9):Flux de caractères: FilterReader et FilterWriter
E/S(10):Flux de caractères: InputStreamReader, OutputStreamWriter, StreamDecoder, StreamEncoder
E/S(11):Flux de caractères: BufferedReader et BufferedWriter
E/S(12):Flux de caractères: FileReader et FileWriter
La classe String (java.lang)
La bibliothèque Swing en Java
Les bases de données en Java
JDBC ( Java Database Connectivity )
Les interfaces graphiques
Les fichiers de configuration en Java
INSTALLATION JAVA EE 5, JRE 6, ECLIPSE, TOMCAT, ETC SOUS LINUX
INSTALLATION JAVA EE 5, JRE 6, ECLIPSE, TOMCAT, ETC SOUS WINDOWS
Les applications Web en java
Les filtres Java (javax.servlet.Filter)
I Généralités
I.1 Le formulaire principal
I.2 Les objets créés par Visual
I.3 Les variables références
I.4 Le garbage collector
II Créer évènements
II.1 Rappel évènements
II.2 Procédure à suivre
II.2.1 Créer son EventArgs
II.2.2 Créer EmetEvent
II.2.3 Déclarations autres
I Généralités
I.1 Applications winforms
I.2 Applications MFC
I.3 Objets managés ou pas
I.4 Objets non managés
I.5 Objets managés - handle
I.6 Le top-level ^
II Créer évènements
II.1 Rappel évènements
II.2 Procédure à suivre
II.2.1 Créer son EventArgs
II.2.2 Créer EmetEvent
II.2.3 Déclarations autres
I Généralités
I.1 Puissant et Accessible
I.2 Créer ses classes
II Créer évènements
II.1 Rappel évènements
II.2 Procédure à suivre
III Les services Windows
IV Le .net remoting
V Communication Tcp avec TcpClient et TcpListener
II.2.1 Créer son EventArgs
II.2.2 Créer EmetEvent
II.2.3 Déclarations autres
I Généralités
I.1 Un EDI formidable
I.2 Inclure C# ou VB
I.3 L'objet Response
I.4 Les évènements
II ASP .net et les bdd
II.1 Essayer plusieurs fois la requête
I 2.1 Fichiers distincts
I.2.2 Avec la balise script
I.2.3 Inclure réellement
I.2.4 Avec Response.Write()
I.3.1 La méthode Response.Redirect()
I.4.1 Résoudre problème post
Installation Postgre Linux
Cours Postgresql
Le Shell Unix( Linux, Ubuntu)
Les scripts C-Shell
Programmation système Unix
Reseau Linux
Les iptables
Windows Presentation Foundation(WPF)
Le Framework 3.0
Windows Workflow Foundation(WF)
ASP 3.0 Classique
Cours Javascript - DOM - DHTML
Chat Ajax
VBA Excel 2003
Assembleur
Perl
Inscription
Liste membres
Livre d'or
Forum
Accueil
>
Linux
>
Le Shell Unix( Linux, Ubuntu)
____________________________________________________________________________________________________
Connexion
LE SHELL UNIX( linux, ubuntu )
I) GENERALITES
Le problème principal du shell Unix est la syntaxe( on s’y perd). La solution est de comprendre d’abord le fonctionnement de la syntaxe. On se prend un exemple de commande pour comprendre la syntaxe du shell, prenons la commande find. Cette phase de généralisations sur la syntaxe shell est, à mon avis, une étape indispensable pour arriver à une bonne compréhension du shell.
La commande find pour comprendre la syntaxe du shell
Find /home/sabri –name “*prog.*”
I.1) L’objectif de la commande
Toute commande est dédiée à une tache bien précise. Il faut donc d’abord bien comprendre ce que la commande fait, ce qui n’est pas si évident que cela.
Objectif de find : trouver un ou plusieurs fichiers. Ceci est un besoin qui peut arriver, d’où la présence d’une telle commande dans le shell. Car les commandes sont là pour servir, c’est leur seule raison d’être, même si certaines peuvent paraître mystérieuses.
I.2) La description de ce que la commande fait
Toute commande se comporte d’une façon particulière. Ici, par exemple, on peut dire que, par défaut, le find est récursif( logique : besoin le plus courant).
Autre exemple de description du find : selon la façon dont on a formulé le répertoire de recherche( absolu /home/sabri ou relatif ex. : . (point) ), le résultat sera relatif ou absolu. A mon avis, c’est juste un moyen de connaître le choix de l’utilisateur à ce sujet, pas une contrainte technique pour la commande.
I.3) Deux types d’arguments
Deux types d’arguments : les arguments obligatoires, comme le /home/sabri. Et les arguments à options, comme -name. C’est tout ce qu’on peut avoir comme arguments.
I.4) Les options: le – (le tiret)
Ici l’option est –name. L’ordre des options dans la commande n’a pas d’importance. En effet, cela se comprend car les options ont un nom, donc l’interpréteur de ligne de commande peut comprendre de quoi il s’agit.
a) Remarque sur ce que j’appelle « les paramètres des options »
Ici, après l’option, on a un paramètre de l’option. Avec un espace de séparation. Ce paramètre de l’option est un paramètre obligatoire. Il y a des commandes qui ont des options qui ne demandent pas plus de précisions derrière :
Exemple : ifconfig –a . Dans le cas précédent, le –name demande un argument obligatoire derrière, qui est le nom du fichier.
I.5) Les arguments obligatoires
Tout-de-suite après le find : le répertoire de la recherche. L’ordre des arguments obligatoires a une importance. En effet, comme on n’indique pas le nom du type d’argument, au contraire des options, l’interpréteur de ligne de commande ne pourrait pas savoir de quel argument il s’agit.
L’argument immédiatement après le –name est aussi un argument obligatoire( obligatoire quand l’option –name est présente, bien sûr). On doit mettre le nom du fichier derrière. Ce nom de fichier est ce que j’ai appelé ci-dessus un paramètre d’une option.
I.6) Pourquoi les “ ”
Les guillemets doubles servent à empêcher une mauvaise interprétation du shell des caractères spéciaux.
I.7) L’option –print
-print : affichage du résultat sur la console. Par défaut, est activée dans le find
I.8) L’option –type
Pour préciser un type voulu.
a) -type f :
-type f signifie qu’on veut que les fichiers. Ici, après l’option, on a un paramètre de l’option. Avec un espace de séparation, bien sûr. Ce paramètre de l’option est un paramètre obligatoire, je le rappel.
I.9) Classer les commandes en catégories : exemple des commandes qui vont regarder le contenu de fichiers
Certaines commandes peuvent être rangées dans la même catégorie. Cette classification facilite la compréhension des commandes.
Prenons par exemple les commandes qui vont regarder le contenu de fichiers( pas comme find qui est « externe » ). Find ne fait pas partie de ce groupe de commandes, car il ne regarde pas à l’intérieur de fichiers ; il a une action externe. Par contre, la commande diff va regarder le contenu des fichiers.
a)La commande diff
Exemple dans un script C-Shell :
diff $f1 $f2 >> /dev/null
Définition du diff: « compare files line by line ». Il s’agit d’une comparaison ligne par ligne de deux fichiers passés en paramètres.
Utile notamment pour vérifier que 2 fichiers contiennent la même chose.
Options :
-q : dit uniquement si les fichiers sont différents, mais ne dit pas les différences.
-b : ignore les différences dues à des espaces.
-B : ignore les différences dues à des lignes blanches.
Dans un script C-Shell, on utilise $status, et on le compare à 0 pour savoir si les 2 fichiers sont égaux.
aa) Le caractère >>
Le >> va faire un append. Il va donc indiquer qu’il faut ajouter le résultat trouvé à la fin du fichier indiqué juste après.
ab)Le caractère $ ( script C-Shell)
Remarque : le caractère $ est indispensable ici, car sinon le « f1 » serait pris comme un nom de fichier, alors qu’il s’agit d’une variable.
I.10) L’invite de commande
Penchons-nous sur l’invite de commande. Bien comprendre l’invite de commande est une bonne manière d’avoir moins peur du shell.
Prenons l’exemple de l’invite d’ubuntu :
sabri@sabri-desktop:~$ find /home/sabri –name “*prog.*”
donc login@ordi:chemin courant$($ est le prompt)+espace
I.11) Emacs
Emacs est un éditeur de texte, avec lequel vous pouvez par exemple saisir des scripts shell.
Exemple: emacs fichier.txt &
I.12) Le pipe |
Le caractère |, appelé pipe.
f1 | f2 équivaut à
f1 > fich
f2 < fich
savoir ceci facilite la compréhension du pipe.
I.13) Les variables prédéfinies
Les variables prédéfinies sont les variables globales( noms en majuscules, exemple HOME) + les variables locales( ex. argv, ou home( en minuscules) des scripts C-Shell).
I.13.a) Les variables globales
Exemple : $HOME , PATH, PWD. Elles sont écrites en majuscules.
On peut y accéder à partir d’un terminal, par opposition aux variables locales( exemple home en minuscules), qui ne sont pas accessibles à partir d’un terminal.
Essayez pour home : il ne connaît pas la variable locale home dans le terminal, mais il connaît $HOME !
I.13.b) Les variables locales ou variables shell
Les variables locales( appelées aussi variables shell).
Elles sont utilisables dans un script shell(C-Shell par exemple) , par exemple home en minuscules, mais ne sont pas accessibles à partir d’un terminal. Exemple :
essayez par exemple $cwd : ne marche pas dans un terminal, mais marche dans un script.
- cwd(chemin absolu du répertoire de travail)
- home
- status : retourne le statut de la dernière commande exécutée( 0 si tout s’est bien passé ).
Exemple dans un script C-Shell :
if ( $status == 0 ) then etc
- argv : les arguments de la ligne de commande( indicé à partir de 1). C’est un tableau de string
$argv[1]: le premier agurment passé( pas de $argv[0]).
Exemple dans un script C-Shell :
set rep = $argv[1]
echo $argv: ca sait afficher tout, séparé par un espace!
I.13.ba) Les variables locales homonymes
Par exemple, home est appelée variable locale homonyme, car il existe une variable globale HOME.
II) Liste des commandes
1) find
Vu ci-dessus
2) diff
Vu ci-dessus
3)grep
Recherche de chaînes de caractères dans des fichiers textes:
grep chaine_obligatoire fichier1 fichier2 …
grep affiche la ligne qui contient la chaine. Par défaut, la chaine peut être dans un mot( pas obligé mot entier).
4)sort
sort : tri des lignes d’un fichier.
cat name
martin
dupont
durant
sort name
dupont
durant
martin
5)touch
La commande touch permet de créer un fichier vide.
touch nom_fichier
si le fichier existe déjà, touch modifie son heure de dernier accès, et met l’heure courante.
6)uniq
uniq : affichage d’un fichier ligne par ligne , sans les doublons(contigues).
uniq nom_fic
RETOUR HAUT