Passer au contenu principal

Tutoriel: Introduction à la Ligne de Commande

Site: OpenCourseWare for GIS
Cours: Programmation pour les applications hydrologiques géospatiales
Livre: Tutoriel: Introduction à la Ligne de Commande
Imprimé par: Guest user
Date: vendredi 26 avril 2024, 14:13

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émarrez l'émulateur DOS en ligne si vous ne l'avez pas encore fait.

C:\> est appelé l'invite de commande. Il montre votre répertoire de travail actuel (sous Windows, cela s'appelle un dossier). Dans ce cas, cela signifie que vous êtes sur le C (qui s'appelle la racine). Vous ne pouvez pas supprimer ou modifier l'invite de commande. Vous devrez 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é une commande, appuyez sur la touche <ENTER> pour exécuter la commande.

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

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

Nous afficherons le contenu d'un répertoire en utilisant la commande dir. La commande dir signifie "répertoire".

2. Tapez la commande suivante après l'invite:

dir <ENTER>

Vous verrez ceci:


C'est ce qu'on appelle une liste de répertoires. Une liste de répertoires est une liste de tous les fichiers et sous-répertoires contenus dans un répertoire. Si vous tapez dir /? you will see all options of the dir command. vous verrez toutes les options de la commande dir. Par exemple, si vous tapez dir /w, vous verrez la liste des répertoires dans les colonnes.

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

3. Lecteurs et Répertoires

Dans ce chapitre, vous apprendrez:

  • comment changer de lecteurs

  • comment créer des répertoires


3.1. Changement de Lecteurs

Si vous avez différents disques durs ou partitions, vous pourriez avoir besoin de passer à un autre disque. Si vous êtes sur le lecteur C et que vous souhaitez passer au lecteur D, vous pouvez taper:

d:

à l'invite et appuyez 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. Cependant, dans ces exercices avec l'émulateur DOS en ligne, nous utiliserons uniquement le lecteur C puisqu´il n'a pas d'autres lecteurs.

3.2. Création de Répertories

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


Regardez la liste sur votre écran. Tous les noms qui ont <DIR> à côté d'eux sont des répertoires. Les autres sont des fichiers. La taille des fichiers est également affichée. Vous pouvez voir une liste des fichiers dans un autre répertoire en accédant à 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 le répertoire a été créé en listant les répertoires:

3. Tapez dir <ENTER>


Vous pouvez voir que les deux sous-répertoires ont été créés sur le disk dur C.

4. Tapez dir /AD <ENTER>

Cela listera uniquement les répertoires et non les fichiers:



3.3. Changer de répertoire

1. Allez maintenant dans le répertoire nouvellement créé "John" en tapant:
cd John <Enter>

cd signifie "changer de répertoire". Vous pouvez voir que l'invite de commande est devenue C:\JOHN

Notez que DOS n'est pas sensible à la casse (il interprète les majuscules et les minuscules de la même manière), vous pourriez donc également avoir tapé cd john.

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

Chemins d'accès relatifs

Vous verrez maintenant que le répertoire n'est pas vide. Il existe deux répertoires, à savoir . et ..

En fait, le répertoire est vide, mais il montre également les chemins d´accès relatifs:

 . signifie "répertoire courant"

..signifie "répertoire mère (ou un répertoire en haut)"

3. Tapez

cd .. <ENTER>

4. Vérifiez l'invite de commande.

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


5. Tapez maintenant:
cd . <ENTER>

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

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

Notez que c'est la même chose que cd John <ENTER> .

8. Remontez 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 partent toujours de la racine d'un lecteur, dans notre cas C:\.

9.  Tapez
cd C:\John <ENTER>

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

Pourqui se soucier des chemins absolus et relatifs?

11. Revenez au répertoire appelé John. Vous pouvez choisir si vous souhaitez utiliser le chemin relatif ou absolu

12. Tapez
cd ..\Peter <ENTER>

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

Les deux façons de changer de répertoire sont équivalentes. Pourquoi y attacher un intérêt particulier? Eh bien, si vous déplacez vos fichiers qui sont organisés en répertoires et sous-répertoires vers un autre lecteur (par exemple le lecteur D), vos chemins absolus ne fonctionneront pas, 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

Nous allons maintenant supprimer le répertoire appelé Peter.

1. Changer de répertoire vers le haut, de manière à retourner à la racine du lecteur C-Drive. Taper:
cd .. <ENTER>

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

rd signifie "supprimer le répertoire".

3. Faites la liste des répertoires pour vérifier si Peter a été supprimé.

Notez que vous ne pouvez supprimer un répertoire de cette manière que s'il est vide!

4. Création et visualisation de fichiers

Dans ce chapitre, vous apprendrez:

  • Comment créer des fichiers texte
  • Comment créer des fichiers batch (lot)
  • Comment visualiser le contenu des fichiers
  • Comment ajouter des fichiers

4.1. Création de fichiers

Bien sûr, vous pouvez créer des fichiers à l'aide de votre logiciel Windows, mais puisque vous apprenez l'invite de commande, vous apprendrez à créer un simple fichier texte ASCII.

1. Tapez:

copy con listdir.bat <ENTER>

dir /AD <ENTER>

<CTRL>-<Z>

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

Votre écran ressemble à ceci:

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

4.2. Afficher les contenus 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. Tapez maintenant:

listdir <ENTER>


Toutes nos 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.
Étant donné que les fichiers de commandes ont toujours l'extension de fichier .bat, l'ordinateur sait qu'il s'agit d'un fichier de commandes et exécutera les commandes du fichier. Nous y reviendrons plus tard.

3. Créons un autre fichier. Taper:

dir > list.txt <ENTER>

Cette commande n'affiche pas le résultat de la commande 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 imprimer à l'écran.

4. Vérifiez le contenu du fichier:

type list.txt <ENTER>

Vous pouvez voir 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 la barre d´espace <SPACE BAR> 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, par exemple si elle plante ou si son exécution prend trop de temps.

6. Tapez:

more <ENTER>

Rien ne se passe, car la commande more attend l'entrée d'une autre commande. 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. Affichez le résultat:

type list.txt | more <ENTER>

Que s'est-il passé?

En résumé:

  • > enregistre le résultat d'une commande dans un nouveau fichier. Si le fichier à droite de > existe déjà, il sera écrasé.
  • >> ajoute le résultat d'une commande à un fichier ASCII existant.
  • | passe le résultat de la commande sur le côté gauche de la commande au côté droit de |. C'est ce qu'on appelle une 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 (lock files). Ceux-ci sont utilisés dans les scripts. Le script vérifiera si un certain fichier existe. S'il existe, le programme attendra, s'il est supprimé, le programme continue. 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 fichiers
  • Déplacer des fichiers
  • Renommer les fichiers
  • Supprimer les fichiers

5.1. Copier des fichiers

1. Maintenant, nous pouvons copier le fichier list.txt dans un nouveau fichier en tapant:
copy list.txt newlist.txt <ENTER>

2. Vérifiez si le fichier est ajouté au répertoire.

3. Nous pouvons ajouter des fichiers texte avec la commande copier. Taper:
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. Accédez au sous-répertoire John et vérifiez le contenu du sous-répertoire.

5.2. Déplacer et renommer des fichiers

Nous allons maintenant déplacer newlist.txt vers le répertoire John.

1. Revenez d'abord à la racine du lecteur C.

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

3. Accédez au sous-répertoire John et vérifiez la liste des répertoires.

4. Puisqu´avoir une copie de newlist.txt dans le sous-répertoire John prête à confusion, 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 métacaractères

1. Taper:
dir <ENTER>

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

3. Expliquer les fonctions des * et ?

5.4. Supprimer des fichiers

Parce que nous avons fait des copies, nous voulons supprimer les fichiers qui existent en double exemplaire.

1. Nous supprimerons newlist2.txt:
del newlist2.txt <ENTER>

2. Vous pouvez maintenant supprimer tous les fichiers en tapant (Assurez-vous que vous êtes dans le bon dossier, 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 rappelez-vous de la procédure?).

6. Ligne de commande d’historique

Parfois, 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 suit l'historique de la ligne de commande. L'émulateur que nous utilisons a certaines 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 le bouton <F3>.

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

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

Lorsque vous utilisez <TAB> en tapant 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, alors ne tapez pas le nom complet du fichier et du répertoire, mais utilisez la complétion par tabulation.

Avec la commande doskey, nous pouvons faire encore plus.

3. Tapez:

doskey /h <ENTER>

Cela imprime toutes les commandes que vous avez tapées au cours de cette session à l'écran.

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

4. Enregistrez l'historique des commandes dans un fichier texte à l'aide de l'une des commandes apprises précédemment.

De cette façon, vous pouvez éditer le fichier d'historique des commandes à l´aide par ex. de Notepad. 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 en cliquant sur la croix dans le coin, en tapant exit et en appuyant sur <ENTER>, ou en choisissant fermer Close lorsque vous cliquez avec le bouton droit de votre souris sur l'icône d'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: