Académique Documents
Professionnel Documents
Culture Documents
Sommaire de tous les articles publiés par MacPlus dans la série Passez la commande.
Haut de page
2/48
Haut de page
3/48
Le Terminal
Mac OS X étant basé sur un système Unix, vous pouvez trouver dans le
dossier Utilitaires, lui-même situé dans le dossier Applications, une
application nommée Terminal. Pour résumer, elle sert d’interface avec la
couche Unix de votre Mac et permet de lui passer des ordres sous forme de
commandes.
Toutes les semaines nous nous pencherons sur une commande Unix,
d’abord les plus simples, ensuite les plus sérieuses. Autant que possible,
nous tenterons de rester à la portée de tous ceux qui voudraient s’y initier.
N’hésitez pas à solliciter l’aide des utilisateurs les plus expérimentés dans
les forums.
Il est implicite que toutes les commandes tapées dans le Terminal seront
validées par pression de la touche entrée ou retour chariot.
Une fois l’aide affichée, oui, bon... en anglais, vous pouvez naviguer en
utilisant les flèches haut et bas. Pour revenir tout en haut des explications,
tapez g et pour quitter l’aide : tapez la lettre q. A vous de découvrir la
suite...
-> Ensuite utiliser n pour trouver l'instance suivante de toto et shift-n pour trouver la
précédente.
De plus la navigation ligne par ligne avec les flèches peut être un peu fastidieuse.
On peut utiliser la barre d'espace pour avancer d'une page.
Haut de page
4/48
on a le résultat dans le fichier texte manToto du répertoire Documents que l'on peut
tranquillement visualiser avec textedit.
Leçon n°2 : cd et ls
A noter que lorsque vous faites glisser un dossier ou un fichier sur une
fenêtre du Terminal, son chemin absolu apparaît dans le Terminal.
-> cd /
ls
Si on s trouve dans le dossier maison, on peut aussi faire:
cd ../..
ls
ls peut prendre un chemin absolu ou relatif en argument. Donc quelque soit le
dossier courant, on peut lister le contenu de la racine, sans s'y rendre au préalable,
avec:
ls /
-> juste avec "cd" sans argument ont retourne dans le $HOME de l'utilisateur donc
en administrateur ce sera /Users/administrateur
cd Pub[TAB]
donne :
cd Public
Haut de page
6/48
Une fois votre séance d’essai terminée, revenez sous le Finder et effacez le
dossier test par l’intermédiaire de la Corbeille de Mac OS X.
-> Attentions aux tests... Si vous avez le malheur d'ajouter un "/" par erreur
(personne n'est à l'abris d'une faute de frappe, alors votre test ne se fera pas dans
votre dossier "test"... mais à la racine :-)
ex :
-> Ça m'étonnerait que ça fasse quoi que ce soit, même en administrateur (sans
sudo) car :
Haut de page
7/48
ls -l /etc
donne
lrwxr-xr-x 1 root admin 11 Aug 18 15:31 /etc -> private/etc
Mais de toutes façons, il vaut mieux effacer le dossier /etc que le dossier ~/Music
car on a plus vite fait de réinstaller le système que de ripper tous nos CDs. Bon, je
sais, tout les monde fait des sauvegardes ;-)
-> de manière générale, il faut être extrêmement prudent pour utiliser la commande
'rm', il faut donc être sûr de ce que l'on supprime, pas d'autre solution dans
l'utilisation de 'rm'. Il ne faut, aussi, en aucun cas mettre un alias 'rm -i' par défaut,
car des fichiers système pourraient être perturbés et ne plus fonctionner. "Prudence
est mère de sûreté" ;-)
-> Je ne suis pas sur que l'on puisse demander confirmation avant d'effacer un
dossier avec rmdir. Avec rm il suffit d'utiliser l'argument -i :
CODE
rm -ri Test (pour un dossier vide)
rm -rfi Test (pour l'ensemble : dossier et son contenu)
ex : rm -rfi Test
examine files in directory Test/? y
remove Test//.DS_Store? y
examine files in directory Test//Test? y
remove Test//Test? y
remove Test/? y
Leçon n°4 : cp
cp fichier-d-origine fichier-de-destination
Par exemple, si vous mettez dans votre dossier maison, un fichier texte
(test.txt) sans importance puis si dans le Terminal (Applications puis
Haut de page
8/48
cp test.txt test2.txt Il est ensuite possible de vérifier que tout s’est bien
passé avec ls.
Leçon n°5 : mv
mv fichierDepart dossierArrivée
mv test.txt Documents
-> Il faut préciser le chemin vers le fichier. Supposons que l'utilisateur titi ai un
fichier test.txt dans son dossier Séquences (Movies en anglais et donc dans le
terminal). Il ouvre le terminal et se trouve donc dans son dossier maison. Pour
mettre le fichier test.txt dans Documents il a plusieurs possibilités dont :
utiliser un chemin relatif (c'est à dire définit par rapport au dossier courant) :
CODE
mv Movies/test.txt Documents/
Haut de page
9/48
CODE
mv /Users/titi/Movies/test.txt Documents/
-> Pour beaucoup de commandes du Terminal, l'option -v (qui veut dire verbose)
permet d'afficher des informations lors de l'exécution de la commande. Ex :
CODE
titi$ mv -v test.txt Documents
test.txt -> Documents/test.txt
CODE
mv test.txt toto.txt
CODE
mv test.txt Documents/toto.txt
Dans le système de fichier unix utilisé par Mac OS X chaque fichier possède
diverses informations associées qui sont regroupées dans une structure de
donnée appelée inode, contraction des termes index et node (nœud en
français). Un inode est repéré par un nombre.
Leçon n°7 : ln
Il existe en unix la possibilité de créer des liens entre les fichiers : les liens
physiques et les liens symboliques.
C’est le numéro inode (cf. leçon n°6) qui permet de réaliser le premier des
deux types de lien. Cette possibilité n’est pas offerte par l’interface
graphique de Mac OS X. Elle permet d’associer à deux fichiers, le même
numéro d’inode : virtuellement, il existe deux fichiers, mais sur le disque, il
n’existe qu’un seul emplacement où sont inscrites les données : c’est le lien
physique.
Un fichier essai.txt peut être lié physiquement à un fichier essai_lien.txt
(pas encore créé) en utilisant la commande suivante dans le Terminal :
ln essai.txt essai_lien.txt
Un second type de lien entre deux fichiers existe : c’est le lien symbolique.
Son concept est repris dans Mac OS X sous le nom d’alias. La création d’un
tel lien entraîne la création d’un fichier contenant une référence du fichier
lié. La commande associée est une option de la commande ln :
ln -s essai.txt essai_lien_symb.txt
Dans le Finder, on peut vérifier que le fichier essai_lien.txt est bien du type
alias. Mais contrairement au lien physique, si l’on supprime le fichier
Haut de page
11/48
Avant d’aller plus loin, il convient d’expliquer qu’il existe deux types de
droit sur les fichiers et les dossiers (qui ne sont, notons-le, que des fichiers
particuliers).
D’autre part, il existe des droits d’accès (ou d’utilisation) sur les fichiers,
ils portent sur trois opérations de base : la lecture r, l’écriture w et
l’exécution x.
Haut de page
12/48
Par exemple, un fichier dont les droits sont résumés par rwxrwxrwx
autorise toutes les actions en lecture écriture et exécution pour tous les
utilisateurs. Pour limiter ces droits au seul possesseur du fichier, on
utilisera les droits suivants : rwx------. Mais si l’on souhaite que les
personne de son groupe puisse au moins voir le contenu des fichiers, on
octroiera la permission de lecture en utilisant la séquence d’autorisation
suivante : rwxr-----. A l’inverse, pour éviter des problèmes de
modification sur un fichier important, on pourrait autoriser la lecture pour
tous, mais interdire l’écriture et l’exécution en utilisant : r--r--r--.
Par exemple pour retirer les droits de lecture d’un dossier créé avec la
commande mkdir test à toutes les personnes qui ne font pas partie du
groupe de l’utilisateur, on utilisera la syntaxe suivante :
Haut de page
13/48
sudo rm monfichier.txt
Haut de page
14/48
Pour tester une telle commande, après avoir créé un dossier de test placez-
y un fichier texte puis par l’intermédiaire de Lire les informations du Finder,
changer le propriétaire du fichier. Vous pouvez ensuite vous rendre dans ce
dossier test par le Terminal et vous rétablir comme propriétaire, en utilisant
si nécessaire la commande sudo comme vu la semaine dernière :
Exercice : Cette commande fonctionne aussi sur des fichiers spéciaux : les
dossiers. Comment faire dans ce cas pour changer le propriétaire de tous
les fichiers et dossiers inclus
les fichiers par défaut soient lisibles et modifiables par le propriétaire mais
seulement lisibles par le groupe et les autres (soit 755 en mode octal et
donc 022 en mode inversé), la syntaxe de umask sera la suivante :
umask 022
On peut vérifier qu’un fichier créé avec touch essai.txt aura bien les droits
définis par le umask en utilisant la commande ls -l.
ls -name MacPlus?
Il s’affichera alors la liste des fichiers contenu dans les dossiers MacPlus1 à
MacPlus9, mais seulement, puisque le "?" ne remplace qu’un seul caractère.
cp /Dossier1/*.mp3 /Dossier2
Ainsi, le * prendra tous les noms se terminant par .mp3. On peut bien
entendu utiliser le joker dans n’importe quel endroit du nom de fichier.
Exemple : la notation mac*plus prendra tous les fichiers commençant par
"mac" et se terminant par "plus".
Haut de page
16/48
Exercice :
Quels sont le ou les caractère(s) à inclure(nt) pour que les caractères joker
ne soient pas pris en compte lors d’une commande quelconque ?
C’est ainsi qu’intervient l’archivage, qui sert donc à stocker des fichiers
dans un seul fichier. La fonction principale de l’archivage est celle du tar de
l’anglais Tape ARchiver, ce que l’on pourrait traduire par "archiveur pour
bande". Le tar, n’a pas comme but le gain de place, mais le regroupement
de données dans un seul et même fichier, pouvant contenir toute une
arborescence. Exemple simple de l’utilisation du tar :
Haut de page
18/48
avec pertes, etc. Nous ne rentrerons pas dans les détails ici. Exemple de
commande simple :
gzip -v fichier1
Ici nous avons simplement rajouté deux options, "-z" pour définir la
compression type gzip, et le "-f" pour l’autorisation d’écrire et lire les
fichiers compressés. Nous avons maintenant regroupé les fichiers, mais
comment faire pour les dés-archiver/décompresser, il suffit d’utiliser
comme d’habitude une commande antagoniste :
gunzip fichier1.tar.gz
Haut de page
19/48
Ainsi, lorsque dans le terminal vous tapez lg, il affichera en fait le résultat
de la commande ls -al. Vous pouvez décliner à l’infini ces commandes
suivant votre utilisation. Pour retrouver tous les alias créés, il suffit de taper
dans le terminal la commande suivante :
alias
En conclusion, cette commande est simple, mais utile pour ceux utilisant
les shells tous les jours.
Exercice : Comment faire pour modifier un alias déjà créé ? Que se passe-t-
il si on renomme un alias sur une commande du terminal existant déjà ?
cat fichier.txt
Haut de page
20/48
On peut aussi afficher le fichier à une ligne précise avec more. Voyons les
exemples :
Si vous maîtrisez ces commandes, il sera alors facile pour vous de retrouver
une ligne de code php ou HTML sur une page web ou pour tout autre fichier
à l’aide du Terminal. Cela permet aussi d’avoir un bon aperçu sans être
obligé d’ouvrir le fichier par un logiciel tiers.
Si le fichier 2 n’existe pas, il est créé. S’il existe, son contenu est remplacé
par celui du fichier 1. Si l’on souhaite, au contraire, ajouter le contenu du
premier fichier au second, on utilise :
Haut de page
21/48
ls 1>fichier.txt
Pour vérifier que la liste des fichiers et dossiers est bien dans fichier.txt, on
utilisera la commande more ou cat.
Pour re-diriger, un flux d’erreur, même principe. Exemple avec une
commande qui n’existe pas, le flux d’erreur est re-dirigé de la sortie
standard vers un fichier :
sdqsd 2>fichier.txt
Pour finir on peut aussi re-diriger un flux vers un autre, par exemple, le
flux d’erreur vers le flux standard avec 2>&1 ou inversement le flux
standard vers le flux d’erreur 2>&1.
Nous allons étayer l’utilisation du pipe, que l’on peut traduire par tube en
français. Historiquement, le pipe est né avec le Bourne_shell pour re-diriger
des flux vers une autre sortie, comme dans un tube, d’où son nom. Il est
représenté par ce symbole :"|" et s’obtient sous Mac en combinant les
touches "shift+alt+l" sur le clavier. Cette fonction permet de re-diriger une
sortie de commande standard vers une entrée d’autre commande standard
et se note ainsi :
commande1 | commande2
Haut de page
22/48
Pour être plus clair, prenons un autre exemple, soit le listing suivant dans
un fichier :
ABCDEFGHIJKL
ABCDEFGHIJKL
ABCDEFGHIJKL
BCDEF
BCDEF
Haut de page
23/48
touch fichier1
touch Desktop/fichier2
Haut de page
24/48
locate peaches
Exercice : Comment rechercher tous les fichiers ne terminant pas par "txt"
et datant d’après la création d’un hypothétique fichier ˜/document1.rtf ?
Comment forcer la mise à jour de la base de données locate ?
Comment faire en sorte que le terme de recherche ne soit pas sensible à la
case ?
Haut de page
25/48
Que s’affiche-t-il alors ? Si vous avez sélectionné deux fichiers texte, cmp
vous affichera alors le nombre de caractères et de lignes différant de l’un à
l’autre. Par contre si les fichiers sont identiques, rien ne sera affiché.
Exercice :
Haut de page
26/48
Je rajoute au gré de mes désirs les options comme pour toute commande
UNIX normale permettant d’afficher diverses informations et d’en tirer une
lecture plus claire et précise. Je peux aussi renvoyer le résultat vers un
autre fichier comme vous avez pu le voir dans les précédentes leçons.
Exercice :
Nous allons donc étudier la commande : grep, qui est plus précisément un
filtre. Pour la petite histoire, grep proviendrait de l’éditeur de texte ed et
signifierait : "global regular expression print", soit en français : "recherche
globale d’expression rationnelle”
Cela parait simple, pourtant si l’on pousse un peu la recherche et que l’on
veut étayer un peu plus, et utiliser par exemple des expressions telles les
jokers ou autres, cela se corse... Voici tout de suite un petit exemple de
cette utilisation possible :
Allez, parce que l’on est de bonne humeur, on vous donne quelques
options de ce filtre :
Vous voilà parés pour les exercices, sachant qu’il vous reste à savoir utiliser
grep avec les expressions régulières (cf. ci-dessus) , ce qui n’est pas rien.
Et bien, non, je me connecte en ssh à partir d'une autre machine (il faut
avoir une autre machine et le ssh ouvert...) et je tue le « loginwindow » avant
de redémarrer la machine proprement (parce que je suis feignant et que je
ne veux pas laisser des process orphelins). Mais comment trouver le
longinwindow en question ? Et bien avec un (le « auc » n'est pas obligatoire...)
Haut de page
28/48
Leçon n°26 : ps
ps
Haut de page
29/48
Avec les diverses options, on peut ou non, rajouter plus de processus dans
l’analyse, ou plus de détails dans l’utilisation de la mémoire, du processeur,
de l’espace disque virtuel.... Bref tout savoir sur ce qui tourne sur votre
machine.
une des commandes souvent utilisée pour avoir un aperçu complet des
processus en cours est la suivante :
ps -auxc
Vous remarquerez que cette commande-ci est bien plus complète que le
simple ps.
-u : associe tous les termes que vous voyez en titre (c’est à dire USER, PID,
%CPU, %MEM, etc), et trie l’informations par l’utilisation du processeur.
Que signifie alors les termes utilisés en titre ? Nous avons en avons vu
quelques-uns déjà qui s’affiche avec la simple commande ps, quels sont les
nouveaux.
User : définit l’utilisateur.
Haut de page
30/48
Quoiqu’il en soit c’est un bon début d’aller faire un tour dans les processus
pour comprendre comment fonctionne sa machine et voir justement quelles
sont les utilisations en ressources de vos programmes.
C’est fini pour cette semaine, n’hésitez pas à utiliser le forum pour discuter
de vos trouvailles !
Haut de page
31/48
top
Pour quitter la fenêtre top, il faut appuyer sur la touche "q", ou effectuer un
"ctrl-c", ce qui coupe court à la commande en cours.
Enfin, pour conclure, nous faisons place aux exercices, qui cette semaine
vous ferons travailler les méninges .
Cette semaine, nous vous conseillons une lecture très complète sur cette
commande écrit par Fabien Conus chez nos amis de Cuk (http://
www.cuk.ch/articles/3635).
Par défaut, la coupure se fait toutes les 1000 lignes. Autant dire que pour la
plupart des fichiers que l’on peut souhaiter couper, c’est une valeur
dérisoire comparés à des centaines de mégaoctets.
Par contre :
Haut de page
33/48
Exercices : Que signifie ici le " ;" ? Que signifie l’affichage de ">0" dans
votre terminal lors de l’exécution d’une commande incluant sleep ?
Comment faire pour lancer cette commande en arrière plan ? Pour la faire
revenir au premier plan ? Et pour finir, comment faire pour stopper cette
commande le cas échéant ?
Haut de page
34/48
Leçon n°31 : fg et bg
Nous allons étudier quelques éléments de gestion des processus. Un ou
plusieurs processus peuvent tourner en arrière-plan ou en avant-plan.
Quelle différence ? En arrière-plan, le processus tourne, mais laisse libre le
prompt du terminal, il tourne donc en arrière, on ne le voit pas s’exécuter.
En avant-plan, c’est l’inverse, en ce sens que le terminal nous laissera la
main une fois la tache du processus fini. Prenons ici les exemples de fg
(pour foreground) et bg (pour background).
Tout d’abord, il faut stopper la commande en cours (la mettre sur pause),
utilisé alors le raccourcis clavier ctrl+z. Ceci met en pause le processus.
bg
fg
jobs
Haut de page
35/48
N’oubliez pas alors les différentes commandes pour visualiser les processus
en cours pour optimiser votre gestion.
Exercices : Il existe différentes manière d’obtenir le même résultat par des
raccourcis claviers.... Quels sont-ils ?
Que signifie le symbole "&" placé en fin de commande ? Et les symboles
"&&" toujours placés en fin de commande ? Que signifie la commande jobs
exactement et quelles sont ses différentes options ?
uptime
D’autres options sont disponibles, comme celle pour afficher une miniature
plutôt qu’un aperçu (-t), ou pour préciser manuellement le type du fichier
(-c) ou encore le générateur (moteur de lecture de Quick Look) à utiliser (-
g).
Haut de page
36/48
Exercice :
Leçon n°34 : wc
Nous allons traiter d’une petite commande qui peut être bien utile et qui
est toute simple. C’est le filtre wc, qui permet de compter au choix, les
octets, les mots, les lignes de vos fichiers contenant un minimum de texte.
wc fichier1
qui affichera alors les 24 premières lignes de ce fichier. Couplés avec des
commandes telles que grep, ces deux filtres peuvent s’avérer efficaces pour
la recherche et la visualisation rapide de documents à travers le terminal.
Haut de page
37/48
sort fichier1
Exercice : Sort, peut-il être utilisé pour trier des fichiers de type XML ?
Quelles sont les options possibles de cette commande ? A quoi sert l’option
k dans ce filtre et comment s’utilise-t-elle ?
Leçon n°37 : tr
Pour cette nouvelle leçon, nous allons encore aborder un nouveau filtre. Ce
filtre est tr, qui permet de faire une conversion de chaînes de caractères.
Elle s’utilise avec les outils de redirection tels que > ou <. Exemple
suivant :
Je souhaite convertir tout simplement les " :" par des "-" que contient mon
fichier. Je tape alors la commande suivante :
Ceci est le fichier sur lequel nous allons utiliser uniq, il se compose de mots
récurrents plus ou moins différents.
Vous remarquerez ainsi que pour vérifier le contenu d’une liste cette
commande peut-être très pratique. Quelques options sont disponibles,
notamment :
Haut de page
39/48
Leçon n°39 : df et du
Nous allons aborder quelques commandes concernant le disque dur. Par df,
et du ; vous pourrez ainsi juger de l’état de la mémoire des disques ou de
leurs utilisation. df tout d’abord, concernant l’espace disque. Cette
commande toute simple se présente comme-suit :
df
S’affiche alors les tailles des disques, les différents points de montage ...
Voyons un peu plus en détails : sans options particulières, la place indiquée
sera en blocs de données. Le bloc est la plus petite unité de stockage de
votre disque. Ce concept dépend du type de formatage du disque (FAT,
NTFS et pour Unix, Ext3, mais il en existe d’autres encore). Dans tous les
cas, c’est difficilement abordable pour un utilisateur lambda. La solution
consiste donc à utiliser une petite option qui est la suivante :
df -h
du
du -h /repertoire1/repertoire2
Haut de page
40/48
Sur le Forum :
du -d 1 -h
Leçon n°40 : bc
C’est au tour de la commande bc. Cette commande permet tout simplement
d’effectuer des calculs via l’interprèteur de commandes qu’est le terminal.
bc permet aussi d’effectuer des calculs avec des entiers relatifs, ce que ne
permet pas le shell bash. Ainsi bc est souvent utilisé par les scripts
requérant des opérations numériques plus précises.
bc
En tapant ceci dans votre terminal, vous observerez alors que vous basculez
non plus sur le prompt du terminal, à votre habitude, mais à une ligne où
vous tapez directement votre calcul.
Vous pouvez alors calculer tout ce que vous voulez, aussi longtemps que
vous le souhaitez.
Sur le Forum :
bc permet aussi d’effectuer des calculs avec des entiers relatifs, ce que ne permet
pas le shell bash.
CODE
Cronos:~ bruno$ bash
bash-3.2$ let i=-76
bash-3.2$ let j=6
bash-3.2$ echo $((i+j))
-70
Haut de page
41/48
bc permet surtout de réaliser des calculs en précision arbitraire (est-ce le bon terme
en français Exercices ?) alors que bash a une précision limité et ne donne donc pas
le bon résultat sur les gros nombres.
CODE
bash-3.00$ bc
1578954615864899 * 2493113483933876215
3936513043332413563653907829477285
quit
bash-3.00$ let i=1578954615864899
bash-3.00$ let j=2493113483933876215
bash-3.00$ echo $((i*j))
6862909958053416869
Tout d’abord, la commande clear qui a pour seul but de nettoyer l’écran de
votre terminal, vous redonnant un prompt propre et clair, sans rien au
dessus. Pratique pour se remettre les idées en place et repartir sur de
bonnes bases.
clear
man -k connect
Sur Mac OS X, basé sur un système Unix de la famille des BSD, le shell
(autre nom de l’interprèteur de commande) permet comme vous l’avez
compris la discussion directe avec la machine, et, est de type Bash (Bourne
SHell) depuis Mac OS X 10.3.
$PATH
Exercice : Essayez de trouver les différents types de shell que votre Mac
peut vous fournir et de trouver les caractéristiques qui différencient chacun
d’eux. Comment faire pour changer d’interprèteur dans ce cas ? Quelles
sont les autres variables nécessaire pour le shell à l’instar de PATH ?
nom\ dossier
Dans vos scripts, il faudra utiliser la notation ’nom dossier’ avec en amont
et en aval les quotes (touche 4 du clavier). Les accents ont un codage
particulier, par exemple " à " se note : a\314\200 et c’est le même style
pour les autres caractères comportant des accents. Autant abandonner ce
Haut de page
44/48
nom_de_dossier
Il est possible bien sûr d’adapter ces notations à votre guise. Maintenant,
voyons le tilde, ou" ", qui s’obtient en combinant les touches "alt" et "n". Le
tilde vous ramène, lors de la notation d’un chemin, dans votre home, c’est
à dire dans "/Users/Votre_Nom", ou encore nommé chez les utilisateurs
Mac que nous sommes : maisonnette.
Exercice : Comment utiliser l’astérisque " * " pour trouver un fichier avec
accents, sans utiliser le codage ?
macplus=http://www.macplus.net
Haut de page
45/48
echo $macplus
Pour continuer sur la lancée des variables, nous allons aborder les variables
d’environnement. Ces variables particulières sont dynamiques et utilisées
par le système d’exploitation en permanence, c’est à dire Mac OS X dans
notre cas. Ces variables indispensables sont notées par convention en
majuscule d’imprimerie.
Ainsi, pour voir ce que contient la variable PATH, qui regroupe les chemins
de vos répertoires depuis lesquels sont lancés vos processus, on utilise
encore une fois la commande echo :
echo $PATH
Rappelez vous qu’il faut utiliser le signe "$" pour lire le contenu d’une
variable, quelque soit celle-ci. On peut bien entendu rajouter ou modifier
un répertoire à ce PATH. On utilise alors la commande export de cette
manière :
Ici, nous avons pris l’exemple du PATH, bien entendu d’autres variables
d’environnement existent. Utilisez alors la commande env pour voir de
manière explicite les variables d’environnement disponible dans votre shell
Haut de page
46/48
Haut de page
47/48
Leçon n°47 : Vi
Avant d’aborder de manière plus précise les scripts, voyons comment les
écrire à l’aide de notre Terminal. Voyons Vi (prononcez Vihaille, à l’anglaise). Il
est un des éditeurs standards des systèmes UNIX, avec par exemple
“ Emacs ” et “ Pico ”, que nous verrons lors de prochaines leçons. Vi est un
éditeur très simple, mais qui perturbe beaucoup lors des premières
approches. En effet, ici, rien de graphique, tout se passe par touches de
raccourcis. Conçu pour être rapide et simple, on utilise peu de touches de
raccourcis, mais des “ modes “. Exemple, en mode commande, on se
déplace dans le texte avec les touches h, j, k, l. Mais si vous pressez alors la
touche insertion, les touches entre alors du texte, et nous sommes alors en
mode insertion.
vi
S’ouvre alors une page avec quelques informations, le nom de l’éditeur, ici
Vim, pour Vi IMproved, qui se veut plus fournit et plus modulable. Ensuite,
les informations pour quitter l’éditeur, et pour avoir de l’aide. Alors pour
quitter, vous ferez simplement :
:q
:help
Haut de page
48/48
lancement de Vi, vous êtes en mode simple, ou normal, vous pouvez alors
entrer les commandes décrites ci-dessus.
Exercice :
Que permet la commande : set ?
Essayez de découvrir les diverses fonctionnalité de Vi (configurer ses
raccourcis, les macros-commandes).
Haut de page