Enseignement de l'informatique et du numérique au lycée Boissy d'Anglas https://icn-isn-boissy.yj.fr/wp/2020/01/09/linux-les-commandes-de-base-en-ligne-de-commande/ Export date: Sat May 18 10:01:58 2024 / +0000 GMT |
Linux : les commandes de base en ligne de commandeÀ la "préhistoire" des systèmes d'exploitation, ces derniers étaient dépourvus d'interface graphique (système de fenêtres "pilotables" à la souris), toutes les interactions "système d'exploitation - utilisateur" se faisaient par l'intermédiaire de "lignes de commandes" (suites de caractères, souvent ésotériques, saisies par l'utilisateur). Aujourd'hui, même si les interfaces graphiques modernes permettent d'effectuer la plupart des opérations, il est important de connaitre quelques-unes de ces lignes de commandes. Nous allons utiliser une clé Freeduc-JBART 1, cette clé est basée sur Debian-Live , ce qui nous permettra de travailler sous Linux . Pour saisir des lignes de commandes, nous allons utiliser une console (aussi appelé terminal même si ce n'est pas exactement la même chose). À faire vous-même 1Après avoir démarrer sur votre clé Freeduc-JBART Ouvrez une console, vous devriez avoir quelque chose qui ressemble à cela : console système GNU/Linux Nous avons ci-dessus la console de l'utilisateur "david" qui utilise un ordinateur qui se nomme "PC-Bureau" ("david@PC-Bureau"). Principalement nous allons, grâce à la ligne de commande, travailler sur les fichiers et les répertoires. Dans les systèmes de type "UNIX" (par exemple GNU/Linux ou macOS), nous avons un système de fichier en arborescence : système de fichiers Dans le schéma ci-dessus on trouve des répertoires (noms entourés d'un rectangle, exemple : "home") et des fichiers (uniquement des noms "grub.cfg"). À noter : les extensions des noms de fichiers, par exemple le "cfg" de "grub.cfg", ne sont pas obligatoires dans les systèmes de type "UNIX", par exemple, "bash" est bien un nom de fichier et il n'a pas d'extension. On parle d'arborescence, car ce système de fichier ressemble à un arbre à l'envers. Comme vous pouvez le constater, la base de l'arbre s'appelle la racine de l'arborescence et se représente par un "/" Chemin absolu ou chemin relatif ?Pour indiquer la position d'un fichier (ou d'un répertoire) dans l'arborescence, il existe 2 méthodes : indiquer un chemin absolu ou indiquer un chemin relatif. Le chemin absolu doit indiquer "le chemin" depuis la racine. Par exemple le chemin absolu du fichier fiche.ods sera : /home/elsa/documents/fiche.ods Remarquez que nous démarrons bien de la racine / (attention les symboles de séparation sont aussi des /) Il est possible d'indiquer le chemin non pas depuis la racine, mais depuis un répertoire quelconque, nous parlerons alors de chemin relatif : Le chemin relatif permettant d'accéder au fichier "photo_1.jpg" depuis le répertoire "max" est : "images/photo_vac/photo_1.jpg" Remarquez l'absence du / au début du chemin (c'est cela qui nous permettra de distinguer un chemin relatif et un chemin absolu). Imaginons maintenant que nous désirions indiquer le chemin relatif pour accéder au fichier "gdbd_3.jpg" depuis le répertoire "photos_vac". Comment faire ? Il faut "remonter" d'un "niveau" dans l'arborescence pour se retrouver dans le répertoire "images" et ainsi pouvoir repartir vers la bonne "branche". Pour ce faire il faut utiliser 2 points : .. "../ski/gdbd_3.jpg" Il est tout à fait possible de remonter de plusieurs "crans" : "../../" depuis le répertoire "photos_vac" permet de "remonter" dans le répertoire "max" À faire vous-même 2En vous basant sur l'arborescence ci-dessus, déterminez le chemin absolu permettant d'accéder au fichier :
Toujours en vous basant sur l'arborescence ci-dessus, déterminez le chemin relatif permettant d'accéder au fichier :
Comme déjà évoqué plus haut, les systèmes de type "UNIX" sont des systèmes "multi-utilisateurs" : chaque utilisateur possède son propre compte. Chaque utilisateur possède un répertoire à son nom, ces répertoires personnels se situent traditionnellement dans le répertoire "home". Dans l'arborescence ci-dessus, nous avons 2 utilisateurs : "max" et "elsa". Par défaut, quand un utilisateur ouvre une console, il se trouve dans son répertoire personnel. Dans l'image de la console ci-dessus, nous avons un "david@PC-Bureau ~ $" (au passage, on appelle cela "l'invite de commande"), le "~" (caractère "tilde") signifie que l'on se trouve actuellement dans le répertoire personnel de l'utilisateur courant, autrement dit dans le répertoire de chemin absolu "/home/david" (puisque l'utilisateur courant est "david"). Le répertoire "où l'on se trouve actuellement" est appelé "répertoire courant". L'invite de commande vous indique à tout moment le répertoire courant : "david@PC-Bureau ~/Documents $" vous indique que vous êtes dans le répertoire "Documents" qui se trouve dans le répertoire "david" qui se trouve dans le répertoire "home" (chemin absolu : "/home/david/Documents") Attention : les systèmes de type "UNIX" sont "sensibles à la casse" (il faut différencier les caractères majuscules et les caractères minuscules) : le répertoire "Documents" et le répertoire "documents" sont 2 répertoires différents. La commande cdSignification : list La commande "cd" permet de changer le répertoire courant. Il suffit d'indiquer le chemin (relatif ou absolu) qui permet d'atteindre le nouveau répertoire : Par exemple (en utilisant l'arborescence ci-dessus) :
À faire vous-même 3Toujours en utilisant l'arborescence ci-dessus, quelle est la commande à saisir si le répertoire courant est le répertoire "home" et que vous "voulez vous rendre" dans le répertoire "boulot" (vous utiliserez d'abord un chemin absolu puis un chemin relatif) La commande lsSignification : list La commande "ls" permet de lister le contenu du répertoire courant. Dans l'exemple ci-dessus, depuis le répertoire personnel de l'utilisateur "david", nous passons dans le répertoire "nsi" à l'aide d'un "cd nsi", puis nous affichons le contenu de ce répertoire "nsi" à l'aide de la commande "ls". Nous trouvons dans le répertoire "nsi" : 2 fichiers ("fiche1.odt" et "photo.jpg") et un répertoire ("test"). À faire vous-même 4Après avoir ouvert une console, utilisez la commande ls depuis votre répertoire personnel. La commande "mkdir"Signification : make directory La commande "mkdir" permet de créer un répertoire dans le répertoire courant. La commande est de la forme "mkdir nom_du_répertoire" Remarque : il est préférable de ne pas utiliser de caractères accentués dans les noms de répertoire (ou de fichier). Il en est de même pour les espaces (à remplacer par des caractères tirets bas "_") La commande manSignification : manual Affiche les pages du manuel système.
'q' pour quitter. À faire vous-même 5Après avoir ouvert une console, utilisez la commande "mkdir" afin de créer un répertoire "test_nsi" dans votre répertoire personnel. La commande "rm"Signification : remove La commande "rm" permet de supprimer un fichier ou un répertoire. La commande est de la forme "rm nom_du_répertoire_ou_nom_du_fichier" La plupart des commandes UNIX peuvent être utilisées avec une ou des options. Par exemple, pour supprimer un répertoire non vide, il est nécessaire d'utiliser la commande "rm" avec l'option "-r" : "rm -r nom_du_répertoire" Attention si vous utilisez la commande "rm *" cela supprime tous les fichiers présent dans le répertoire courant. A noter que pour afficher le répertoire courant il existe une fonction "pwd", même s'il est spécifié sur le terminal en bleu... La commande "touch"
La commande "touch" permet de créer un fichier vide. La commande est de la forme "touch nom_du_fichier_à_créer" La commande "cp"Signification : copy La commande "cp" permet de copier un fichier. La commande est de la forme "cp /répertoire_source/nom_fichier_à_copier /répertoire_destination/nom_fichier" À noter : le nom du fichier "destination" n'est pas obligatoirement le même que le nom du fichier "source" (on peut avoir "cp fic.txt info/fiche.txt") La commande "mv"Signification : move la commande "mv" permet de déplacer ou renommer des fichiers et des répertoires Options les plus fréquentes :
Exemples d'utilisation :
À faire vous-même 6Placez-vous dans le répertoire "test_nsi" créé au "À faire vous-même 5". Créez un fichier "test.txt" avec du texte à l'intérieur. Saisir la commande "cat test.txt" que se passe t'il? Créez un répertoire "doc". Copiez le fichier "test.txt" dans le répertoire "doc". Effacez le répertoire doc (et son contenu). Gestion des utilisateurs et des groupesLes systèmes de type "UNIX" sont des systèmes multi-utilisateurs, plusieurs utilisateurs peuvent donc partager un même ordinateur, chaque utilisateur possédant un environnement de travail qui lui est propre. Chaque utilisateur possède certains droits lui permettant d'effectuer certaines opérations et pas d'autres. Le système d'exploitation permet de gérer ces droits très finement. Un utilisateur un peu particulier est autorisé à modifier tous les droits : ce "super utilisateur" est appelé "administrateur" ou "root". L'administrateur pourra donc attribuer ou retirer des droits aux autres utilisateurs. Au lieu de gérer les utilisateurs un par un, il est possible de créer des groupes d'utilisateurs. L'administrateur attribue des droits à un groupe au lieu d'attribuer des droits particuliers à chaque utilisateur. Comme nous venons de le voir, chaque utilisateur possède des droits qui lui ont été octroyés par le "super utilisateur". Nous nous intéresserons ici uniquement aux droits liés aux fichiers, mais vous devez savoir qu'il existe d'autres droits liés aux autres éléments du système d'exploitation ((imprimante, installation de logiciels...). Les fichiers et les répertoires possèdent 3 types de droits :
Il existe 3 types d'utilisateurs pour un fichier ou un répertoire :
Il est possible d'utiliser la commande "ls" avec l'option "-l" afin d'avoir des informations supplémentaires. Prenons la première ligne :
Lisons cette ligne de gauche à droite :
Prenons la deuxième ligne :
Lisons cette ligne de gauche à droite :
À faire vous-même 7Analysez la 3e ligne du résultat de la commande "ls -l" ci-dessus Il est important de ne pas perdre de vu que l'utilisateur "root" a la possibilité de modifier les droits de tous les utilisateurs. Le propriétaire d'un fichier peut modifier les permissions d'un fichier ou d'un répertoire à l'aide de la commande "chmod". Pour utiliser cette commande, il est nécessaire de connaitre certains symboles :
La commande "chmod" à cette forme :
par exemple
attribuera la permission "écriture" pour le fichier "toto.txt" "aux autres utilisateurs" Il est possible de combiner les symboles :
La commande "chmod" ci-dessus permet de supprimer la permission "écriture" et la permission "exécution" pour le fichier "toto.txt" "au groupe lié au fichier" Une fois de plus, "root" a tous les droits sur l'ensemble des fichiers et des répertoires, il peut donc utiliser la commande "chmod" sur tous les répertoires et tous les fichiers. À faire vous-même 8Analysez attentivement l'enchainement de commandes suivantes : À faire vous-même 9Créez un répertoire "test_nsi2" dans votre répertoire personnel. Placez-vous dans le répertoire "test_nsi2". Créez un fichier "titi.txt", vérifiez les permissions associées à ce fichier. Modifiez les permissions associées au fichier "titi.txt" afin que les "autres utilisateurs" aient la permission "écriture"
Retrouver toutes les commandes ici : documentation Ubuntu console de commande 2 |
Links:
|
Post date: 2020-01-09 17:19:57 Post date GMT: 2020-01-09 16:19:57 Post modified date: 2020-09-16 11:05:39 Post modified date GMT: 2020-09-16 09:05:39 |
Export date: Sat May 18 10:01:58 2024 / +0000 GMT This page was exported from Enseignement de l'informatique et du numérique au lycée Boissy d'Anglas [ https://icn-isn-boissy.yj.fr/wp ] Export of Post and Page has been powered by [ Universal Post Manager ] plugin from www.ProfProjects.com |