{{tag>console terminal shell tutoriel à_recycler}} ---- ====== Ligne de commande de base pour le débutant ====== ===== 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. 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. Vous trouverez aussi une liste des commandes classées par catégories sur la page "[[:commande_shell|Commandes et lignes de commandes]]" ==== Convention ==== * Cette page vous donnera des commandes GNU/Linux basiques à utiliser dans un shell (terminal). * Tous les noms de commande seront en **GRAS**. * 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. ===== Commandes basiques===== ==== man ==== La commande **[[:man]]** est employée pour vous montrer [[:man|le manuel]] des autres commandes. (man = manuel) Pour obtenir une bonne compréhension, employez l'exemple : man man ### ceci vous donnera la page d'information pour "man" 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 info man On peut également avoir une aide rapide sur la plupart des commandes par l'option **''--help''** (ou parfois **''-h''**) man --help man -h ==== ls ==== La commande **ls** liste les fichiers et les sous-dossiers. (**ls** = **l**i**s**te) ls ### ceci vous donnera la liste de vos fichiers et dossiers. Pour obtenir plus d'information, utilisez l'option **-l** (pour version **l**ongue) : ls -l Pour afficher aussi les fichiers "cachés" (en fait ceux qui commencent par un point) utilisez l'option **-a** (pour **a**ll) : ls -a On peut bien sûr mélanger les deux options : ls -al ### Vous affichera tous les fichiers, même cachés, avec les détails ==== cd ==== 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).\\ 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 "/". Il existe deux types de chemin : absolu et relatif.\\ Le chemin absolu se base sur la racine de l'arborescence et commence par "/" : ex : /home/utilisateur//. cd /home/utilisateur/dossier ### vous déplacera à votre répertoire (/home/utilisateur/dossier) Le symbole "~" peut remplacer le chemin absolu vers votre répertoire personnel soit "/home/utilisateur/". cd ~/Desktop ### vous déplacera à votre répertoire de //bureau// (/home/utilisateur/Desktop) Le chemin relatif dépend du répertoire courant où se trouve l'utilisateur 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 . 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 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 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) cd .. ### vous remontera d'un dossier ==== mkdir ==== La commande **mkdir** vous permettra de créer des répertoires. (mkdir = make directory) Exemple : mkdir musique ### créera un répertoire musique man mkdir ### pour avoir les options de mkdir ==== pwd ==== La commande **pwd** vous permettra de savoir dans quel répertoire de l'arborescence vous êtes localisé. (pwd = present working directory) Exemple : pwd ### suivant nos exemples ci-dessus nous sommes dans ~/Desktop ou /home/utilisateur/Desktop ==== mv ==== La commande **mv** servira à déplacer un dossier à un endroit différent ou renommer un dossier. (mv = move) Exemples : 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/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 demandera la confirmation pour écraser l'ancien fichier) man mv ### pour avoir les options de mv ==== cp ==== La commande **cp** fera une copie d'un fichier. (cp = copy) Exemple : cp bonjour bonsoir fera une copie exacte du fichier "bonjour" et l'appellera "bonsoir", mais le fichier "bonjour" sera toujours là. Quand vous employez "mv" le fichier n'existait plus, alors que quand vous utiliserez "cp" le fichier se dédouble sans être supprimé. man cp ### pour avoir les options de cp ==== less ==== La commande **less** permet d'afficher le contenu d'un fichier directement dans le terminal. Exemple : less /etc/apt/sources.list ###affichera par exemple le contenu de votre fichier sources pour apt ..... deb http://archive.ubuntu.com/ubuntu karmic main restricted universe multiverse deb http://archive.ubuntu.com/ubuntu karmic-security main restricted deb http://archive.ubuntu.com/ubuntu karmic-updates main restricted universe multiverse ..... man less ### pour avoir les options de less 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. il y a aussi la commande cat ==== 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'utilisez. Exemple : 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 -rf lenomdudossier ### supprime le dossier lenomdudossier du répertoire courant __**ATTENTION**__ Si vous tapez : rm / home/documents/nom_fichier ###il y a un espace entre / et home/documents/nom_fichier donc le système commencera par faire un rm / puis fera un rm home/documents/nom_fichier Bien sûr, le rm / effacera complètement votre système de fichiers donc attention aux espaces qui se glissent dans la frappe quand vous utilisez la commande "rm". man rm ### pour avoir les options de "rm" 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 ==== 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. Exemple : chown utilisateur2 /home/utilisateur/doc.txt ### "utilisateur2" devient propriétaire du fichier doc.txt man chown ### pour avoir les options de "chown" [[:permissions|... plus d'informations sur la gestion des droits d'accès sous Linux]] ==== 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. Il existe 2 méthodes : symbolique ou octale. __**Méthode symbolique**__ **chmod ugoa|+/-/=|rwxugo fichier** Les paramètres de chmod se décomposent là 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 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). * 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 : 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 g=u fichier ### permet de donner au groupe les mêmes droits que l'utilisateur __**Méthode octale**__ **chmod XXX fichier**, où XXX = Utilisateur | Groupe | Autres (X représente un entier compris entre 1 et 7) Valeur du chiffre X : * 0 : aucun droit en lecture, écriture, exécution * 1 : droit d'exécution * 2 : droit d'écriture * 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. 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 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. 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]] Exemple : 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 man chmod ### pour avoir toutes les options sur "chmod" [[: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 : 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 à jour de sécurité. sudo apt-get install soft ### Installera le logiciel "soft" en gérant les dépendances, donc "apt" vous demandera peut être d'installer d'autres paquets en complément. sudo apt-get remove soft ### désinstallera le paquet "soft". sudo apt-get autoremove soft ### désinstallera "proprement" le paquet "soft" ainsi que ses dépendances man apt-get ### pour avoir les options de "apt-get". ==== apt-cache search ==== 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 paquets. Exemple : apt-cache search supersoft ### vous donnera la liste des paquets dont le nom ou la description contient "supersoft". ===== 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]] * [[http://www.commandeslinux.fr/commandes-linux-fondamentales/ | Commandes Linux fondamentales]] * 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 : [[:contributeurs|les contributeurs d'Ubuntu-fr]] //