Passer au contenu principal

Tutoriel: Introduction à l'interface de la ligne de commande

Site: IHE DELFT OPENCOURSEWARE
Cours: FAO CB4WA: Python pour les applications hydrologiques géospatiales
Livre: Tutoriel: Introduction à l'interface de la ligne de commande
Imprimé par: Guest user
Date: dimanche 24 novembre 2024, 02:59

1. Introduction

Avant de pouvoir faire du scriptage, vous devez apprendre à utiliser l'interface de la ligne de commande (CLI) et à organiser les fichiers et répertoires (dossiers) sur votre ordinateur. C'est pourquoi nous allons commencer aujourd'hui par un tutoriel sur l'utilisation de l'interface de la ligne de commande.

Après le tutoriel de l'Interface de ligne de commande, vous serez en mesure de:
  1. utiliser l'invite de commande et les commandes les plus courantes
  2. Naviguer vers des fichiers et répertoires, et utiliser leurs chemins relatifs et absolus
  3. Créer un fichier batch

Pour ces exercices, nous utiliserons l'invite de commande.

Notez que ce cours est conçu pour les utilisateurs de Windows. Sous Mac et Linux, l'interface de ligne de commande est différente et l’on doit utiliser d'autres commandes qui ne sont pas abordées dans ce cours.

La meilleure façon d'apprendre la commande est d'utiliser cet  Emulateur DOS en ligne, afin que rien ne puisse se passer sur votre propre système. Les exercices sont basés sur cet émulateur DOS en ligne. Le nombre d'utilisateurs simultanés de l'émulateur est limité, donc si vous ne pouvez pas y accéder, veuillez juste réessayer plus tard.

Dès que familier avec DOS, vous pourrez utiliser l'invite de commande normale ou OSGeo4W Shell .
OSGeo4W Shell est fourni avec QGIS et tout est configuré pour GDAL que nous utiliserons dans un autre module.

2. Visualisation du contenu d'un répertoire

Démarrer l' émulateur DOS en ligne si vous ne l'avez pas encore fait.

C:\> est appelé l'invite de commande. Elle indique votre répertoire de travail actuel (sous Windows, il s'agit d'un dossier). Pour ce cas ci, elle indique que vous vous trouvez sur le lecteur C (appelé racine). Vous ne pouvez ni supprimer ni modifier l'invite de commande. Vous devez taper les commandes après le > de l'invite de commande.

1. Tapez la commande suivante après l'invite:
doskey
Après avoir tapé la commande appuyez la touche <ENTER> pour exécuter la commande.

Dans les instructions nous utilisons le symbole <> pour indiquer que vous devez appuyer une touche.

Dans le présent cas, nous avons activé l'enregistrement de l'historique des commandes que nous utiliserons et expliquerons plus en détail au chapitre 6.

Nous allons visualiser le contenu d'un répertoire à l'aide de la commande dir. La commande dir signifie "directory" (répertoire).

2. Tapez la commande suivante à l'invite :

dir <ENTER>

Vous verez ceci:


C'est ce que l’on appelle une liste de répertoires. Une liste de répertoires est une liste de tous les fichiers et sous-répertoires qu'un répertoire contient. Si vous tapez dir /? vous verez toutes les options de la commande dir. Par exemple, si vous tapez dir /w vous verrez la liste des répertoires en colonnes.

3. Essayez ces commandes pour voir ce qui se trouve sur le lecteur C.


3. Disques et Répertoires

Dans ce chapitre vous apprendrez à:
  • changer de disque
  • créer un répertoire

3.1. Changement de disque

Si vous avez des disques durs ou des partitions différents, vous voudrez peut-être changer de disque. Si vous êtes sur le disque C et que vous voulez passer au disque D, vous pouvez taper:

d:

à l'invite et appuyer sur <ENTER>. Vous allez maintenant continuer sur le lecteur D. Si vous avez un autre lecteur, il est recommandé de ne pas utiliser le lecteur C, car il contient vos fichiers système. Dans ces exercices dans l'émulateur DOS en ligne, cependant, nous utiliserons uniquement le lecteur C, il n'a pas d'autres lecteurs.

3.2. Création de Répertoires

1. Tapez dir et presser <ENTER> à l'invite de commande pour obtenir la liste des répertoires.


