Utilisation du terminal
Préambule
Lancez un terminal. C'est une fenêtre où une ligne appelée "le prompt" vous invite à taper des commandes. En pratique, grâce à la touche de tabulation, on écrit des noms de fichiers longs en quelques frappes, car tabulation permet de compléter ce qu'on a la paresse de taper. De même, les flèches haut et bas vous permettent de retrouver une commande que vous avez déjà tapée.
Si vous recopiez laborieusement du texte dans les exercices suivants, c'est que vous avez raté l'usage de la touche TAB De même, il ne s'agit pas de lancer des commandes bêtement. Rien n'est compliqué ici, vous devez donc comprendre précisément tout ce que vous faites. Posez des questions en séance donc.
Si vous recopiez laborieusement du texte dans les exercices suivants, c'est que vous avez raté l'usage de la touche TAB De même, il ne s'agit pas de lancer des commandes bêtement. Rien n'est compliqué ici, vous devez donc comprendre précisément tout ce que vous faites. Posez des questions en séance donc.
Le copier-coller sous linux
Fini les CTRL-C et CTRL-V. En linux, la séléction à la souris (avec le bouton gauche) copie systématiquement (inutile de taper CTRL-C après donc). Pour coller, il faut cliquer (gauche) à l'endroit où l'on veut coller (ou déplacer le curseur à cet endroit si on est sur un terminal texte, comme dans ce tuto), puis cliquer sur le bouton du milieu (la molette souvent... ou les deux boutons gauche et droit simultanément si vous n'avez pas de bouton du milieu).
On commence....
Dans le terminal, le GPS s'obtient en tapant la commande
pwd... Personal Working Directory. Regarder autour de soi, c'est
ls... liste de ce qu'on voit donc, là où on est.
Téléchargez l'archive suivante Zoo.tar.gz (sans la décompresser) à la racine (Home) de votre compte. Décompressez-là avec la commande tar paramétrée par les flags zxvf (z pour dézipper, x pour extraire, v pour verbose, et f je ne me souviens plus....).
On lancer un programme (find en l'occurrence) qui va parcourrir récursivement un dossier (d'ailleurs, le symbole . est le dossier courant, .. le dossier du niveau au dessus, et ~ votre dossier home). Pour chaque élément trouvé dans ce parcours, on décidera de l'afficher. Essayez de copier la commande suivante et de la coller dans le terminal.
Allez dans le dossier Hominides. Pensez bien à utiliser TAB. Vérifiez avec pwd que vous y êtes.
Allez dans le dossier Lemuriformes. Pensez bien à utiliser .. pour remonter.
Revenez à dans le dossier Zoo (utilisez ~).
tar zxvf Zoo.tar.gzAprès chaque commande dans la suite, pensez à taper ls pour voir les fichiers créés, voir où vous atterrissez, etc.
On lancer un programme (find en l'occurrence) qui va parcourrir récursivement un dossier (d'ailleurs, le symbole . est le dossier courant, .. le dossier du niveau au dessus, et ~ votre dossier home). Pour chaque élément trouvé dans ce parcours, on décidera de l'afficher. Essayez de copier la commande suivante et de la coller dans le terminal.
find Zoo -printChangeons de dossier, c'est-à-dire passons du dossier courant au dossier créé par la décompression de l'archive.
cd Zoo... on est d'accord, vous avez tapé les touches 'c', 'd', ' ', 'Z', TAB, 'entrée', non ? Tapez ls donc, pour voir ce qu'il y a dans ce dossier. La commande pwd vous permet de constater que vous êtes descendu d'un niveau dans l'arborescence des dossiers.
Allez dans le dossier Hominides. Pensez bien à utiliser TAB. Vérifiez avec pwd que vous y êtes.
Allez dans le dossier Lemuriformes. Pensez bien à utiliser .. pour remonter.
Revenez à dans le dossier Zoo (utilisez ~).
Quelques manipulations
Regardons le contenu du fichier cactus.txt
less cactus.txt... tapez 'q' pour sortir de less. On peut en obtenir le nombres de mots, de lignes de caractères avec la commande wc (word count, qu'est-ce que vous imaginiez).
wc cactus.txtou
wc -l cactus.txtLa commande man fournit un manuel d'utilisation.
man wcEffaçons (remove) le fichier cactus.txt
rm cactus.txt
Déplacez à l'aide de la commande mv (comme move) le dossier Poules dans le dossier Domestiques. Déplacez cocotte.txt dans Poules. Copier (commande cp) cocotte.txt en un nouveau fichier ponleuse.txt. Renommez ce fichier en pondeuse.txt.
Revenez à la racine (votre home). Exécutez tour à tour ces lignes en comprenant ce qu'il se passe.
find Zoo -name "*.txt" -print find Zoo -name "*.txt" -print | wc -l find Zoo -name "*.bad" -print find Zoo -name "*.bad" -exec rm \{} \; -print find Zoo -printEffacez le dossier Primates (option -r, comme récursif, de rm).
Allez dans le dossier contenant le fichier chant.sh. Regardons son contenu avec l'éditeur gedit.
gedit chant.shTapez des commandes dans le terminal (ls par exemple). Que se passe-t-il ? Quittez gedit. Recommencez mais après avoir tapé cette fois-ci
gedit chant.sh &Nous allons tuer gedit au lieu de le fermer proprement. Tapez
jobset repérez le numéro de job associé à gedit. Disons que c'est 73 (vous aurez certainement 1). Pour tuer le job, je tape
kill %73
Les fichiers ont des propriétaires, qui sont au sein de groupes d'utilisateurs, et ont des permissions. Tapez
ls -alRendons le script chant.sh exécutable.
chmod +x chant.shVoyons l'effet:
ls -alExécutons le script
chant.shAlors ? Un problème de PATH ? (demandez ce que c'est)
./chant.shet de même
cd .. Sauvages/chant.sh
Variables d'environnement
Pour configurer certaines choses, paramétrer l'exécution de certains programmes, on peut disposer de variables d'environnement. Ces variables contiennent des chaînes de caractères qui peuvent être lues par certains programmes. Pour illustrer l'utilisation de ces variables, nous introduisons la commande echo dont vous allez comprendre facilement l'utilisation en tapant
echo coucou hello echo "coucou\nhello" echo -e "coucou\nhello"Cette commande étant introduite, définissons une variable d'environnement:
export TOTO=dir export TITI=filepuis pour les utiliser, il faut rajouter un $ devant le nom de variable. Par exemple:
echo TOTO echo $TOTO echo $TOTO/$TITI echo $HOME cd $HOMEVous pouvez voir toutes les variables qui sont déjà définies en tapant
envou
env | grep PATHpour voir toutes celles qui contiennent le mot PATH.
Enfin, si vous voulez que ces variables soient définies à chaque fois que vous lancez un terminal, il faut écrire les commandes export ...=... dans le fichier ~/.bashrc. Si jamais vous avez un ficher dans lequel il y a des définitions de variables d'environnement, et que vous voulez que le shell le lise pour définir les variables qui s'y trouvent (pour exécuter les setenv), vous pouvez taper:
source definitions.config... si le fichier en question est definitions.config.