Premier pas avec Bash
C'EST QUOI LE SHELL ?
Il existe, de nos jours, plusieurs shells,
chacun disposant de spécificités propres. Le Bourne Shell (sh) est le shell le
plus connu et le plus courant sur les Unix. Le C-shell (csh) reprend la
structure du langage C. le Korn Shell (ksh) est une évolution du Bourne Shell.
Le Z-Shell (zsh) est lui-même une évolution du korn shell. Le shell de
référence sous Linux se nomme Bourne Again Shell (bash).
PREMIER PAS AVEC BASH
Gestion de répertoire et de fichiers.
Pour bien comprendre la gestion
de répertoire et de fichiers, nous avons préféré illustrer trivialement le disque comme un vaste terrain et les dossiers(ou
répertoires) qu’il contient comme des parcelles.
Nous avoir une liste claire de commandes, nous considérons que le terme gestion
présuppose la création, la suppression, … , le déplacement d’un répertoire et
d’un fichier.
Les principaux répertoires du disque
Création répertoire
Dans ce disque (vaste terrain, comme illustré ci-dessus), pour créer un répertoire (en d’autre mot illustratif, se procurer un terrain), il va falloir placer les bornes (délimiter par une direction, en anglais Make Directory, d’où la commande mkdir que nous utilisons pour créer le répertoire.
Change direction
Pour se déplacer dans les répertoires, nous utilisons la
commande cd (change directory).
Chemin absolu vs relatif
Un chemin
absolu ou complet :
-
Démarre de la racine, donc commence par un « / ».
-
Décrit tous les répertoires à traverser pour
accéder à l’endroit voulu.
-
Ne contient pas de « . » ni de « .. ».
-
Décrit un chemin relatif à une position donnée
dans l’arborescence, généralement (mais pas toujours) depuis la position
courante.
-
Décrit en principe le plus court chemin pour
aller d’un point à un autre.
-
Peut contenir des points ou des doubles points.
Note : Un nom de chemin peut
aussi être relatif à sa position courante dans le répertoire. Le système (le
shell) mémorise la position actuelle d’un utilisateur dans le système de
fichiers, le répertoire actif.
Nous pouvons donc accéder à un
autre répertoire de l’arborescence depuis l’emplacement actuel sans taper le
chemin complet uniquement en précisant le chemin le plus court relativement à notre
position actuelle au sein de l’arborescence.
Il faut pour cela souvent
utiliser deux entrées particulières de répertoires :
-
Le point « . » représente le
répertoire courant, actif. Il est généralement implicite.
-
Les doubles points « .. » représentent
le répertoire de niveau inférieur.
Le tilde
Le bash interprète le caractère
tilde ~ comme un alias du répertoire personnel. Les chemins peuvent être
relatifs au tilde, mais le tilde ne doit être précédé d’aucun caractère. Pour
vous déplacer dans le répertoire tmp de votre dossier personnel d’où que vous
soyez :
Si vous entrez ceci, vous obtenez une erreur :
Les affirmations :
-
/usr/local/bin
est un chemin complet ou absolu.
-
Documents/Photos
est un chemin relatif : le répertoire Documents est considéré
comme existant dans le répertoire courant.
-
./Documents/Photos
est un chemin relatif parfaitement identique au précédent, sauf que le
répertoire actif (courant) est explicitement indiqué par le point.
« ./Documents » indique explicitement le répertoire Documents dans le
répertoire actif.
- /usr/local/../bin est un chemin relatif : les .. sont relatifs à /usr/local et descendent d’un niveau vers /usr. Le chemin final est donc /usr/bin.
Pour télécharger notre le document entier Cliquez ici
Dans quel répertoire je suis ?
Nous utiliserons la commande PWD : Print Working Directory, qui veut dire Imprimer le Répertoire Courant, en d’autres mots pour savoir dans quel répertoire on se trouve.
Suppression répertoire
Pour supprimer un répertoire,
nous utilisons la commande rmdir, acronyme
de Remove Directory, qui veut dire
littéralement, déplacer pour un endroit transparent aux utilisateurs. Le
dossier supprimé peut être restauré grâce à de technique plus poussé et qui n’entre
pas dans le cadre de notre exo.
Note : Il n’y a pas des
paramètres –r (recusivité) pour
supprimer une arborescence. D’où :
La commande « rmdir –r
PROJET-MASTER1 » produit une erreur en sortie les raisons nous l’avons
évoquées. Et la commande « rm -r PROJET-MASTER1 » utilisée à la place
pour supprimer une arborescence, pour notre cas il s’agit du répertoire
PROJET-MASTER1 avec ses sous répertoires rep1, rep2, rep3, rep4, repN.
Pour télécharger notre le document entier Cliquez ici
Les Outils indispensables
Dans notre projet nous avons utilisé Trameur, WordItOut et Wordle, pour l'analyse textométrique.
Pour résoudre certains problèmes d'encodages, nous avons utilisé minigrep :
---------------------------------------------------------------------------------- SYNTAXE : $CMD [options]Pour résoudre le problème de segementation, le chinois, en l'occurence, il y a le module Word::Segmenter::Chinese::LiteOPTIONS : -h imprime le mode d'emploi de ce programme EXEMPLES: perl mini-grep-multilingue.pl \"UTF-8\" RU_Convention_UTF8.txt motif.txt ----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
use Word::Segmenter::Chinese::Lite qw(wscl_seg wscl_set_mode); #Word::Segmenter::Chinese::Lite - Split Chinese into words my @result = wscl_seg("中华人民共和国成立了oyeah"); foreach (@result) { print $_, "\n"; } # got: # 中华人民共和国 # 成立 # 了 # oyeah wscl_set_mode("obigram"); my @result = wscl_seg("中华人民共和国成立了"); foreach (@result) { print $_, "\n"; } # got: # 中华 # 华人 # 人民 # 民共 # 共和 # 和国 # 国成 # 成立 # 立了 # 了 wscl_set_mode("unigram"); my @result = wscl_seg("中华人民共和国"); foreach (@result) { print $_, "\n"; } # got: # 中 # 华 # 人 # 民 # 共 # 和 # 国 ----------------------------------------------------------------------------------
Pour télécharger notre le document entier Cliquez ici
Construction progressive de la chaîne de traitement
Premier
script : créer un tableau de liens
Objectif : Lire un fichier contenant une
liste d'URL et produire un fichier HTML contenant un tableau (à 1 colonne)
regroupant ces URLs
...
Notre projet en six fichiers :
Fichiers à télécharger |
Liens |
Script final |
Cliquez ici |
parametres | Cliquez ici |
motif-regexp | Cliquez ici |
URLs Pages en Chinois | Cliquez ici |
URLs Pages en Anglais | Cliquez ici |
URLs Pages en Français | Cliquez ici |
Pour télécharger notre le document entier Cliquez ici
Membres Dynamik-Team
- Mr BOMPOKO EBENGO Ibrahim
E-mail : bompokoibrahim@yahoo.fr. - Mme Nicole YELLE K.
E-mail : nicolekoulibali@yahoo.fr