Sur la liste à votre écran, tous les noms qui ont <DIR> à côté d'eux sont des répertoiresLes autres sont des fichiers. La taille des fichiers est également affichée. Vous pouvez voir la liste des fichiers d'un autre répertoire en passant dans ce répertoire, puis en utilisant à nouveau la commande dir.

2. Tapez les commandes suivantes:
md John <ENTER>
md Peter <ENTER>
Ces commandes créent des sous-répertoires appelés John et Peter. Vérifiez si les répertoires ont été créés en listant les répertoires:

3. Taper dir <ENTER>


Comme vous pouvez le voir, les deux sous-répertoires ont été créés sur le disque dur C.

4. Tapez dir /AD <ENTER>
Ceci ne listera que les répertoires ( pas les fichiers):



3.3. Changer de répertoire

1. Maintenant, allez dans le répertoire nouvellement créé "John" en tapant:
cd John <Enter>

cd signifie changer de répertoire, en anglais "change directory". Vous remarquez que l'invite de commande a changé en C:\JOHN

Notez que DOS n'est pas sensible à la majuscule (il interprète les majuscules et les minuscules de la même manière), vous auriez donc pu également taper cd JOHN.

2. Listez le contenu du répertoire John (utilisez la commande que vous avez apprise précédemment).

Chemins relatifs

Vous voyez que le répertoire n'est pas vide. Il y a deux répertoires, à savoir . and ..

En fait, le répertoire est vide, mais il montre aussi les chemins relatifs:

 . signifie "répertoire actuel"

.. signifie "répertoire mère (ou un répertoire au-dessus)"

3. Tapez
cd .. <ENTER>

4. Vérifiez l'invite de commande.

Nous sommes de retour dans le répertoire (racine du disque dur C) où nous avons commencé l'exercice.


5. Maintenant tapez :
cd . <ENTER>

6. Quel est le résultat de cette commande ? Expliquez pourquoi.

7. Nous pouvons revenir au répertoire John en utilisant le chemin relatif, tapez
cd .\John <ENTER>

Notez que ceci est le même que cd John <ENTER> .

8. Remonter d'un répertoire pour revenir en arrière, tapez
cd .. <ENTER>

Chemins absolus

Nous pouvons également utiliser des chemins absolus pour naviguer sur notre disque. Les chemins absolus commencent toujours à la racine d'un lecteur, dans notre cas C:\.

9.  Tapez
cd C:\John <ENTER>

10. Si nous voulons aller à la racine (Disque dur C), nous pouvons le faire en utilisant le chemin absolu, en tapant
cd \ <ENTER>

Pourquoi se préoccuper des chemins absolus et relatifs?

11. Retournez dans le répertoire nommé John. Vous pouvez choisir si vous voulez utiliser le chemin relatif ou absolu.

12. Tape
cd ..\Peter <ENTER>

13. Regardez l'invite et expliquez ce qu'a fait cette commande.

Les deux façons de changer de répertoire sont équivalentes. Pourquoi alors s'en préoccuper ? Eh bien, si vous déplacez vos fichiers qui sont organisés en répertoires et sous-répertoires vers un autre disque dur (par exemple le disque dur D), alors vos chemins absolus ne fonctionneront plus, tandis que vos chemins relatifs feront toujours référence aux mêmes emplacements. Ceci est particulièrement important lors de l'écriture de scripts, ce que nous ferons plus tard.

3.4. Supprimer des répertoires

Maintenant, nous allons supprimer le répertoire appelé Peter.

1. Remontez d'abord d'un répertoire, de façon à revenir à la racine du disque dur C. Tapez :
cd .. <ENTER>

2. Supprimez le répertoire Peter en tapant:
rd Peter <ENTER>

rd signifie supprimer le répertoire "remove directory"

3. Listez les répertoires pour vérifier si Peter a été supprimé.

Notez que vous ne pouvez supprimer un répertoire de cette façon que s'il est vide!

Si vous êtes perdu, vous pouvez utiliser la commande tree qui imprimera les sous-répertoires sous le répertoire actuel de manière graphique.

4. Tapez:

tree


4. Création et visualisation de fichiers

Dans ce chapitre, vous apprendrez à:

  • créer des fichiers texte
  • créer des fichiers batch
  • visualiser le contenu des fichiers
  • ajouter des fichiers

4.1. Création de fichiers

Vous pouvez évidemment créer des fichiers à l'aide de votre logiciel Windows, mais puisque vous apprenez l'invite de commande, vous allez apprendre à créer un simple fichier texte ASCII.

