Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

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 13/08/2009, 08:43]
zebulonT Ajout tags
tutoriel:console_ligne_de_commande [Le 05/07/2023, 15:44] (Version actuelle)
88.181.152.21 [mv] mise en forme
Ligne 1: Ligne 1:
-{{tag>​console terminal shell tutoriel à_recycler}} 
  
 +{{tag>​console terminal shell tutoriel}}
 ---- ----
  
-====== ​Ligne de commande ​de base pour le débutant ​======+====== ​Console : ligne de commande ======
  
 ===== Introduction ===== ===== Introduction =====
  
-Ce //How To// est fait pour les débutants qui ne connaissent pas **GNU/​Linux** et n'a pas la prétention de faire de vous des champions de la console. La distribution Ubuntu vise à simplifier l'​utilisation d'une plate-forme Debian en limitant l'​usage des commandes dans un terminal (//shell//) lors de l'​utilisation de base de votre ordinateur au quotidien.+Ce //How To// est fait pour les débutants qui ne connaissent pas **GNU/​Linux** et n'a pas la prétention de faire de vous des champions de la console.
  
-<​note>​Cette page vient en complément de la page "[[:tutoriel:​console_commandes_de_base|Les commandes de base en console]]" dans laquelle ​vous trouverez une liste des commandes importantes avec un rappel des options ​les plus fréquentes.+Après tout, la distribution Ubuntu vise à simplifier l'​utilisation d'un OS basé sur Debian en limitant l'​usage des commandes //bash// dans un [[:terminal]] lors de l'​utilisation de base de votre ordinateur au quotidien. Ainsi Ubuntu est ici pour vous aider dans vos tâches ​les plus complexes et en toute sécurité.
  
-Vous trouverez aussi une liste des commandes classées par catégories sur la page "​[[:​commande_shell|Commandes ​et lignes de commandes]]"</​note>​+<​note>​Cette ​page vient en complément des pages "​[[:​terminal]]", ​"​[[:​commande_shell]]" ​et "​[[:​tutoriel:​console_commandes_de_base|Les ​commandes ​de base en console]]" ​dans laquelle vous trouverez une liste des commandes importantes avec un rappel des options les plus fréquentes. 
 +</​note>​
  
 ==== Convention ==== ==== Convention ====
  
-  * Cette page vous donnera des commandes GNU/Linux basiques à utiliser dans un shell (terminal). +  * Cette page vous donnera des commandes GNU/Linux basiques à utiliser dans un terminal.
   * Tous les noms de commande seront en **GRAS**.   * Tous les noms de commande seront en **GRAS**.
- 
   * Les commandes devront être tapées en respectant **la casse** selon l'​exemple encadré.   * Les commandes devront être tapées en respectant **la casse** selon l'​exemple encadré.
- 
   * Pour un complément d'​information,​ lisez le **man** de chaque commande.   * Pour un complément d'​information,​ lisez le **man** de chaque commande.
 +
 +<note tip>​**auto-complétion** : après avoir tapé 2 ou 3 caractères,​ il est possible d'​appuyer sur la touche //tab// qui permet d'​ajouter la suite de la commande, du nom du répertoire ou du fichier. Cela évite les erreurs de frappe et est très appréciable pour éviter de saisir le nom de fichier parfois long et complexe comme le nom de certains paquets. Peut être utilisé plusieurs fois si plusieurs noms ont une partie commune. Attention, c'est sensible à la casse !\\
 +**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>​
 +
 +
 +===== Syntaxe générale =====
 +
 +Le 1er mot tapé est une commande. Les lettres tapées après un tiret, et les mots tapés après 2 tirets, sont des options.
 +
 +Le reste ce sont des 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 bash>​nom-de-la-commande -options --options-longues parametre1 parametre2</​code>​
 +
 +
  
 ===== Commandes basiques===== ===== Commandes basiques=====
  
-==== man ==== +Certains utilitaires servent à en documenter d'​autres ​par exemple ​l'utilitaire info et l'utilitaire ​man.
- La commande **man** est employée pour vous montrer [[:page_de_manuel|le manuel]] des autres commandes. ​ (man = manuel) Pour obtenir une bonne compréhension,​ employez ​l'exemple : +
-<​code>​ +
-man man           ### ceci vous donnera la page d'information pour "man+
-</​code>​ +
-Note : Pour quitter **man**, appuyez sur la touche **q**Pour rechercher le mot  //exemple// tapez **/​exemple**+
  
-Certains utilitaires sont mieux documentés en tant que texte info. par exemple essayez  +<​code ​bash>info man</​code>​ 
-<​code>​info man</​code>​+donne des infos sur la commande man
  
