Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| tutoriel:learn_unix_in_10_minutes [Le 01/06/2010, 19:10] – s_von | tutoriel:learn_unix_in_10_minutes [Le 10/03/2019, 14:35] (Version actuelle) – ancienne révision (Le 20/11/2017, 18:03) restaurée L'Africain | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| + | {{tag> | ||
| + | ---- | ||
| + | ====== Learn UNIX in 10 minutes. Version 1.2 FR 1.0 ====== | ||
| + | |||
| + | Les commandes de base de la ligne de commande UNIX (le shell) : dernière révision 17 Mai 2001\\ | ||
| + | Site Original : [[http:// | ||
| + | |||
| + | |||
| + | ===== Avant Propos ===== | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | Ce document a été rédigé il y a quelques années pour des étudiants en Dessin Assisté par Ordinateur (DAO) . | ||
| + | Le but était d' | ||
| + | |||
| + | Ce document est copyrighté mais peut être reproduit selon les termes de la [[http:// | ||
| + | Envoyez-moi vos commentaires, | ||
| + | The purpose was to have on one page the basics commands for getting started using | ||
| + | the UNIX shell (so that they didn't call me asking what to do the first time someone | ||
| + | gave them a tape). \\ | ||
| + | This document is copyrighted but freely redistributable under the terms of the GFDL . | ||
| + | Send me comments, corrections, | ||
| + | included. I'll gladly listen.\\ | ||
| + | [[http:// | ||
| + | |||
| + | |||
| + | |||
| + | ===== Sections ===== | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | ==== Chemins ==== | ||
| + | |||
| + | |||
| + | Les chemins de fichiers et de dossiers sous Unix utilisent le slash "/" | ||
| + | |||
| + | |||
| + | Exemples : | ||
| + | |||
| + | | / | | ||
| + | |/usr | Dossier usr (sous-dossier du dossier " | ||
| + | |/ | ||
| + | ==== Se déplacer dans le système de fichier ==== | ||
| + | |||
| + | |||
| + | | pwd | montre le nom du dossier de travail courant (//Print Working Directory// | ||
| + | | cd | change le dossier de travail pour un autre dossier | | ||
| + | | cd / | ||
| + | | cd INIT | change le dossier de travail pour INIT, qui est un sous-dossier du dossier courant | ||
| + | | cd .. | change le dossier de travail pour le dossier parent | | ||
| + | | cd $STRMWORK | change le dossier de travail pour le dossier défini par la variable d' | ||
| + | |||
| + | ==== Lister le contenu d'un dossier ==== | ||
| + | |||
| + | |||
| + | '' | ||
| + | |||
| + | '' | ||
| + | |||
| + | Par exemple : | ||
| + | |||
| + | $ ls -l / | ||
| + | | ||
| + | | ||
| + | ^^ ^ ^ ^ | ||
| + | || | | | | ||
| + | || | | | | ||
| + | || | | | Nombre de fichiers ou dossiers que le dossier listé contient | ||
| + | || | | Permissions pour tous | ||
| + | || | Permissions pour les membres du groupe staff | ||
| + | | ||
| + | | ||
| + | Type de fichier * : - = Fichier régulier, d = Dossier, l = Lien symbolique ou autre... | ||
| + | |||
| + | * [[http:// | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | ==== Modifier les permissions et les droits ==== | ||
| + | |||
| + | === chmod === | ||
| + | == En employant la méthode alphabétique: | ||
| + | |||
| + | Ce qu'il faut savoir: | ||
| + | |||
| + | * __u__: utilisateur (**u**ser), __g__: groupe (**g**roup) et __o__: autres (**o**ther) | ||
| + | | ||
| + | |||
| + | * __r__: lire (**r**ead), __w__: écrire (**w**rite) et __x__: exécuter (e**x**ecute) | ||
| + | |||
| + | |||
| + | chmod [ugo][+-=][rwx] fichier | ||
| + | |||
| + | Vous devez donc choisir le groupe à modifier (u, g, o) suivis du symbole + pour donner une permission, du symbole - pour la retirer ou du symbole = pour définir la permission exacte suivi des permissions à appliquer (r, w, x). | ||
| + | |||
| + | Par exemple pour accorder à l' | ||
| + | |||
| + | chmod u+x fichier | ||
| + | |||
| + | Ou pour retirer les droits d' | ||
| + | |||
| + | chmod go-wx fichier | ||
| + | |||
| + | == En employant la méthode numérique: == | ||
| + | |||
| + | |||
| + | |||
| + | Il faut savoir que x=1, w=2 et r=4 ensuite vous additionnez les chiffres si vous voulez cumuler les droits. L' | ||
| + | |||
| + | Par exemple pour accorder la lecture, l' | ||
| + | |||
| + | |||
| + | chmod 755 fichier | ||
| + | |||
| + | On a propriétaire/ | ||
| + | |||
| + | Astuce pour ceux qui connaissent le binaire. On veut rwx lire/ | ||
| + | |||
| + | === chgrp === | ||
| + | |||
| + | chgrp staff fichier | ||
| + | |||
| + | change le fichier //fichier// afin qu'il appartienne au groupe //staff//. | ||
| + | |||
| + | === chown === | ||
| + | |||
| + | chown sheherazade fichier | ||
| + | |||
| + | fait de sheherazade la propriétaire du fichier | ||
| + | |||
| + | chown -R sheherazade dir | ||
| + | |||
| + | fait de sheherazade la propriétaire du dossier //dir// et de **tous** ses sous dossiers. | ||
| + | |||
| + | <note important> | ||
| + | |||
| + | |||
| + | ==== Déplacer, renommer et copier des fichiers ==== | ||
| + | |||
| + | |cp fichier_source fichier_destination | copie un fichier | | ||
| + | |cp -r dossier_source dossier_destination | copie un dossier | | ||
| + | | mv fichier1 nouveau_nom_fichier1 | déplace ou renomme un fichier | | ||
| + | | rm fichier1 [fichier2 ...] | supprime un fichier (ou une liste de fichiers) (( **Il n'y a pas de corbeille**)) | | ||
| + | | rm -r dossier1 [dossier2...] | supprime un dossier et **tous** ses sous-dossiers, | ||
| + | | mkdir dossier1 [dossier2...] | ||
| + | |rmdir dossier1 [dossier2...] | supprime un dossier vide| | ||
| + | |||
| + | ==== Visualiser et éditer les fichiers ==== | ||
| + | |||
| + | |||
| + | |||
| + | | cat fichier | affiche le contenu du fichier à l' | ||
| + | | more fichier | affiche progressivement un fichier à l' | ||
| + | | less fichier | comme more, mais on peut utiliser la touche Page Précédente. Pas disponible sur tous les systèmes. | | ||
| + | | vi fichier | éditer un fichier avec l' | ||
| + | | emacs fichier | éditer un fichier avec l' | ||
| + | | head fichier | affiche par défaut les 10 premières lignes d'un fichier | | ||
| + | | head -n{N} fichier | affiche les N premières lignes d'un fichier | | ||
| + | | tail fichier | affiche par défaut les 10 dernières lignes d'un fichier | | ||
| + | | tail -n{N} fichier | affiche les N dernières lignes d'un fichier | | ||
| + | |||
| + | ==== Shells ==== | ||
| + | |||
| + | |||
| + | Le comportement de l' | ||
| + | |||
| + | Suivant le shell utilisé, quelques comportements peuvent être pratiques. | ||
| + | |||
| + | Vous pouvez connaître le shell que vous utilisez avec la commande : | ||
| + | |||
| + | |||
| + | printenv SHELL | ||
| + | |||
| + | Vous pouvez bien évidemment créer un fichier contenant une liste de commandes shell et l' | ||
| + | |||
| + | ==== Variables d' | ||
| + | |||
| + | |||
| + | |||
| + | Vous pouvez apprendre au shell à ' | ||
| + | Par exemple avec bash : | ||
| + | |||
| + | export CASROOT=/ | ||
| + | |||
| + | définit la variable CASROOT avec la valeur / | ||
| + | |||
| + | cd $CASROOT | ||
| + | |||
| + | change le répertoire de travail courant pour CASROOT. | ||
| + | |||
| + | export LD_LIBRARY_PATH=$CASROOT/ | ||
| + | |||
| + | définit la variable LD_LIBRARY_PATH qui prendra la valeur CASROOT avec /Linux/lib ajouté à la fin, c' | ||
| + | |||
| + | printenv | ||
| + | |||
| + | affiche toutes les variables d' | ||
| + | |||
| + | printenv CASROOT | ||
| + | |||
| + | affiche la valeur de la variable d' | ||
| + | |||
| + | echo $CASROOT | ||
| + | |||
| + | fait exactement la même chose. | ||
| + | |||
| + | ==== Historique Interactif ==== | ||
| + | |||
| + | |||
| + | Une fonctionnalité de bash et tcsh (et parfois d' | ||
| + | |||
| + | ==== Complétion des noms de fichiers ==== | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | Une des fonctionnalités de bash et tcsh (et probablement d' | ||
| + | |||
| + | ==== Bash vous montre la voie ==== | ||
| + | |||
| + | |||
| + | Bash complète aussi bien les noms de commandes que les variables d' | ||
| + | En cas de possibilités multiples de complétion, | ||
| + | |||
| + | |||
| + | |||
| + | | ||
| + | |||
| + | |||
| + | ==== Redirection ==== | ||
| + | |||
| + | grep chaine fichier > nouveau_fichier | ||
| + | redirige la sortie de la commande précédente ' | ||
| + | |||
| + | grep chaine fichier >> fichier_existant | ||
| + | ajoute la sortie de la commande ' | ||
| + | |||
| + | Les opérateurs de redirection > et %%>> | ||
| + | |||
| + | |||
| + | |||
| + | ==== Pipes ==== | ||
| + | |||
| + | Le symbole tube (" | ||
| + | |||
| + | Par exemple : | ||
| + | |||
| + | ls -l | more | ||
| + | |||
| + | Cette commande prend la sortie du listage au format long des fichiers dans un répertoire produit par "ls -l" et la redirige vers la commande " | ||
| + | |||
| + | ==== Substitution de Commande ==== | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | Vous pouvez utiliser le résultat d'une commande comme paramètre d' | ||
| + | Une substitution de commande a lieu lorsque vous encadrez une commande avec des apostrophes inversées. | ||
| + | Par exemple : | ||
| + | |||
| + | cat `find . -name aaa.txt` | ||
| + | |||
| + | va afficher à l' | ||
| + | < | ||
| + | cat $(find . -name aaa.txt) | ||
| + | |||
| + | === Rechercher une chaîne de caractères : La commande grep === | ||
| + | |||
| + | grep chaine fichier | ||
| + | |||
| + | affiche toutes les lignes de //fichier// contenant //chaine// | ||
| + | |||
| + | |||
| + | === Rechercher des fichiers : La commande find === | ||
| + | |||
| + | Syntaxe : | ||
| + | find chemin -name fichier | ||
| + | |||
| + | |||
| + | find . -name aaa.txt | ||
| + | |||
| + | cherche les fichiers nommés aaa.txt dans le dossier courant ou ses sous-dossiers. | ||
| + | |||
| + | find / -name vimrc | ||
| + | |||
| + | cherche les fichiers nommés vimrc depuis le dossier racine | ||
| + | |||
| + | find / | ||
| + | |||
| + | cherche tous les fichiers dont le nom contient //xpilot// dans le dossier / | ||
| + | |||
| + | |||
| + | ==== Créer des archives (' | ||
| + | |||
| + | |||
| + | La commande tar signifie ' | ||
| + | |||
| + | |||
| + | Vous trouverez souvent des archives de fichiers avec des noms comme fichiers.tar, | ||
| + | |||
| + | Il est très probable, si quelqu' | ||
| + | |||
| + | De même, si vous devez envoyer des fichiers, vous devriez utiliser tar. | ||
| + | |||
| + | |||
| + | |||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | |||
| + | |||
| + | ==== Compression de fichier : gzip, bzip2 ==== | ||
| + | |||
| + | == gzip == | ||
| + | |||
| + | gzip est un outil GNU de compression et de decompression. L' | ||
| + | |||
| + | | gzip fichier.txt | crée le fichier compressé fichier.txt.gz | | ||
| + | | gunzip fichier.txt.gz | extrait le fichier fichier.txt | | ||
| + | |||
| + | |||
| + | == bzip2 == | ||
| + | |||
| + | L' | ||
| + | |||
| + | | bzip2 fichier.txt | crée le fichier fichier.txt.bz2 | | ||
| + | | bunzip2 fichier.txt.bz2 | décompresse le fichier fichier.txt.bz2. | ||
| + | |||
| + | |||
| + | |||
| + | ==== Besoin d'aide : La commande man === | ||
| + | |||
| + | La plupart des commandes ont une page de manuel qui donne une description de leurs utilisations plus ou moins détaillées, | ||
| + | |||
| + | Exemple: | ||
| + | man ls | ||
| + | affiche la page de manuel pour la commande ls | ||
| + | |||
| + | Pour obtenir des man pages en français : | ||
| + | sudo apt-get install manpages-fr | ||
| + | |||
| + | |||
| + | ==== Commandes de base de l' | ||
| + | |||
| + | == Ouvrir un fichier == | ||
| + | |||
| + | vi nom_du_fichier | ||
| + | |||
| + | == Mode édition == | ||
| + | |||
| + | '' | ||
| + | |||
| + | '' | ||
| + | |||
| + | '' | ||
| + | |||
| + | '' | ||
| + | |||
| + | '' | ||
| + | |||
| + | '' | ||
| + | |||
| + | ''< | ||
| + | |||
| + | == Effacer du texte == | ||
| + | |||
| + | '' | ||
| + | |||
| + | '' | ||
| + | |||
| + | ''// | ||
| + | |||
| + | '' | ||
| + | |||
| + | == Oups == | ||
| + | |||
| + | '' | ||
| + | |||
| + | == Copier et coller == | ||
| + | |||
| + | '' | ||
| + | |||
| + | ''// | ||
| + | |||
| + | '' | ||
| + | |||
| + | |||
| + | '' | ||
| + | |||
| + | == Positionnement du curseur == | ||
| + | |||
| + | '' | ||
| + | |||
| + | '' | ||
| + | |||
| + | '': | ||
| + | |||
| + | '': | ||
| + | |||
| + | '' | ||
| + | |||
| + | '' | ||
| + | |||
| + | == Recherche de chaîne de caractères == | ||
| + | |||
| + | ''/ | ||
| + | |||
| + | '' | ||
| + | |||
| + | ''#'': | ||
| + | |||
| + | == Substitution de chaîne de caractères == | ||
| + | |||
| + | '': | ||
| + | |||
| + | '' | ||
| + | |||
| + | '' | ||
| + | |||
| + | '' | ||
| + | |||
| + | Ces caractères, | ||
| + | c' | ||
| + | |||
| + | |||
| + | |||
| + | Exemples: | ||
| + | |||
| + | : | ||
| + | |||
| + | Remplace ' | ||
| + | |||
| + | : | ||
| + | |||
| + | Remplace ' | ||
| + | |||
| + | |||
| + | == Sauver, quitter et commandes d' | ||
| + | |||
| + | Ces commandes sont toutes préfixées par les deux points (:) et apparaissent dans le coin inférieur gauche de la fenêtre. \\ | ||
| + | Vous ne pouvez pas saisir ces commandes en mode édition. | ||
| + | Appuyer sur < | ||
| + | |||
| + | '': | ||
| + | |||
| + | '': | ||
| + | |||
| + | '': | ||
| + | |||
| + | '': | ||
| + | |||
| + | '': | ||
| + | |||
| + | '': | ||
| + | |||
| + | '': | ||
| + | |||
| + | '': | ||
| + | |||
| + | '': | ||
| + | |||
| + | ===== FAQs ===== | ||
| + | |||
| + | |||
| + | |||
| + | Vous trouverez la plupart du temps toutes les réponses à vos questions dans le manuel ou la documentation du programme. | ||
| + | Si toutefois vous ne trouvez pas de réponse, pensez à chercher sur les forums ou les groupes de discussion **avant** de poser votre question. | ||
| + | |||
| + | ===== Copyrights ===== | ||
| + | |||
| + | Le document original a été rédigé à l'aide de Vim. Vim est la meilleure version du seul véritable éditeur de texte : vi (sans compter emacs, bien entendu ;-) ) | ||
| + | |||
| + | Copyright (c) 2000, | ||
| + | Permission vous est donnée de copier, distribuer et/ou modifier ces documents selon les termes de la Licence GNU Free Documentation License, Version 1.1 ou ultérieure publiée par la Free Software Foundation ; avec comme la préface section invariante, pas de couverture ni quatrième de couverture. Consultez la GNU Free Documentation License : [[http:// | ||