1. Taper:
copy con listdir.bat <ENTER>

dir /AD <ENTER>

<CTRL>-<Z> <ENTER>

(maintenez le bouton de ctrl enfoncé et tapez z)

Votre écran ressemblera à ceci:

2. Vérifiez si le fichier se trouve dans la liste des répertoires. Quelle est la taille du fichier?


4.2. Afficher le contenu des fichiers

Affichez maintenant le contenu du fichier à l'écran.

1. Tapez:
type listdir.bat <ENTER>


Avec la commande type, vous pouvez afficher le contenu d'un fichier.

2. Maintenant taper:
listdir <ENTER>


Félicitations ! Vous avez créé votre premier script, un fichier batch. Les fichiers batch sont des scripts qui peuvent être utilisés pour exécuter des commandes par lots. Dans ce cas, le fichier a exécuté dir /AD.
Comme les fichiers batch ont toujours l'extension .bat, l'ordinateur sait qu'il s'agit d'un fichier batch et exécute les commandes du fichier. Nous y reviendrons plus tard.

3. Créons un autre fichier. Tapez:
dir > list.txt <ENTER>

Cette commande n'affiche pas le résultat de la commandee dir à l'écran, mais l'enregistre dans un fichier ASCII (fichier texte) appelé list.txt. Nous pouvons donc utiliser > après une commande pour enregistrer ses résultats dans un fichier au lieu de les afficher à l'écran.

4. Vérifiez le contenu du fichier:
type list.txt <ENTER>

Vous constaterez que la liste est plus grande que votre écran.

5. Tapez:
type list.txt | more <ENTER>


Le résultat de list.txt est donné à la commande more qui affiche les résultats dans des pages aussi grandes que votre fenêtre. Appuyez sur <ENTER> pour voir la ligne suivante. Appuyez sur <BARRE ESPACE> pour voir la page suivante. Appuyez sur <CTRL-C> pour arrêter. Vous pouvez utiliser cette dernière combinaison de touches pour arrêter n'importe quelle commande si elle ne fait pas ce que vous voulez, si elle s'est plantée ou si elle prend trop de temps.

6. Tapez:
more <ENTER>

Rien ne se passe, car la commande more attend l'entrée d'une autre commande. So you can wait forever.Vous pouvez donc attendre indéfiniment. Dans ce cas, vous pouvez arrêter l'exécution de la commande more en utilisant <CTRL-C>.


7. Maintenant, essayez ceci :
type listdir.bat >> list.txt <ENTER>

8. Afficher le résultat:
type list.txt | more <ENTER>

9. Que s'est-il passé?

En résumé:

  • > enregistre le résultat d'une commande dans un nouveau fichier. Si le fichier à la droite de > existe déjà, il sera écrasé.
  • >> ajoute le résultat d'une commande à un fichier ASCII existant.
  • | utilise le résultat de la commande située à gauche dans la commande située à droite de |. Cela est appelé un conduit "pipe".
  • Utilisez <CTRL-C> pour arrêter l'exécution d'une commande.
Nous pouvons également utiliser ces opérateurs pour créer des fichiers dits de verrouillage. Ceux-ci sont utilisés dans les scripts. Le script va vérifier si un certain fichier existe. S'il existe, le programme attendra, s'il est supprimé, le programme continuera. Par conséquent, ces fichiers peuvent être vides. Vous pouvez créer un fichier de verrouillage avec : type NUL > lockfile.txt <ENTER>

5. Copier, déplacer, renommer & supprimer des fichiers

Dans ce chapitre, vous apprendrez à:

  • Copier des fichier
  • Déplacer des fichiers
  • Renommer des fichiers
  • Supprimer des fichiers

5.1. Copier des fichiers

1. Maintenant nous pouvons copier le fichier list.txt et créer un nouveau fichier avec en tapant:
copy list.txt newlist.txt <ENTER>

2. Vérifier si le fichier a été ajouté au répertoire

3. On peut combiner des fichiers texte avec la commande copy. Tapez:
copy list.txt+newlist.txt listappend.txt <ENTER>

4. Vérifiez le contenu du fichier listappend.txt.

5. Nous pouvons également copier list.txt dans le sous-répertoire John:
copy list.txt john\newlist2.txt <ENTER>

