Annonce

Réduire
Aucune annonce.

Introduction au Terminal part.I

Réduire
X
 
  • Filtre
  • Heure
  • Afficher
Tout nettoyer
nouveaux messages

  • Tutoriel Introduction au Terminal part.I

    Pour commencer, ouvrez un Terminal.

    Si si, ouvrez un Terminal, ce n'est pas en lisant que vous allez vous familiariser avec !

    Nous allons donc apprendre les commandes UNIX. Celles-ci sont donc applicables "en majorité" sous Linux et Mac OS X. Cependant il y en a tout de même un certain nombre qui diffèrent.

    Ce tutoriel sera fait sous Mac OS X, mais est valable pour ceux sous Linux (parfois il y aura des choses un peu différentes, mais vous comprendrez, dans tous les cas).

    Commençons.

    Pour commencer, le prompt.

    Le prompt (ou l'invite de commandes), c'est, "en gros", ce que vous voyez qui s'écrit lorsque vous rentrez dans le terminal.

    Celui-ci peut se terminer par différents caractères.

    Normalement, le votre se termine par un $ ce qui signifie que vous êtes en mode utilisateur. Dans ce cas, est écrit sur cette "ligne" le nom de votre ordinateur suivi de : puis d'un tilde ~ puis du nom de votre session.

    Note : ~ = home directory = ce à quoi vous avez accès via votre interface graphique (Applications, Bureau, Téléchargements, etc.).

    Le prompt peut aussi se terminer par un # ce qui signifie que vous êtes en mode super-utilisateur = en root. En étant en mode super-utilisateur, vous avez tous les droits (voir mon cours sur les droits (chmod, chown, etc) qui se trouve ici ; si vous ne savez pas ce qu'est l'attribution des droits... allez lire ce tutoriel, puis revenez à celui-ci). Qui veut dire tous les droits veut dire les droits de lecture, d'écriture et d'exécution, ce qui est loin d'être le cas en mode utilisateur classique sur les fichiers système que vous serez amenés à manipuler. Via l'interface graphique, lorsque vous voulez modifier un fichier auquel vous n'avez pas accès en tant qu'utilisateur classique, il vous demande votre mot de passe administrateur.

    Comment passer un mode super-utilisateur ?

    Première commande :

    Code:
    sudo su
    Il va vous demander votre mot de passe administrateur (su = Super User), vous le saisissez (c'est normal si rien n'apparaît...), vous appuyez sur Entrée et votre prompt devrait se terminer par un #. Vous êtes en "root".

    Pour quitter le mode root, faites Ctrl+d. Vous reviendrez en mode utilisateur normal, avec le prompt qui se termine par un $ et des droits restreints. Faites-le.

    Bien, maintenant voyons les commandes de base.

    Ces commandes sont plus qu'utiles puisqu'elles vont vous servir à :

    - vous déplacer dans l'architecture des répertoires de votre système ;
    - lister ce qui se trouve dans un répertoire (répertoire = dossier...).

    La commande la plus utile est donc :

    Code:
    cd
    La commande cd vous permet de changer de répertoire (Change Directory). Elle vous permet de vous enfoncer dans l'architecture de votre système, et de remonter aussi, et ce, jusqu'à la racine de votre ordinateur.

    Ainsi, nous allons faire notre première commande :

    Code:
    cd Desktop
    Cette commande va vous emmener sur votre desktop, comme vous l'aurez compris^^

    Note : le bash est sensible à la casse ! Pensez toujours aux majuscules et minuscules où il faut, soyez précis, pensez au espaces, aux slash, etc. Vous comprendrez par la suite...

    Maintenant que vous êtes sur votre bureau, ce serait plutôt pas mal de lister ce qui s'y trouve, non ?!!

    Alors, pour cela, nous allons utiliser la deuxième commande la plus utile :

    Code:
    ls
    La commande ls sert donc a LiSter le contenu de votre directory (répertoire).

    Là vous devriez donc voir les noms des fichiers, dossiers et autre qui se trouve sur votre bureau ; chacun à la ligne.

    Faites donc un cd sur un dossier situé sur votre bureau.

    Exemple :

    Code:
    cd mon_dossier
    Puis enchaînez direct avec un ls :

    Code:
    ls
    Et vous voyez le contenu de votre dossier.

    Bien, vous devriez commencer à saisir comment naviguer dans votre terminal.

    Cependant, il vous manque une chose : comment remonter d'un répertoire ? Eh oui !

    Avant de vous le dire, notez une petite chose. Regardez votre prompt. Il est désormais constitué de votre nom de machine, puis : puis l'emplacement où vous vous situez dans votre système : le directory dans lequel vous vous trouvez actuellement (ensuite demeure votre nom de session suivi du $). Cela vous indique donc où vous êtes !

    Notez qu'il existe cette commande pour savoir justement où vous vous trouvez ! C'est pwd (Print Working Directory - Afficher le répertoire sur lequel nous sommes).

    Code:
    pwd
    Tapez simplement cette commande, sans rien derrière, et votre terminal vous répondra où vous vous trouvez, exactement, via l'expression d'un chemin absolu (soit, depuis la racine).

    Avant d'utiliser cette petite commande, je vais vous révéler comment revenir en arrière :

    Code:
    cd ..
    Tout simplement

    Regardez votre prompt : vous voyez bien "Desktop". Et pour vous en assurer, utilisez la commande pwd :

    Code:
    pwd
    Qui vous répondra :

    Code:
    /Users/votre-nom-admin/Desktop
    Notez une chose importante...

    Tout chemin absolu commence par la racine. La racine est toujours exprimée en informatique par un / et ça vaut pour le terminal plus qu'ailleurs encore ! La racine, c'est donc le plus haut niveau de l'architecture. A contrario on dit plutôt que c'est le niveau le plus bas, car, en informatique, plus on est "bas", plus on est proche du noyau. Mais bon, ne tergiversons pas là-dessus.

    Je vous invite donc à faire quelques commandes cd, ls, cd .. et pwd afin de vous familiariser avec ce mode de déplacement qui est propre à celui du terminal.

    Note : je vous disais que la racine était le niveau le plus haut (où le plus bas^^) et qu'elle était toujours exprimée par un / , ainsi, si vous deviez vous rendre à la racine, directement. Que feriez-vous ?

    tic-tac tic-tac tic-tac tic-tac.......

    Trouvé ? Réponse :

    Code:
    cd /
    Notez bien l'espace entre la commande et la cible.

    cd/ <-- vous rapporterait... une erreur :

    No such file or directory

    Il est très important, encore une fois, j'insiste, de bien faire attention à ce que vous tapez. Lorsque vous aurez un niveau plus avancé, vous serez amenés à manipuler de longues commandes, et le terminal ne pardonne pas ! Vous aurez droit à ce rapport d'erreur :

    No such file or directory

    A chaque fois que vous vous êtes trompé (celle-ci ou d'autres^^) d'un petit caractère ou d'un espacement. Soyez précis !

    Apprenez aussi directement à faire des chemins absolus, tels que, tout à l'heure, nous étions dans un fichier qui se situait sur votre Desktop que j'avais appelé mon_dossier, eh bien, après avoir fait un :

    cd /

    Et de s'être retrouvé à la racine ; quoi de mieux qu'un chemin absolu directement rentré dans le terminal sans devoir faire :

    cd /Users
    cd votre-nom-admin
    cd Desktop
    cd mon_dossier


    Bah ouais, la galère !

    Faites donc :

    Code:
    cd /Users/votre-nom-admin/Desktop/mon_dossier/
    C'est plus pratique non ?

    Eh bien il y a encore plus pratique : l'auto-complétion.

    Vous n'avez jamais entendu ce mot ? Pas grave, vous allez le comprendre.

    Retournez à la racine :

    Code:
    cd /
    Puis tapez :

    Code:
    cd /U
    Ne touchez à rien ! Appuyez sur la touche TAB

    Paf !

    Code:
    cd /Users/
    Ca s'est auto-complété ! Vous comprenez mieux le sens du mot maintenant, hein ?^^

    Et si ça marche avec Users... ça marche aussi pour votre-nom-admin ? Et aussi votre Desktop ainsi que tout ! Ehhh bien oui C'est ce qui permet d'aller nettement plus vite. C'est un des atouts nombreux atouts de la CLI (Command Line Interface, autrement dit un shell, un terminal quoi), c'est plus rapide ! Tout au clavier Et tout qui s'auto-complète

    Enfin, tout, non.

    En effet, mise en situation.

    Vous êtes sur votre bureau (je parle, bien entendu, toujours depuis le Terminal hein...) ; soit :

    Code:
    cd /Users/votre-nom-admin/Desktop/
    Et votre invite de commande est donc :

    Code:
    Nom-de-votre-machine:Desktop votre-nom-admin$
    Si vous avez, admettons, deux dossiers sur votre bureau qui commencent par les mêmes premières lettres, tels que :

    dossier_1
    dossier_2

    Si depuis la racine vous vouliez voir le contenu du dossier_2, vous aurez certainement eu le droit un un "Dong!" (en gros un bruit qui veut dire "anhannn... pas bon"^^), car vous auriez fait :

    Code:
    cd /Users/votre-nom-admin/Desktop/do
    Et là vous auriez fait : TAB

    Eh bien là vous auriez eu le "Dong!" Eh oui, comme il y a deux dossiers situés dans le même répertoire qui commencent tout deux par les deux mêmes lettres... il ne peut pas deviner dans quel dossier vous voulez aller^^ Du coup, il s'arrête à la lettre où il y a deux choix (ou plus) ; là en l'occurrence donc deux. Il va donc s'arrêter à :

    Code:
    cd /Users/votre-nom-admin/Desktop/dossier_
    Et là il va Donguer

    Il vous suffira d'appuyer sur 2 puis Entrée, et vous serez dans votre dossier_2

    Compris ?

    Bien, alors, justement, puisque nous parlons de dossiers... Et si nous en créions un ? (créions du verbe créer hein, rien à voir avec un crayon^^).

    Pour ce faire, allez sur votre bureau. Logiquement, là vous êtes dans un dossier situé sur votre bureau, bref, vous savez comment faire

    Une fois sur votre bureau, vous allez créer le dossier test_terminal.

    Eh oui mais "comment", me diriez-vous

    Avec la commande mkdir (pour MaKeDIRectory)

    Faites un petit pwd pour vous assurer que vous êtes bien sur votre bureau et lancez la commande suivante :

    Code:
    mkdir test_terminal
    Cela va donc créer un dossier dénommé test_terminal sur votre bureau (vous pouvez aller vérifier par vous même via l'interface graphique).

    Dans la foulée, je vais vous apprendre à créer un fichier.

    Vous êtes donc toujours situés sur votre bureau, et vous tapez la commande touch qui va vous permettre de créer un nouveau fichier, suivi du nom que vous souhaitez lui donner ; pour l'exemple, on veut l'appeler "Mon Fichier" (avec un espace entre les deux, ce que l'on ne peut jamais faire dans le terminal).

    Vous tentez donc :

    Code:
    touch Mon Fichier
    Dong!

    Eh oui... je vous l'ai dit, le terminal ne veut pas d'espaces, donc, pour faire un espace, il faut faire ce qu'on appelle un échappement.

    Nous allons donc utiliser le caractère backslash \ suivi d'un espace puis du deuxième mot, et là, ça va fonctionner.

    Code:
    touch Mon\ Fichier
    Vous avez donc appris comment créer un dossier, un fichier, comment les nommer et même avec des espaces, maintenant nous allons apprendre à les manipuler.

    Tout d'abord, nous allons déplacer le fichier "Mon Fichier" situé sur votre bureau dans le dossier "test_terminal".

    Pour cela, nous allons utiliser la commande mv (pour MoVe) comme ceci :

    Code:
    mv Mon\ Fichier test_terminal
    A noter que c'est parce-que nous nous situons sur le Desktop. En effet, si nous nous situions (du verbe situer^^) ailleurs, il aurait fallu... ? Mettre le chemin absolu Tout à fait.

    Avant ça, créons, pour l'exercice, un autre fichier que l'on va appeler "fichier2" :

    Code:
    touch fichier2
    Bien, donc maintenant, comme vous êtes maintenant très habitué ( ) aux déplacements dans le terminal, vous allez, revenir à la racine :

    Code:
    cd /
    Puis aller dans bin (peut importe ce qu'est bin (binary files^^) ce n'est pas l'intérêt, le but est de vous situer dans un répertoire qui n'a rien à voir avec celui que vous souhaitez traiter.

    Votre invite de commande ressemble donc à :

    Code:
    Nom-de-votre-machine:bin votre-nom-admin$
    D'ici, faites un chemin absolu pour déplacer votre fichier "fichier2" situé sur votre bureau dans votre dossier dénommé "dossier_terminal" situé lui aussi sur votre bureau (et dans lequel se trouve déjà votre fichier "Mon Fichier").

    Vous allez donc faire (pensez à utiliser l'auto-complétion ) :

    Code:
    mv /Users/votre-nom-admin/Desktop/fichier2 /Users/votre-nom-admin/Desktop/dossier_terminal/
    Notez bien la présence de l'espace entre les deux chemins absolus. Sans lui, ... Dong!

    Donc là, faites un petit pwd :

    Code:
    pwd
    Vous êtes toujours situés dans votre répertoire "bin". Et votre dossier "dossier_terminal" situé sur votre bureau contient donc vos deux fichiers : "Mon Fichier" et "fichier2".

    Allons visualiser tout cela pour s'en assurer

    Soit par le chemin absolu :

    Code:
    ls /Users/votre-nom-admin/Desktop/dossier_terminal/
    Soit à coup de cd (pour cela, il faudrait d'abord remonter à la racine en faisant cd .. comme vous le savez maintenant, puis retourner, répertoire par répertoire, jusqu'à votre dossier "dossier_terminal" situé sur votre bureau).

    Empruntons la première.

    Là, vous constatez donc que vous avez, dans votre dossier "dossier_terminal", vos deux fichiers.

    A présent, allez dans votre dossier "dossier_terminal" à coups de cd (avec la méthode décrite ci-dessus).

    Votre prompt est donc :

    Code:
    Nom-de-votre-machine:dossier_terminal votre-nom-admin$
    D'ici, nous allons supprimer le fichier "Mon Fichier". Pour ce faire, nous allons utiliser la commande rm (ReMove : supprimer).

    rm Mon\ Fichier

    faites un ls

    Code:
    ls
    Et vous voyez bien que vous n'avez plus qu'un seul fichier

    Désormais, nous allons apprendre à éditer un fichier.

    Pour ce faire, nous disposons de plusieurs éditeurs de texte directement en ligne de commande. Cependant, nous allons en utiliser un basique, nous verrons les plus complexes plus loin dans ce tutoriel. Cet éditeur s'appele nano.

    Vous allez donc faire la commande nano puis mettre le nom du fichier que vous souhaitez éditer, soit fichier2. Comme ceci :

    Code:
    nano fichier2
    Tout simplement

    Là, vous êtes donc désormais dans l'éditeur de texte en ligne de commande nano.

    Ecrivez comme si vous étiez dans un éditeur de texte normal via interface graphique ! Ca ne change pas ! Ecrivez par exemple le célèbre :

    Hello world!

    Puis, enregistrez en faisant Ctrl+o puis Entrée, puis quittez l'éditeur en faisant Ctrl+x.

    Vous retrouvez donc votre prompt

    Désormais, nous allons lire ce fichier, directement depuis le terminal, sans l'ouvrir dans un éditeur de texte (comme TextEdit ou autre) ni même sans l'ouvrir dans nano ! Simplement visualiser le contenu du fichier dans le terminal. Pour ce faire, vous allez utiliser la commande cat, comme ceci :

    Code:
    cat fichier2
    Et vous verrez apparaître son contenu en ligne de commande, soit :

    Hello world!

    Désormais, nous allons copier ce fichier "fichier2" sur votre bureau (tout en le gardant dans votre dossier "dossier_terminal", sinon, nous aurions bien évidemment utilisé la commande mv). Pour copier un fichier, nous utilisons tout simplement la commande cp (CoPy), comme ceci :

    Code:
    cp fichier2 /Users/votre-nom-admin/Desktop/
    Nous devons donc préciser ce que nous souhaitons copier, puis, où nous souhaitons le copier, en donnant un chemin absolu. Bien entendu, le fichier copié est le même, il a le même contenu, notre "Hello world!").

    Faisons un peu de ménage ! Nous nous trouvons donc dans notre dossier, tout d'abord, revenons sur notre Desktop :

    Code:
    cd ..
    Désormais, supprimons le fichier "fichier2" qui se trouve sur notre bureau (la copie que nous venons de créer) :

    Code:
    rm fichier2
    Puis maintenant, supprimons le dossier "dossier_terminal" (ainsi que tout ce qui s'y trouve, soit le fichier2 original).

    Code:
    rm dossier_terminal
    Dong!

    Eh oui, on ne peut pas supprimer un dossier comme ça Imaginez que vous supprimiez tout le contenu d'un dossier par mégarde (surtout que dans le terminal, comme vous l'aurez remarqué, la commande rm ne prévient pas^^ pas de demande de confirmation, elle delete tout, c'est même pas mis dans la corbeille (vous pouvez aller vérifier), tout est éradiqué ), ce serait fâcheux Donc pour ce faire vous devez utiliser un paramètre (votre premier paramètre sur une commande donc, un moment émouvant^^). Vous allez utiliser le paramètre -r pour
    Code:
    R
    écursif (c'est-à-dire que ça va supprimer tout ce qui se trouve dans le répertoire, entièrement tout) :

    Code:
    rm -r dossier_terminal
    Et voilà, votre dossier a disparu

    Notez que les paramètres sont constitués d'une seule lettre (et dans ce cas toujours précédés d'un tiret - ) ou de plusieurs (dans ce cas ils sont précédés de deux tirets -- ).

    Pour connaitre une commande, vous devez aller dans le man. Le man, c'est le "Manuel" d'utilisation de la commande. Autrement dit c'est la bible de l'utilisateur en ligne de commandes

    Par exemple, allons voir le man de la commande rm.

    Code:
    man rm
    Vous verrez en premier lieu le Name, qui vous explique très brièvement le rôle de la commande Synopsis, qui vous indique comment la commande doit être utilisée (syntaxe), puis la Description qui vous indique plus en profondeur ce à quoi cette commande sert, et enfin vous avez l'essentiel : les Options. Ce sont donc : les paramètres

    Vous pouvez donc voir, sur le man de cette commande rm le paramètre -r dans Options, qui vous explique le rôle de ce paramètre ; et vous pouvez voir aussi les autres paramètres possibles à utiliser sur cette commande.

    Je vous invite à lire avec attention le man de cette commande mais aussi de toutes les commandes que je vous ai appris tout au long de cette Introduction au terminal part. I.

    Note importante : pour quitter le man, appuyez sur la touche q (Quit)

    Vous pouvez donc faire :

    Code:
    man nom-de-la-commande-a-apprendre
    pour toutes les commandes suivantes (même nano et même man lui même !) :

    sudo
    cd
    ls
    pwd
    mkdir
    touch
    mv
    rm
    nano
    cat
    cp
    man


    Désormais, ce tutoriel s'achève, faisons un petit coup de ménage dans notre fenêtre

    Utilisons la commande clear

    Code:
    clear
    Et hop ! C'est tout propre A noter, vous pouvez aussi utiliser la combinaison de touches Ctrl+l (cela a donc pour effet d'effacer ce que vous voyez à l'écran, cependant, si vous remontez dans votre terminal, vous allez voir d'autres lignes plus haut ! Si vous souhaitez vider tout le terminal, soit tout ce que nous avons fait depuis le début, faites Cmd+k).

    Ainsi ce tutoriel d'Introduction au Terminal part.I s'achève !

    Manipulez le terminal ! Si vous ne faites que lire... arf... c'est comme regarder une vidéo de.... vous ne pouvez pas toucher !!! Et donc vous ne pouvez pas connaitre la sensation si particulière de son contact !!! Je parle du terminal bien entendu

    Suite à la part.II !


    sigpic

    Cyprium Download Link

    Plus j'étudie plus j'me rends compte que je n'sais rien.

    †|

  • #2
    Nice ! Une petite aide pour pwd : Print Working Directory
    Et n'oubliez pas de faire [commande] --help pour en savoir plus, sans se plonger dans un man parfois complexe !

    Commentaire


    • #3
      Excellent tutoriel, vivement la Part.II
      †vKs|

      Commentaire


      • #4
        Etrange... je vois peu de +1 pour un tuto sur lequel j'me suis bien cassé le cul Il est pas bien compliqué mais bon, c'est du cousu main Et puis surtout qu'il va avoir pas mal de frères (part.2 à ... 6 ou 8 voire 10^^)...

        Mais je dis ça je ne dis rien

        "Tu ne quémanderas point"

        PS: @comaX, oui, je savais, petite omission de ma part, je vais l'add. Et le man c'est la bible Blasphème...
        sigpic

        Cyprium Download Link

        Plus j'étudie plus j'me rends compte que je n'sais rien.

        †|

        Commentaire


        • #5
          Envoyé par SAKAROV Voir le message
          PS: @comaX, oui, je savais, petite omission de ma part, je vais l'add. Et le man c'est la bible Blasphème...
          Je suis tout a fait d'accord, jamais je ne remettrai en cause le man ! Mais parfois y'a pas besoin non plus de se lire tous les détails, pour supprimer un dossier avec récursion par exemple ^^

          Et allez, un p'tit point de réput pour l'msieur, c'est la maison qui offre !

          Commentaire


          • #6
            Super introduction au terminal merci !

            Commentaire


            • #7
              Sympatique comme introduction pour les nouveaux Unixiens !
              Par contre, utiliser "su" avec "sudo" est totalement inutile, puisque "su" permet à un utilisateur lambda de passer root, c'est pourquoi il serait illogique d'avoir besoin de droits root pour s'en servir. Ce serait comme faire "root -> root" au lieu de "user -> root". A noter qu'un "exit" permet de revenir à une session normale.

              Autrement c'est un bon guide.
              Y a deux ailes au cul de Lalla, sinon ça peut pas voler.

              Commentaire


              • #8
                yep. merci. j'en avais fait 6 et prévu 9 (ça finissait logiquement sur du shellscripting) mais je ne les ai jamais terminés... et sachant que je l'ai rédigé, celui-ci, il y a 2 ans et demi (1 an avant l'ouverture de ce forum, en fait à la base je l'avais fait pour un autre, bref), maintenant, ça me parait un peu loin pour reprendre le tout :s dommage
                sigpic

                Cyprium Download Link

                Plus j'étudie plus j'me rends compte que je n'sais rien.

                †|

                Commentaire

                Chargement...
                X