Travail sur la ligne de commande¶
ou comment interagir avec le système d'exploitation sans utiliser son interface graphique!
Une interface graphique qui a fait le succès de microsoft¶
Microsoft est l'entreprise qui a développé les premiers systèmes d'exploitation proposant une interface graphique au début des années 1990. Avant cette date, il fallait possèder des connaissances techniques pour exploiter les ressources d'un ordinateur. Les systèmes Windows (95, NT, XP, ...) ont démocratisé l'utilisation des machines au point où tout le monde pouvait maintenant s'en acheter une pour son utilisation personnelle: c'est le début de l'ère des PC(personal computer).
L'interface graphique proposée par les systèmes Windows est simple: il suffit de cliquer sur des icônes présentes sur le bureau pour lancer un programme!
En revanche, on ne peut pas faire ce qui n'a pas été prévu: des tâches d'administration par exemple...
Passez la commande!¶
On peut commander le système d'exploitation en utilisant des commandes ou des script. Pour cela, il faut passer en ligne de commande....
Exo
- Tapez windows + R puis
cmd
dans la fenêtre qui s'ouvre - Vous devez obtenir quelque chose qui ressemble à ça: c'est l'invite de commande ou le prompt!
- Tapez
dir
puis la touche Entree. À quoi sert cette instruction?
Exo
- Tapez la commande
dir /?
dans le prompt. À quoi sert-elle? - Affichez l'aide de la commande
copy
Arborescence des systèmes Windows¶
Lecteurs¶
Sous Windows, les différentes partitions du disque dur sont identifiées par des lettres majuscules:
- historiquement, la partition
système
contenant le système d'exploitation est C: - une bonne installation partitionne le disque dur en au moins deux lecteurs: un pour le système , l'autre pour les données. En cas de panne du système, on peut tout de même accèder aux données même si il faut formater la partition système.
- d'autres lecteurs( E:,F:,..) peuvent exister: lecteurs réseaux ou simplement une clé USB.
Exo
- Ouvrez l'explorateur de documents de votre ordinateur(combinaison windows + E).
- Nommez les différents lecteurs que vous pouvez oberver
Organisation des dossiers et des fichiers¶
Les partitions contiennent des dossiers (ou répertoires) et des fichiers. Les dossiers peuvent aussi contenir des dossiers appelés sous-dossiers, qui contiennent eux-mêmes des dossiers et/ou des fichiers...
Selon vos droits attribués lorsque vous vous identifiez( loggez), vous avez diverses autorisations sur ces fichiers ou dossiers:
- droit de lecture, vous pouvez lire sans modifier le contenu.
- droit d'écriture, vous pouvez lire et modifier le contenu.
- aucun droit, le dossier ou le fichier existe mais vous ne pouvez même pas le voir!
D'autres droits existent que nous ne développerons pas ici.
Exo
Quels droits avez-vous sur les lecteurs de votre ordinateur?
Chemin absolu et relatif¶
Pour désigner ou pointer vers une ressource(fichier ou dossier), on utilise son chemin. Il peut être:
- absolu: le chemin commence par la lettre de la partition et donne le nom de tous les dossiers qu'il faut traverser pour arriver à la ressource. Par exemple, le chemin absolu de ce fichier est:
C:\Users\Utilisateur\tpbash\docs\index_tpbash.md
- relatif: le chemin identifie le chemin à partir du répertoire courant. Par exemple, les images de cette page sont stockées dans un dossier
img
et le chemin qui pointe vers l'image ci-dessous qui se nommechemin.png
est\img\chemin.png
:
Naviguer dans l'arborescence en ligne de commandes¶
Des commandes de bases¶
dir
affiche le contenu du répertoire courant. Pour connaître les options de cette commande , vous pouvez taperdir /?
pour afficher l'aide!cd nom_du_dossier
(change directory) permet de se déplacer dans le dossiernom_du_dossier
si il existe!cd..
permet de remonter d'un niveau dans l'arborescence.mkdir
(make directory) crée un nouveau dossier dans le répertoire courant!copy
copie des fichiers ou des dossiers de la source vers la destination (tapezcopy /?
pour plus d'infos...)del
(delete) efface le fichier passé en argument...
Le caractère * , appelé joker, remplace n'importe quel texte dans le nom d'un fichier. Par exemple, la commande:
copy *.txt C:\backup
.txt
dans le dossier backup
situé à la racine du lecteur C.
Exo
- Ouvrez l'invite de commande.
- Dans le dossier
Mes documents
, créer un dossiertest
et un dossierbackup
(commandemkdir
). - Allez ensuite dans ce dossier
test
avec la commandecd
. - Tapez la commande
notepad coucou.txt
. Normalement, le bloc notes s'ouvre avec un avertissement. Confirmez votre volonté de créer ce fichier et mettez y le contenu de votre choix. - Fermez
notepad
par la combinaison de touches Alt+F4 - Vérifier que le fichier
coucou.txt
existe bien dans le dossier test(commandedir
). - En ligne de commande, avec les instructions ci-dessus, copier ce fichier dans le dossier
backup
et vérifier que la copie a fonctionné! Attention les instructions changent en fonction du dossier dans lequel vous lancez l'instruction!
Les variables d'environnement¶
Comment dans la manipulation précédente, l'exécutable de notepad
a t-il pu être lancé? Son seul appel suffit-il ? Bizarre...
Exo
En ligne de commande, tapez firefox
. Que se passe t-il?
Les variables d'environnement sont des variables qui peuvent être appelées partout par tous les programmes. Elles stockent des informations considérées importantes commme:
- le nom de l'ordinateur, de l'utilisateur
- le chemin du répertoire
TEMP
contenant les fichiers temporaires - la variable
PATH
contient le chemin d'exécutables(un programme en fait...) qui peuvent être appelés partout dans les programmes
Exo
- Ouvrez l'invite de commande.
- Tapez
PATH
et observez les chemins proposés - Tapez
echo %USERNAME%
, pour afficher la valeur de la variableUSERNAME
Les fichiers de commande(.bat)¶
On souhaite souvent exécuter les mêmes tâches en ligne de commande. On peut alors regrouper les commandes dans un fichier qui sera directement lu par le système DOS
: ce sont par exemple, les fichiers dont l'extension est .bat
Création
- En ligne de commande tapez:
echo Nous sommes le %date%, il est %time%
- Ouvrez le bloc notes en tapant la commande
notepad
( si elle est aupath
...) puis copiez les instructions :Bash@echo off echo Nous sommes le %date%, il est %time% pause
- Sauvegardez le fichier sous le nom
dateheure
avec l'extension.bat
. Vous devriez voir apparaître un engrenage dans l'icône décrivant le fichier: - Exécutez alors ce fichier par un double-clic. Que se passe t-il?
- Modifier le fichier en ajoutant une ligne avec l'instruction
pause
. Sauvegardez et exécutez à nouveau le fichier.
Affichage personnalisée
La commande dir
sans argument permet d'afficher le contenu du dossier dans lequel elle est lancée. Nous allons créer ici un script affiche.bat
qui prend en argument une extension de fichier (pdf, doc, txt, ...) et affiche les fichiers de cette extension contenu dans le dossier dans lequel il est exécuté.
- Recopier les lignes suivantes dans un fichier que vous sauvegarderez à la racine du disque système sous le nom
affiche.bat
.Bash@echo off cls IF EXIST *.%1 ( dir *.%1 ) ELSE ( ECHO pas de fichier de ce type ) pause
- Commenter ces instructions avec la commande
rem
. - Ouvrez la ligne de commande et tapez:
Bash
C:\>affiche txt
- Modifier le script précédent en ajoutant la source dans laquelle vous souhaitez afficher les fichiers.Il faudra pour cela créer un nouveau paramètre...
Affichage des données de votre PC
Enregistrez le fichier suivant sous le nom info.bat
puis exécutez-le.
@echo off
title Advanced System Information*
color 0a
cls
echo Advanced System Information
echo ==========================
echo.
:: Affichage des informations du système
systeminfo | find "OS Name"
systeminfo | find "OS Version"
systeminfo | find "System Manufacturer"
systeminfo | find "System Model"
:: Informations sur le processeur
echo.
echo Processor Information:
wmic cpu get caption
wmic cpu get maxclockspeed
:: Informations sur la mémoire
echo.
echo Memory Information:
wmic memorychip get capacity
wmic memorychip get speed
:: Informations sur le disque dur
echo.
echo Hard Drive Information:
wmic diskdrive get caption
wmic diskdrive get size
:: Affichage des informations réseau
echo.
echo Network Information:
ipconfig | find "IPv4 Address"
:: Informations sur les utilisateurs connectés
echo.
echo Logged-In Users:
query user
:: Informations sur la batterie (si un ordinateur portable)
echo.
echo Battery Information:
wmic path Win32_Battery get EstimatedChargeRemaining
:: Attendre avant de fermer la console
pause
Création de script de sauvegarde
Vous avez téléchargé un tas de fichier depuis le navigateur de votre ordinateur. Écrire un script qui lorsque vous l'exécutez effectue une copie des fichiers pdf
nouvellement téléchargés vers un dossier sauvegardepdf
contenu dans le dossier Mes Documents
. Ce script sera lancé depuis le dossier script
situé à la racine du disque C
et portera le nom de explicite de votre choix.