Linux : les commandes de base en ligne de commande
Architectures matérielles et systèmes d'exploitation · Cours issu de pixees.fr/informatiquelycee
À la « préhistoire » des systèmes d'exploitation, toutes les interactions se faisaient par l'intermédiaire de lignes de commandes : des suites de caractères saisies au clavier. Aujourd'hui, même si les interfaces graphiques permettent d'effectuer la plupart des opérations, il est important de connaître quelques-unes de ces commandes.
Pour saisir des lignes de commandes, on utilise une console (aussi appelée terminal). L'invite de commande ressemble à :
Ouvrez une console sur votre système. Identifiez l'invite de commande : elle affiche le nom de l'utilisateur, le nom de la machine et le répertoire courant.
Le système de fichiers en arborescence
Dans les systèmes de type UNIX (GNU/Linux, macOS), les fichiers sont organisés en arborescence. La base de l'arbre s'appelle la racine et se représente par /.
On y trouve des répertoires (dossiers, encadrés ci-dessous) et des fichiers (sans cadre). Contrairement à Windows, les extensions de fichiers ne sont pas obligatoires sous Linux.
Chemin absolu ou chemin relatif ?
Pour indiquer la position d'un fichier dans l'arborescence, il existe deux méthodes :
| Type | Définition | Exemple |
|---|---|---|
| Chemin absolu | Chemin depuis la racine / | /home/elsa/documents/fiche.ods |
| Chemin relatif | Chemin depuis le répertoire courant (pas de / au début) | images/photo_vac/photo_1.jpg |
En vous basant sur une arborescence type, déterminez :
- Le chemin absolu du fichier cat et du fichier rapport.odt
- Le chemin relatif vers rapport.odt depuis le répertoire elsa
- Le chemin relatif vers fiche.ods depuis le répertoire boulot
Les commandes essentielles
cd — Changer de répertoire
La commande cd (change directory) permet de se déplacer dans l'arborescence.
# chemin relatif : se déplace dans "documents" depuis le répertoire courant
david@PC-Bureau:~/documents$ cd /home/elsa/documents
# chemin absolu : même destination, depuis n'importe où
david@PC-Bureau:~/documents$ cd ..
# remonte d'un niveau
david@PC-Bureau:~$ cd
# retour direct au répertoire personnel (~)
Depuis le répertoire home, quelle commande permet d'aller dans le répertoire boulot ? Écrivez d'abord la version avec chemin absolu, puis avec chemin relatif.
ls — Lister le contenu d'un répertoire
La commande ls affiche la liste des fichiers et sous-répertoires du répertoire courant.
david@PC-Bureau:~/nsi$ ls
fiche1.odt photo.jpg test/
Ouvrez une console et utilisez la commande ls depuis votre répertoire personnel. Identifiez les fichiers et les répertoires présents.
pwd — Afficher le répertoire courant
La commande pwd (print working directory) affiche le chemin absolu du répertoire où vous vous trouvez.
/home/david/nsi
Ouvrez une console et utilisez pwd pour vérifier dans quel répertoire vous vous trouvez.
mkdir — Créer un répertoire
La commande mkdir (make directory) crée un nouveau répertoire dans le répertoire courant.
david@PC-Bureau:~$ ls
mon_dossier/
Créez un répertoire nommé test_nsi dans votre répertoire personnel avec la commande mkdir.
touch — Créer un fichier vide
La commande touch crée un fichier vide.
david@PC-Bureau:~$ ls
mon_fichier.txt
cat — Afficher le contenu d'un fichier
La commande cat affiche dans la console le contenu d'un fichier texte.
coucou
cp — Copier un fichier
La commande cp copie un fichier d'un emplacement vers un autre. Le nom du fichier de destination peut être différent de celui de la source.
# copie fic.txt dans le répertoire info/
david@PC-Bureau:~$ cp fic.txt info/fiche.txt
# copie et renomme en même temps
rm — Supprimer un fichier ou un répertoire
La commande rm supprime un fichier. Pour supprimer un répertoire et tout son contenu, on utilise l'option -r.
# supprime un fichier
david@PC-Bureau:~$ rm -r mon_dossier
# supprime un répertoire et tout son contenu
- Placez-vous dans le répertoire test_nsi créé précédemment
- Créez un fichier test.txt avec touch
- Créez un répertoire doc avec mkdir
- Copiez test.txt dans doc avec cp
- Supprimez le répertoire doc et son contenu avec rm -r
mv — Déplacer un fichier
La commande mv (move) permet de déplacer un fichier dans un autre répertoire. Attention : il s'agit d'un déplacement, pas d'une copie — le fichier d'origine disparaît.
# déplace toto.txt dans le répertoire titi/
man — Obtenir de l'aide sur une commande
La commande man affiche le manuel d'utilisation d'une autre commande. Très utile pour découvrir toutes les options disponibles.
# affiche la documentation complète de la commande ls
# appuyer sur q pour quitter
Gestion des utilisateurs et des droits
Les systèmes de type UNIX sont des systèmes multi-utilisateurs : plusieurs personnes peuvent partager le même ordinateur, chacune avec son propre environnement de travail et ses propres droits.
Un utilisateur particulier possède tous les droits sur le système : c'est le super utilisateur, appelé root ou administrateur. Il peut attribuer ou retirer des droits aux autres utilisateurs. Pour simplifier la gestion, il est aussi possible de créer des groupes d'utilisateurs et d'attribuer des droits à un groupe entier.
Les 3 types de droits
Chaque fichier ou répertoire possède trois types de droits :
| Symbole | Droit | Signification |
|---|---|---|
| r | Lecture (read) | Peut-on lire le contenu du fichier ? |
| w | Écriture (write) | Peut-on modifier le contenu du fichier ? |
| x | Exécution (execute) | Peut-on exécuter ce fichier (programme) ? Pour un répertoire : peut-on le parcourir ? |
Les 3 types d'utilisateurs
Ces droits sont définis séparément pour trois catégories d'utilisateurs :
| Symbole | Catégorie | Signification |
|---|---|---|
| u | Propriétaire (user) | La personne qui a créé le fichier (par défaut) |
| g | Groupe (group) | Les utilisateurs appartenant au groupe associé au fichier |
| o | Autres (others) | Tous les autres utilisateurs |
| a | Tous (all) | Raccourci pour modifier u, g et o en même temps |
ls -l — Afficher les droits d'un fichier
L'option -l de la commande ls affiche des informations détaillées, dont les droits de chaque fichier.
-rw-r--r-- 1 david david 0 avril 13 19:58 fic.txt
drwxr-xr-x 2 david david 4096 avril 13 20:05 info
Décryptons la ligne -rw-r--r-- 1 david david 0 avril 13 19:58 fic.txt :
| Champ | Valeur | Signification |
|---|---|---|
| Type | - | Fichier (d pour répertoire) |
| Droits propriétaire | rw- | Lecture ✓ — Écriture ✓ — Exécution ✗ |
| Droits groupe | r-- | Lecture ✓ — Écriture ✗ — Exécution ✗ |
| Droits autres | r-- | Lecture ✓ — Écriture ✗ — Exécution ✗ |
| Propriétaire | david | Nom de l'utilisateur propriétaire |
| Groupe | david | Nom du groupe associé |
| Taille | 0 | Taille en octets (fichier vide ici) |
| Nom | fic.txt | Nom du fichier |
chmod — Modifier les droits d'un fichier
La commande chmod (change mode) permet au propriétaire d'un fichier (ou à root) de modifier les permissions. Sa syntaxe est :
chmod [u|g|o|a] [+|-|=] [r|w|x] nom_du_fichier
david@PC-Bureau:~$ chmod o+w toto.txt
# ajoute le droit d'écriture aux "autres" sur toto.txt
david@PC-Bureau:~$ chmod g-wx toto.txt
# retire écriture ET exécution au groupe sur toto.txt
david@PC-Bureau:~$ chmod a+r rapport.txt
# donne le droit de lecture à tout le monde
david@PC-Bureau:~$ chmod u+x script.sh
# rend le script exécutable pour son propriétaire
Les symboles liés aux opérations :
| Opérateur | Effet |
|---|---|
| + | Ajoute une permission |
| - | Supprime une permission |
| = | Réinitialise et définit exactement les permissions indiquées |
Dans le répertoire test_nsi, créez un fichier titi.txt. Utilisez ls -l pour vérifier ses permissions par défaut. Puis :
- Retirez le droit de lecture aux autres utilisateurs
- Ajoutez le droit d'exécution au propriétaire
- Vérifiez à nouveau avec ls -l que les droits ont bien changé
Récapitulatif des commandes
| Commande | Rôle | Exemple |
|---|---|---|
| pwd | Afficher le répertoire courant | pwd |
| ls | Lister le contenu du répertoire courant | ls |
| ls -l | Lister avec les droits et détails | ls -l |
| cd | Changer de répertoire | cd documents |
| mkdir | Créer un répertoire | mkdir test_nsi |
| touch | Créer un fichier vide | touch fiche.txt |
| cat | Afficher le contenu d'un fichier | cat fiche.txt |
| cp | Copier un fichier | cp fic.txt doc/fic.txt |
| mv | Déplacer un fichier | mv fic.txt archives/ |
| rm | Supprimer un fichier | rm fic.txt |
| rm -r | Supprimer un répertoire et son contenu | rm -r mon_dossier |
| man | Afficher le manuel d'une commande | man ls |
| chmod | Modifier les droits d'un fichier | chmod o+w fic.txt |
Source : pixees.fr/informatiquelycee — Licence CC BY-SA
