Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
|
tutoriel:console_ligne_de_commande [Le 25/05/2023, 11:57] bcag2 ancienne révision (Le 02/05/2023, 09:08) restaurée |
tutoriel:console_ligne_de_commande [Le 26/10/2025, 23:33] (Version actuelle) krodelabestiole [chmod] niveaux listes |
||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| {{tag>console terminal shell tutoriel}} | {{tag>console terminal shell tutoriel}} | ||
| - | ---- | ||
| ====== Console : ligne de commande ====== | ====== Console : ligne de commande ====== | ||
| Ligne 23: | Ligne 22: | ||
| **retour à la ligne** pour clarifier une ligne de commande un peu longue, il peut-être utile d'utiliser le ** \** puis retour charriot pour continuer à saisir la ligne de commande sur plusieurs lignes d'affichage. | **retour à la ligne** pour clarifier une ligne de commande un peu longue, il peut-être utile d'utiliser le ** \** puis retour charriot pour continuer à saisir la ligne de commande sur plusieurs lignes d'affichage. | ||
| </note> | </note> | ||
| - | |||
| ===== Syntaxe générale ===== | ===== Syntaxe générale ===== | ||
| Ligne 33: | Ligne 31: | ||
| Notez qu'il existe des commandes sans paramètres, d'autres sans options, et même certaines qui prennent une commande en paramètres ! | Notez qu'il existe des commandes sans paramètres, d'autres sans options, et même certaines qui prennent une commande en paramètres ! | ||
| - | <code>nom-de-la-commande -options --options-longues parametre1 parametre2</code> | + | <code bash>nom-de-la-commande -options --options-longues parametre1 parametre2</code> |
| - | + | ||
| ===== Commandes basiques===== | ===== Commandes basiques===== | ||
| Ligne 41: | Ligne 37: | ||
| Certains utilitaires servent à en documenter d'autres : par exemple l'utilitaire info et l'utilitaire man. | Certains utilitaires servent à en documenter d'autres : par exemple l'utilitaire info et l'utilitaire man. | ||
| - | <code>info man</code> | + | <code bash>info man</code> |
| - | donne des infos sur la commande man | + | donne des infos sur la commande ''[[man>man.1|man]]''. |
| - | + | ||
| - | + | ||
| - | + | ||
| - | <code>man info</code> | + | |
| - | donne le manuel de la commande info. | + | |
| + | <code bash>man info</code> | ||
| + | donne le manuel de la commande ''[[man>info]]''. | ||
| On peut également avoir une aide rapide sur la plupart des commandes par l'option **''%%--%%help''** (ou parfois **''-h''**) | On peut également avoir une aide rapide sur la plupart des commandes par l'option **''%%--%%help''** (ou parfois **''-h''**) | ||
| - | <code> | + | <code bash> |
| man --help | man --help | ||
| man -h | man -h | ||
| Ligne 57: | Ligne 50: | ||
| ==== ls ==== | ==== ls ==== | ||
| - | La commande **ls** liste les fichiers et les sous-dossiers. (**ls** = **l**i**s**t) | + | |
| - | <code> | + | La commande ''[[man>ls]]'' liste les fichiers et les sous-dossiers. (''ls'' = //**l**i**s**t//) |
| + | <code bash> | ||
| ls ### ceci vous donnera la liste de vos fichiers et dossiers. | ls ### ceci vous donnera la liste de vos fichiers et dossiers. | ||
| </code> | </code> | ||
| - | Pour obtenir plus d'information, utilisez l'option **-l** (pour version **l**ongue) : | + | Pour obtenir plus d'information, utilisez l'option ''-l'' (pour version **l**ongue) : |
| - | <code> | + | <code bash> |
| ls -l | ls -l | ||
| </code> | </code> | ||
| Pour afficher aussi les fichiers "cachés" (en fait ceux qui commencent par un point) | Pour afficher aussi les fichiers "cachés" (en fait ceux qui commencent par un point) | ||
| - | utilisez l'option **-A** (pour **A**ll) : | + | utilisez l'option ''-A'' (pour **A**ll) : |
| - | <code> | + | <code bash> |
| ls -A | ls -A | ||
| </code> | </code> | ||
| On peut bien sûr mélanger les deux options : | On peut bien sûr mélanger les deux options : | ||
| - | <code> | + | <code bash> |
| ls -Al ### Vous affichera tous les fichiers, même cachés, avec | ls -Al ### Vous affichera tous les fichiers, même cachés, avec | ||
| les détails | les détails | ||
| </code> | </code> | ||
| - | <note>Les options d'une commande sont sensibles à la casse. Ainsi, ls -a (ou --all), qui affiche les "dossiers" . et .., n'est pas tout à fait identique à ls -A (--almost-all), qui elle n'affiche pas . et .. (c'est à dire, "dossier actuel" et "dossier parent").</note> | + | <note>Les options d'une commande sont sensibles à la casse. Ainsi, ''ls -a'' (ou ''--all''), qui affiche les répertoires ''.'' et ''..'', n'est pas tout à fait identique à ''ls -A'' (''--almost-all''), qui elle n'affiche pas ''.'' et ''..'' (c'est-à-dire respectivement le répertoire actuel et le répertoire parent).</note> |
| ==== cd ==== | ==== cd ==== | ||
| - | La commande **cd** vous permet de changer de répertoire (cd = change directory). Quand vous ouvrez un //terminal// en mode utilisateur vous êtes dans votre répertoire personnel (/home/utilisateur). | + | La commande ''[[man>cd.1|cd]]'' vous permet de changer de répertoire (''cd'' = //**c**hange **d**irectory//). Quand vous ouvrez un //terminal// en mode utilisateur vous êtes dans votre répertoire personnel (''/home/utilisateur''). |
| Pour changer de répertoire on utilise donc la commande ''cd'' suivi du [[:chemins|chemin]] auquel on veut accéder : | Pour changer de répertoire on utilise donc la commande ''cd'' suivi du [[:chemins|chemin]] auquel on veut accéder : | ||
| Ligne 96: | Ligne 90: | ||
| <note tip>La touche //Tab// permet de compléter le nom du répertoire que vous êtes en train de taper.</note> | <note tip>La touche //Tab// permet de compléter le nom du répertoire que vous êtes en train de taper.</note> | ||
| + | |||
| ==== id ==== | ==== id ==== | ||
| - | La commande **id** affiche les informations utilisateur et de groupe pour un utilisateur spécifié, ou si aucun utilisateur n'est spécifié, elle affiche les informations sur l'utilisateur courant | + | |
| - | <code> | + | La commande ''[[man>id]]'' affiche les informations utilisateur et de groupe pour un utilisateur spécifié, ou si aucun utilisateur n'est spécifié, elle affiche les informations sur l'utilisateur courant : |
| + | <code bash> | ||
| id ubuntu-user | id ubuntu-user | ||
| uid=1001(ubuntu-user) gid=1001(ubuntu-user) groupes=1001(ubuntu-user),29(audio) | uid=1001(ubuntu-user) gid=1001(ubuntu-user) groupes=1001(ubuntu-user),29(audio) | ||
| Ligne 104: | Ligne 100: | ||
| ==== mkdir ==== | ==== mkdir ==== | ||
| - | La commande **mkdir** vous permet de créer des répertoires. (mkdir = make directory) Exemple : | + | |
| - | <code> | + | La commande ''[[man>mkdir]]'' vous permet de créer des répertoires. (''mkdir'' = //make directory//) Exemple : |
| + | <code bash> | ||
| mkdir musique ### crée un répertoire musique | mkdir musique ### crée un répertoire musique | ||
| Ligne 112: | Ligne 109: | ||
| ==== pwd ==== | ==== pwd ==== | ||
| - | La commande **pwd** vous permet de savoir dans quel répertoire de l'arborescence vous êtes localisé. (pwd = present working directory) Exemple | + | |
| - | <code> | + | La commande ''[[man>pwd]]'' vous permet de savoir dans quel répertoire de l'arborescence vous êtes localisé. (''pwd'' = //present working directory//) Exemple |
| + | <code bash> | ||
| pwd ### suivant nos exemples ci-dessus nous sommes dans ~/Desktop ou /home/utilisateur/Desktop | pwd ### suivant nos exemples ci-dessus nous sommes dans ~/Desktop ou /home/utilisateur/Desktop | ||
| </code> | </code> | ||
| ==== mv ==== | ==== mv ==== | ||
| - | La commande **mv** sert à déplacer un dossier (ou fichier) à un endroit différent ou à le renommer. (mv = move) Exemples : | ||
| - | <code> | + | La commande ''[[man>mv]]'' sert à déplacer un dossier (ou fichier) à un endroit différent ou à le renommer. (''mv'' = //move//) Exemples : |
| - | mv bonjour bonsoir ### pour renommer le fichier/répertoire "bonjour" en "bonsoir" | + | |
| + | <code bash> | ||
| + | mv bonjour bonsoir ### pour renommer le fichier/répertoire "bonjour" en "bonsoir" | ||
| mv bonsoir ~/Desktop ### déplace le fichier "bonsoir" du répertoire courant vers le répertoire ~/Desktop sans le renommer | mv bonsoir ~/Desktop ### déplace le fichier "bonsoir" du répertoire courant vers le répertoire ~/Desktop sans le renommer | ||
| - | mv bonsoir ~/Desktop/bonnenuit ###déplace le fichier "bonsoir" du répertoire courant vers le répertoire ~/Desktop et le renomme en | + | mv bonsoir ~/Desktop/bonnenuit ### déplace le fichier "bonsoir" du répertoire courant vers le répertoire ~/Desktop et le renomme en |
| - | bonnenuit (bien sûr bonnenuit n'existait pas dans le répertoire ~/Desktop sinon le système vous | + | ### bonnenuit (bien sûr bonnenuit n’existait pas dans le répertoire ~/Desktop sinon le système |
| - | demandera la confirmation pour écraser l'ancien fichier) | + | ### vous demandera la confirmation pour écraser l’ancien fichier) |
| - | man mv ### pour avoir les options de mv | + | man mv ### pour avoir les options de mv |
| </code> | </code> | ||
| ==== cp ==== | ==== cp ==== | ||
| - | La commande **cp** fait une copie d'un fichier. (cp = copy) Exemple : | ||
| - | <code> | + | La commande ''[[man>cp.1|cp]]'' fait une copie d'un fichier. (''cp'' = //copy//) Exemple : |
| + | <code bash> | ||
| cp bonjour bonsoir fait une copie exacte du fichier "bonjour" et l'appelle "bonsoir", mais le fichier "bonjour" est toujours là. | cp bonjour bonsoir fait une copie exacte du fichier "bonjour" et l'appelle "bonsoir", mais le fichier "bonjour" est toujours là. | ||
| Quand vous employez "mv" le fichier source n'existe plus, alors que quand vous utiliserez "cp" le fichier | Quand vous employez "mv" le fichier source n'existe plus, alors que quand vous utiliserez "cp" le fichier | ||
| Ligne 144: | Ligne 143: | ||
| ==== less ==== | ==== less ==== | ||
| - | La commande **less** permet d'afficher le contenu d'un fichier directement dans le terminal. Exemple : | ||
| - | <code> | + | La commande ''[[man>less.1|less]]'' permet d'afficher le contenu d'un fichier directement dans le terminal. Exemple : |
| + | <code bash> | ||
| less /etc/apt/sources.list ###affiche par exemple le contenu de votre fichier sources pour apt | less /etc/apt/sources.list ###affiche par exemple le contenu de votre fichier sources pour apt | ||
| Ligne 160: | Ligne 159: | ||
| </code> | </code> | ||
| - | Bien sûr il en existe beaucoup d'autres (cat, nano, vi...) et la syntaxe est la même mais les fonctionnalités sont bien différentes. Dans tous les cas informez-vous avec la commande man ou sur [[https://duckduckgo.com]]. | + | Bien sûr il en existe beaucoup d'autres (''[[man>cat.1|cat]]'', ''[[man>nano]]'', ''[[man>vi]]''...) et la syntaxe est la même mais les fonctionnalités sont bien différentes. Dans tous les cas informez-vous avec la commande man ou sur [[https://duckduckgo.com]]. |
| - | il y a aussi la commande cat <nom_du_fichier> | + | il y a aussi la commande ''[[man>cat.1|cat]] <nom_du_fichier>'' |
| ==== rm ==== | ==== rm ==== | ||
| + | |||
| Remarque : cette commande ne demande jamais autorisation. | Remarque : cette commande ne demande jamais autorisation. | ||
| - | La commande **rm** permet de supprimer un fichier ou répertoire. (rm = remove) | + | La commande ''[[man>rm]]'' permet de supprimer un fichier ou répertoire. (''rm'' = //remove//) |
| <note warning> | <note warning> | ||
| Attention cette commande est irréversible donc soyez vigilant quand vous l'utilisez. | Attention cette commande est irréversible donc soyez vigilant quand vous l'utilisez. | ||
| - | Cette commande peut se révéler [[:commandes_dangereuses|dangereuse]] | + | Cette commande peut se révéler [[:commandes_dangereuses|dangereuse]] ! |
| </note> | </note> | ||
| Exemple : | Exemple : | ||
| - | <code> | + | <code bash> |
| rm nom_fichier ### supprime le fichier nom_fichier du répertoire courant | rm nom_fichier ### supprime le fichier nom_fichier du répertoire courant | ||
| Ligne 187: | Ligne 187: | ||
| Si vous tapez : | Si vous tapez : | ||
| - | <code> | + | <code bash> |
| rm / home/documents/nom_fichier ###il y a un espace entre / et home/documents/nom_fichier donc le système commence par | rm / home/documents/nom_fichier ###il y a un espace entre / et home/documents/nom_fichier donc le système commence par | ||
| faire un rm / puis fait un rm home/documents/nom_fichier | faire un rm / puis fait un rm home/documents/nom_fichier | ||
| Ligne 199: | Ligne 199: | ||
| ==== chown ==== | ==== chown ==== | ||
| - | La commande **chown** permet de changer le propriétaire d'un fichier ou répertoire (chown = change owner). Seul le propriétaire du fichier (ou root) peut faire cette manipulation. | + | |
| + | La commande ''[[man>chown]]'' permet de changer le propriétaire d'un fichier ou répertoire (''chown'' = //change owner//). Seul le propriétaire du fichier (ou root) peut faire cette manipulation. | ||
| Exemple : | Exemple : | ||
| - | <code> | + | <code bash> |
| chown utilisateur2 /home/utilisateur/doc.txt ### "utilisateur2" devient propriétaire du fichier doc.txt | chown utilisateur2 /home/utilisateur/doc.txt ### "utilisateur2" devient propriétaire du fichier doc.txt | ||
| Ligne 211: | Ligne 212: | ||
| ==== chmod ==== | ==== chmod ==== | ||
| - | La commande **chmod** permet de modifier les droits d'accès sur les fichiers ou répertoires. Seul le propriétaire des fichiers ou répertoires (ou root) peut faire cette manipulation. | + | |
| + | La commande ''[[man>chmod]]'' permet de modifier les droits d'accès sur les fichiers ou répertoires. Seul le propriétaire des fichiers ou répertoires (ou root) peut faire cette manipulation. | ||
| Il existe 2 méthodes : symbolique ou octale. | Il existe 2 méthodes : symbolique ou octale. | ||
| - | __**Méthode symbolique**__ | + | === Méthode symbolique === |
| - | **chmod ugoa|+/-/=|rwxugo fichier*** | + | chmod ugoa|+/-/=|rwxugo fichier |
| - | Les paramètres de chmod se décomposent là en trois parties : | + | Les paramètres de ''chmod'' se décomposent ici en trois parties : |
| + | |||
| + | * la 1ère indique à qui s'applique la modification des droits d'accès : | ||
| + | * ''u'' pour l'utilisateur, le propriétaire du fichier (''u'' pour //user//) | ||
| + | * ''g'' pour le groupe (''g'' pour //group//) | ||
| + | * ''o'' pour le reste du monde (''o'' pour //others//) | ||
| + | * ''a'' pour tous (''a'' pour //all//) | ||
| + | |||
| + | * la 2ème est un caractère ''+'', ''-'' ou ''='' : | ||
| + | * ''+'' signifie l'ajout de nouveaux droits d'accès | ||
| + | * ''-'' signifie la suppression de droits d'accès | ||
| + | * ''='' signifie l'autorisation exclusive des droits d'accès spécifiés | ||
| + | |||
| + | * la 3ème indique le(s) droit(s) concerné(s) : | ||
| + | * ''r'' pour lecture (''r'' pour //Read//) | ||
| + | * ''w'' pour écriture (''w'' pour //Write//) | ||
| + | * ''x'' pour exécution (''x'' pour //eXecute//) | ||
| + | * ''u'',''g'',''o'' pour reprendre les droits du propriétaire, groupe, autres utilisateurs | ||
| - | * la 1ère indique à qui s'applique la modification des droits d'accès : | ||
| - | * u pour l'utilisateur, le propriétaire du fichier (u pour //user//) | ||
| - | * g pour le groupe (g pour //group//) | ||
| - | * o pour le reste du monde (o pour //others//) | ||
| - | * a pour tous (a pour //all//) | ||
| - | | ||
| - | * la 2ème est un caractère +, - ou = : | ||
| - | * + signifie l'ajout de nouveaux droits d'accès | ||
| - | * - signifie la suppression de droits d'accès | ||
| - | * = signifie l'autorisation exclusive des droits d'accès spécifiés | ||
| - | | ||
| - | * la 3ème indique le(s) droit(s) concerné(s) : | ||
| - | * r pour lecture (r pour Read) | ||
| - | * w pour écriture (w pour Write) | ||
| - | * x pour exécution (x pour eXecute) | ||
| - | * u,g,o pour reprendre les droits du propriétaire,groupe,autres utilisateurs | ||
| - | | ||
| Quelques précisions valables dans le cas d'un répertoire : | Quelques précisions valables dans le cas d'un répertoire : | ||
| - | * r signifie lecture totale du répertoire (la commande ls liste ainsi par exemple tous les fichiers contenus dans le répertoire). Mais en l'absence de ce droit, il est toujours possible de lire un fichier contenu dans ce répertoire (en connaissant son chemin). | + | * ''r'' signifie lecture totale du répertoire (la commande ''ls'' liste ainsi par exemple tous les fichiers contenus dans le répertoire). Mais en l'absence de ce droit, il est toujours possible de lire un fichier contenu dans ce répertoire (en connaissant son chemin). |
| - | * x signifie droit d'ouverture du répertoire. Pour empêcher la "traversée" d'un répertoire, c'est ce droit qu'il faut enlever. | + | * ''x'' signifie droit d'ouverture du répertoire. Pour empêcher la "traversée" d'un répertoire, c'est ce droit qu'il faut enlever. |
| Exemples : | Exemples : | ||
| - | <code> | + | <code bash> |
| - | chmod g+r fichier ### permet au groupe de lire le Fichier | + | chmod g+r fichier ### permet au groupe de lire le Fichier |
| chmod u+rw,go+r fichier ### permet à l'utilisateur de lire et écrire le fichier, et aux autres de le lire | chmod u+rw,go+r fichier ### permet à l'utilisateur de lire et écrire le fichier, et aux autres de le lire | ||
| chmod g=u fichier ### permet de donner au groupe les mêmes droits que l'utilisateur | chmod g=u fichier ### permet de donner au groupe les mêmes droits que l'utilisateur | ||
| </code> | </code> | ||
| - | __**Méthode octale**__ | + | === Méthode octale === |
| - | **chmod XXX fichier**, où XXX = Utilisateur | Groupe | Autres (X représente un entier compris entre 1 et 7) | + | chmod XXX fichier |
| + | où ''XXX'' = Utilisateur | Groupe | Autres (''X'' représente un entier compris entre ''1'' et ''7'') | ||
| - | Valeur du chiffre X : | + | Valeur du chiffre ''X'' : |
| - | * 0 : aucun droit en lecture, écriture, exécution | + | * ''0'' : aucun droit en lecture, écriture, exécution |
| - | * 1 : droit d'exécution | + | * ''1'' : droit d'exécution |
| - | * 2 : droit d'écriture | + | * ''2'' : droit d'écriture |
| - | * 4 : droit de lecture | + | * ''4'' : droit de lecture |
| - | On peut cumuler différents droits : X = 7 (soit 1+2+4) signifie donc que l'on donne tous les droits sur le fichier. | + | On peut cumuler différents droits : ''X'' = ''7'' (soit ''1''+''2''+''4'') signifie donc que l'on donne tous les droits sur le fichier. |
| - | en résumé X = Lecture (4) + Écriture (2) + Exécution (1) | + | en résumé ''X'' = Lecture (''4'') + Écriture (''2'') + Exécution (''1'') |
| - | * Le 1er chiffre X spécifie les droits pour //le propriétaire// du fichier. | + | * Le 1er chiffre ''X'' spécifie les droits pour //le propriétaire// du fichier. |
| - | * Le 2ème chiffre X spécifie les droits pour //le groupe propriétaire// du fichier. | + | * Le 2ème chiffre ''X'' spécifie les droits pour //le groupe propriétaire// du fichier. |
| - | * Le 3ème chiffre X spécifie les droits pour //tous les autres utilisateurs// sur le fichier. | + | * Le 3ème chiffre ''X'' spécifie les droits pour //tous les autres utilisateurs// sur le fichier. |
| - | Ainsi, chmod 777 fichier donne tous les droits à tout le monde. | + | Ainsi, ''chmod 777 fichier'' donne tous les droits à tout le monde. |
| - | Un calculateur de chmod est disponible sur [[http://pages.infinit.net/glopglop/local/chmod.htm]] | + | Un calculateur de ''chmod'' est disponible sur [[https://nettools.club/chmod_calc]]. |
| Exemple : | Exemple : | ||
| - | <code> | + | <code bash> |
| chmod -c 644 /home/utilisateur/texte.txt ### modifie les droits en rw-r--r-- pour le fichier texte.txt c'est à dire que seul le | chmod -c 644 /home/utilisateur/texte.txt ### modifie les droits en rw-r--r-- pour le fichier texte.txt c'est à dire que seul le | ||
| - | propriétaire peut écrire et les autres seulement lire | + | ### propriétaire peut écrire et les autres seulement lire |
| man chmod ### pour avoir toutes les options sur "chmod" | man chmod ### pour avoir toutes les options sur "chmod" | ||
| </code> | </code> | ||
| - | [[:permissions|... plus d'informations sur la gestion des droits d'accès sous Linux]] | + | <note> |
| + | Voir aussi la page //[[:permissions|Gérer les droits d'accès (propriétés et permissions) des fichiers et répertoires]]// pour plus d'informations sur la gestion des droits d'accès sous Linux. | ||
| + | </note> | ||
| ==== apt ==== | ==== apt ==== | ||
| - | La commande **[[:apt-cli|apt]]** permet de gérer les paquets Debian de votre Ubuntu. Exemple : | + | La commande ''[[:apt-cli|apt]]'' permet de gérer les paquets Debian de votre Ubuntu. Exemple : |
| - | <code> | + | <code bash> |
| sudo apt update ### permet de mettre à jour la liste des paquets disponibles, commande à taper en premier | sudo apt update ### permet de mettre à jour la liste des paquets disponibles, commande à taper en premier | ||
| - | avant toute installation pour être sûr d'avoir les mises à jour. | + | ### avant toute installation pour être sûr d’avoir les mises à jour. |
| sudo apt upgrade ### permet de mettre à jour les paquets déjà installés, à taper pour faire les mises à | sudo apt upgrade ### permet de mettre à jour les paquets déjà installés, à taper pour faire les mises à | ||
| - | jour de sécurité. | + | ### jour de sécurité. |
| sudo apt install soft ### Installe le logiciel "soft" en gérant les dépendances, donc "apt" vous | sudo apt install soft ### Installe le logiciel "soft" en gérant les dépendances, donc "apt" vous | ||
| - | demande peut être d'installer d'autres paquets en complément. | + | ### demande peut être d’installer d’autres paquets en complément. |
| sudo apt remove soft ### désinstalle le paquet "soft". | sudo apt remove soft ### désinstalle le paquet "soft". | ||
| Ligne 305: | Ligne 310: | ||
| man apt ### pour avoir les options de "apt". | man apt ### pour avoir les options de "apt". | ||
| </code> | </code> | ||
| - | |||
| - | |||
| - | |||