-On peut également avoir une aide rapide sur la plupart des commandes par l'​option **''​--help''​** (ou parfois **''​-h''​**) + 
-<​code>​+ 
 +<code bash>man info</​code>​ 
 +donne le manuel de la commande info. 
 + 
 + 
 +On peut également avoir une aide rapide sur la plupart des commandes par l'​option **''​​%%--%%help''​** (ou parfois **''​-h''​**) 
 +<​code ​bash>
 man --help man --help
 man -h man -h
 </​code>​ </​code>​
  
-==== cd ==== +==== ls ==== 
- La commande **cd** vous permettra de changer de répertoire ​(cd change directory). Quand vous ouvrez un //terminal// en mode utilisateur vous serez dans votre répertoire local (/​home/​utilisateur).\\ + La commande **ls** liste les fichiers et les sous-dossiers. ​(**ls** ​**l**i**s**t) 
-Dans un système linux la référence au fichier s'​appelle un chemin. Dans un chemin le nom des répertoires et des fichiers ​sont séparés ​par un "/". +<code bash> 
-Il existe ​deux types de chemin ​absolu et relatif.\\+ls                ### ceci vous donnera la liste de vos fichiers et dossiers. 
 +</code> 
 +Pour obtenir plus d'​information,​ utilisez l'​option **-l** ​(pour version **l**ongue: 
 +<code bash> 
 +ls -l 
 +</​code>​ 
 +Pour afficher aussi les fichiers ​"​cachés"​ (en fait ceux qui commencent ​par un point) 
 +utilisez l'​option **-A** (pour **A**ll) : 
 +<code bash> 
 +ls -A 
 +</code> 
 +On peut bien sûr mélanger les deux options ​: 
 +<code bash> 
 +ls -Al           ### Vous affichera tous les fichiers, même cachés, avec 
 + les détails 
 +</​code>​
  
-Le chemin absolu se base sur la racine de l'arborescence ​et commence par "/" ​: ex : /​home/​utilisateur/<​dossier>/<fichier>.+<​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>
  
-  ​cd /​home/​utilisateur/​dossier ​     ### vous déplacera à votre répertoire (/​home/​utilisateur/​dossier)+==== cd ====
  
-Le symbole "​~"​ peut remplacer le chemin absolu vers votre répertoire ​personnel soit "/home/utilisateur/".  + 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).
-<​code>​ +
-cd ~/Desktop ​     ### vous déplacera à votre répertoire ​de //​bureau//  ​(/​home/​utilisateur/Desktop) +
-</​code>​+
  
-Le chemin relatif dépend du répertoire courant où se trouve l'​utilisateur  +Pour changer ​de répertoire on utilise donc la commande ''cd'' ​suivi du [[:chemins|chemin]] auquel on veut accéder ​:
-Pour se déplacer dans un dossier ​de l'emplacement courant (par défaut home/​utilisateur) vous emploierez **cd** suivi du nom du dossier ​cd <​dossier>​. Si vous doutez du nom du dossier, tapez le début de son nom puis appuyez sur la touche Tabulation (attention à la casse). Exemple pour se rendre dans le bureau (Desktop) ​: +
-  cd Desktop +
-Si vous êtes déjà dans le répertoire ~/Desktop$ pour aller dans un des dossiers qu'il contient : +
-  ~/Desktop$ cd <​dossier>​+
  
-Contrairement à la version Windows la commande ​**cd** utilisée seule ramène au répertoire par défaut de l'​utilisateur (ou du root).+  cd /​home/​utilisateur/​dossier ​     ### vous déplacera à votre répertoire (/​home/​utilisateur/​dossier) 
 + 
 +Contrairement à la version Windows la commande ​''​cd'' ​utilisée seule ramène au répertoire par défaut de l'​utilisateur (ou du root).
  
   cd   cd
  
-Pour afficher le répertoire courant, il faut utiliser ​**pwd** (voir plus bas).+Pour afficher le répertoire courant, il faut utiliser ​''​pwd'' ​(voir plus bas).
  