6. Allez dans le sous-répertoire John et vérifiez son contenu.



5.2. Déplacer et renommer des fichiers

A présent, nous allons déplacer newlist.txt dans le répertoire John.

1. Tout d'abord, retournez à la racine du disque dur C.

2. Tapez:
move newlist.txt John <ENTER>

3. Allez dans le sous-répertoire John et vérifiez la liste des répertoires.

4. Comme il est un peu déroutant d'avoir une copie de newlist.txt dans le sous-répertoire John, nous allons le renommer:
rename newlist.txt listjohn.txt <ENTER>

5. Vérifiez à nouveau la liste des répertoires.

6. Enregistrez la liste des répertoires dans un fichier appelé dirjohn.lst


5.3. Utiliser des caratcères de remplacement

1. Tapez:
dir <ENTER>

2. Tapez les commandes ci-dessous et observez les résultats:
dir *.txt <ENTER>
dir *john.* <ENTER>
dir *.??t <ENTER>
dir *.?xt <ENTER>

3. Expliquez les caractères de remplacement * et?


5.4. Supprimer des fichiers

Comme nous avons fait des copies, nous voulons supprimer le fichier en double.

1. Nous allons supprimer newlist2.txt:
del newlist2.txt <ENTER>

2. Vous pouvez maintenant supprimer tous les fichiers en tapant (Assurez-vous d'être dans le bon dossier car il n'y a pas d'annulation dans la ligne de commande !):
del *.* <ENTER>

(ou simplement: del . <ENTER>)

3. Supprimez maintenant le répertoire John (vous vous souvenez comment faire ?).


6. Historique de la ligne de commande

Il arrive que vous utilisez souvent la même commande. Il existe plusieurs astuces pour les taper plus efficacement.

Dans votre invite de commande Windows, Doskey est activé par défaut. Doskey est l'outil qui permet de suivre l'historique de la ligne de commande. L'émulateur que nous utilisons a quelques limitations et certaines des commandes ci-dessous peuvent ne pas fonctionner. Rappelez-vous que nous l'avions activé au Chapitre 2 de ce tutoriel.

Testons s'il se souvient des commandes que nous tapons à partir de maintenant.

1. Tapez la touche <F3>.

Cela répète la dernière commande utilisée.

2. Effacez l'invite de commande et appuyez plusieurs fois sur la touche flèche droite. Vous pouvez voir que les caractères de la commande précédente sont répétés. Si vous appuyez sur les touches haut et bas, vous pouvez parcourir la commande précédemment utilisée.

Lorsque vous utilisez <TAB> pendant que vous tapez un chemin ou un nom de fichier, il essaiera de le compléter automatiquement. Ceci est très utile, car vous évitez les fautes de frappe. Dans l'émulateur, cela ne fonctionne pas, mais dans votre propre invite de commande, vous pouvez l'utiliser, donc ne tapez pas les noms de fichiers et de répertoires complets, mais utilisez la complétion par tabulation.


Avec la commande Doskey, nous pouvons faire encore plus.

3. Tapez:
doskey /h <ENTER>

Cela affiche à l'écran toutes les commandes que vous avez tapées pendant cette session.

Si vous fermez l'invite de commande, l'historique des commandes sera perdu.

4. Enregistrez l'historique des commandes dans un fichier texte en utilisant l'une des commandes apprises précédemment.

De cette façon, vous pouvez modifier le fichier d'historique des commandes dans Notepad, par exemple. Si vous supprimez toutes les mauvaises commandes et que vous enregistrez le fichier avec l'extension .bat, vous pouvez exécuter toutes les commandes par lots.

5. Essayez ceci pour quelques-unes des commandes que vous avez apprises jusqu'à présent.

Vous pouvez fermer une invite de commande soit en cliquant sur la croix dans le coin, en tapant exit et en appuyant sur la touche Enter, soit en choisissant Close (fermer) lors d'un clic droit sur l'icône de l'invite de commande dans la barre des tâches.

Pour l'émulateur, vous pouvez simplement fermer le navigateur (onglet).


7. Conclusion

Dans cette leçon, vous avez appris à:
  1. Utiliser l'invite de commande et les commandes les plus courantes
  2. Naviguer vers des fichiers et des répertoires et utiliser leurs chemins relatifs et absolus
  3. Créer des fichiers batch
Regardez cette vidéo pour voir les résultats des exercices: