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 23/11/2016, 06:18] – [Lister le contenu d'un dossier] 41.229.41.66 | 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:// |