-Pour "​remonter"​ d'un répertoire (aller à son parent) on utilise la commande ​"cd .." ​(n'​oubliez pas l'​espace,​ surtout si vous venez de Windows) +Pour "​remonter"​ d'un répertoire (aller à son parent) on utilise la commande ​''​cd ..'' ​(voir [[:​chemins#​liens|ici]]) - n'​oubliez pas l'​espace,​ surtout si vous venez de Windows ​: 
-  cd ..     ### vous remontera d'un dossier+  cd .. 
 + 
 +<note tip>La touche //Tab// permet de compléter le nom du répertoire que vous êtes en train de taper.</​note>​ 
 +==== 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 bash> 
 +  id ubuntu-user 
 +uid=1001(ubuntu-user) gid=1001(ubuntu-user) groupes=1001(ubuntu-user),​29(audio) 
 +</​code>​
  
 ==== mkdir ==== ==== mkdir ====
- La commande **mkdir** vous permettra ​de créer des répertoires. (mkdir = make directory) ​ Exemple : + La commande **mkdir** vous permet ​de créer des répertoires. (mkdir = make directory) ​ Exemple : 
-<​code>​ +<​code ​bash
-mkdir musique ​      ### ​créera ​un répertoire musique+mkdir musique ​      ### ​crée un répertoire musique ​
  
 man mkdir         ### pour avoir les options de mkdir man mkdir         ### pour avoir les options de mkdir
 </​code>​ </​code>​
- 
-mkdir 
-man mkdir 
-mkdir photo 
  
 ==== pwd ==== ==== pwd ====
- La commande **pwd** vous permettra ​de savoir dans quel répertoire de l'​arborescence vous êtes localisé. (pwd = present working directory) Exemple ​: + La commande **pwd** vous permet ​de savoir dans quel répertoire de l'​arborescence vous êtes localisé. (pwd = present working directory) Exemple 
-<​code>​+<​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** ​servira ​à déplacer un dossier à un endroit différent ou renommer ​un dossier. (mv = move) Exemples :+ La commande **mv** ​sert à déplacer un dossier ​(ou fichier) ​à un endroit différent ou à le renommer. (mv = move) Exemples :
  
-<​code>​ +<​code ​bash
-mv bonjour bonsoir ​      ​### pour renommer le fichier/​répertoire "​bonjour"​ en "​bonsoir"​+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 nexistait pas dans le répertoire ~/Desktop sinon le système  
-                             ​demandera la confirmation pour écraser l'ancien fichier)+                               ### vous demandera la confirmation pour écraser lancien fichier)
  
-man mv            ### pour avoir les options de mv+man mv                ### pour avoir les options de mv
 </​code>​ </​code>​
  
 ==== cp ==== ==== cp ====
- La commande **cp** ​fera une copie d'un fichier. (cp = copy) Exemple :+ La commande **cp** ​fait une copie d'un fichier. (cp = copy) Exemple :
  
-<​code>​ +<​code ​bash
-cp bonjour bonsoir ​      fera une copie exacte du fichier "​bonjour"​ et l'appellera ​"​bonsoir",​ mais le fichier "​bonjour" ​sera 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 n'existait ​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 ​
                      se dédouble sans être supprimé.                      se dédouble sans être supprimé.
  
Ligne 117: Ligne 147:
  La commande **less** permet d'​afficher le contenu d'un fichier directement dans le terminal. Exemple :  La commande **less** permet d'​afficher le contenu d'un fichier directement dans le terminal. Exemple :
  
-<​code>​ +<​code ​bash
-less /​etc/​apt/​sources.list ​  ###affichera ​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
  
 ..... .....
- deb http://​archive.ubuntu.com/​ubuntu ​warty main restricted universe multiverse+ deb http://​archive.ubuntu.com/​ubuntu ​xenial ​main restricted universe multiverse
  
- deb http://​archive.ubuntu.com/​ubuntu ​warty-security main restricted+ deb http://​archive.ubuntu.com/​ubuntu ​xenial-security main restricted
  
- deb http://​archive.ubuntu.com/​ubuntu ​warty-updates main restricted universe multiverse+ deb http://​archive.ubuntu.com/​ubuntu ​xenial-updates main restricted universe multiverse
 ..... .....
  
Ligne 131: Ligne 161:
 </​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 google.+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]]. 
 + 
 +il y a aussi la commande cat <​nom_du_fichier>​
  
 ==== rm ==== ==== rm ====
- La commande **rm** permet de supprimer un fichier ou répertoire. (rm = remove) Attention ​cette commande ​est irréversible donc soyez vigilant quand vous l'​utilisezExemple :+Remarque : cette commande ​ne demande jamais autorisation.
  
-<​code>​+ La commande **rm** permet de supprimer un fichier ou répertoire. (rm = remove) 
 + 
 +<note warning>​ 
 +Attention cette commande est irréversible donc soyez vigilant quand vous l'​utilisez. 
 + 
 +Cette commande peut se révéler [[:​commandes_dangereuses|dangereuse]] 
 +</​note>​ 
 + 
 +Exemple : 
 +<​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
  
 rm /​home/​documents/​nom_fichier ### supprime le fichier nom_fichier du répertoire /​home/​documents rm /​home/​documents/​nom_fichier ### supprime le fichier nom_fichier du répertoire /​home/​documents
 +                                ​
 +
 +rm -rf lenomdudossier ### supprime le dossier lenomdudossier du répertoire courant
 </​code>​ </​code>​
 __**ATTENTION**__ __**ATTENTION**__
  
 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 ​commencera ​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 fera un rm home/​documents/​nom_fichier+                                faire un rm / puis fait un rm home/​documents/​nom_fichier
  
-                                Bien sûr, le rm / effacera ​complètement votre système de fichiers donc attention aux espaces ​+                                Bien sûr, le rm / efface ​complètement votre système de fichiers donc attention aux espaces ​
                                 qui se glissent dans la frappe quand vous utilisez la commande "​rm"​.                                 qui se glissent dans la frappe quand vous utilisez la commande "​rm"​.
  
Ligne 154: Ligne 198:
  
 </​code>​ </​code>​
-Note : **rm /** est quand même largement un mythe vu qu'il faudrait les droits super-utilisateur (root) et avoir vidé les sous répertoires... (**sudo rm -fR /** est nettement plus dangereux). 
  
 ==== chown ==== ==== chown ====
Ligne 160: Ligne 203:
  
 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 175: Ligne 218:
 __**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 là en trois parties :
Ligne 201: Ligne 244:
  
 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
Ligne 232: Ligne 275:
 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
Ligne 240: Ligne 283:
  
 [[:​permissions|... plus d'​informations sur la gestion des droits d'​accès sous Linux]] [[:​permissions|... plus d'​informations sur la gestion des droits d'​accès sous Linux]]
-==== apt-get ==== 
- La commande **[[:​apt-get]]** permet de gérer les paquets Debian de votre Ubuntu. Exemple : 
-<​code>​ 
-sudo apt-get 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. 
  
-sudo apt-get upgrade ​                    ### permet de mettre à jour les paquets déjà installés, à taper pour faire les mises à  +==== apt ====
-                                             jour de sécurité.+
  
-sudo apt-get install soft                ### Installera le logiciel "​soft"​ en gérant les dépendances,​ donc "apt" vous  +La commande **[[:apt-cli|apt]]** permet de gérer les paquets ​Debian de votre UbuntuExemple :
-                                             ​demandera peut être d'​installer d'​autres ​paquets ​en complément.+
  
-sudo apt-get remove soft                 ### désinstallera le paquet "​soft"​.+<code bash> 
 +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.
  
-sudo apt-get autoremove soft             ### désinstallera "​proprement"​ le paquet "​soft"​ ainsi que ses dépendances+sudo apt upgrade ​                    ### permet de mettre à jour les paquets déjà installés, à taper pour faire les mises à  
 +                                     ### jour de sécurité.
  
-man apt-get                              ​### pour avoir les options de "apt-get". +sudo apt install soft                ​### Installe le logiciel "​soft"​ en gérant ​les dépendances,​ donc "​apt" ​vous  
-</​code>​+                                     ### demande peut être d’installer d’autres paquets en complément.
  
-==== apt-cache search ==== +sudo apt remove soft                 ### désinstalle ​le paquet ​"​soft"​.
- La commande **apt-cache search** permet de rechercher ​le nom d'​un ​paquet ​parmi ceux disponibles. Avant d'​utiliser cette commande pensez à faire un __**apt-get update**__ pour mettre à jour votre liste des paquetsExemple :+
  
-<​code>​ +sudo apt autoremove soft             ### désinstalle "​proprement" ​le paquet "​soft"​ ainsi que ses dépendances.
-apt-cache search supersoft ​         ​### vous donnera la liste des paquets dont le nom ou la description+
  
-                                        contient ​"​supersoft"​.+apt search supersoft ​                ### recherche le texte "​supersoft" dans les descriptions des paquets. 
 + 
 +man apt                              ### pour avoir les options de "apt".
 </​code>​ </​code>​
- 
-===== Liens ===== 
- 
-  * [[http://​www.debian.org/​doc/​manuals/​apt-howto/​index.fr.html | How To Debian sur APT]]  
-  * [[http://​www.math-linux.com/​spip.php?​article22 | Introduction à Linux]] ​ 
-  * Autres pages utiles : 
-     * [[:​tutoriel:​learn_unix_in_10_minutes|Apprenez les bases de Unix en 10 minutes]]. 
-     * [[:​tutoriel:​console_commandes_de_base|Console:​ commandes de base]] 
-     * [[/alias]] 
-     * [[:​commande_shell|Les commandes classées par catégorie et par usage]] 
- 
----- 
- 
-//​Contributeurs : Traduction libre de BasicCommands,​ [[utilisateurs:​Manu]] // 
  • tutoriel/console_ligne_de_commande.1250145798.txt.gz
  • Dernière modification: Le 18/04/2011, 14:50
  • (modification externe)