Unix, *BSD, Linux, Debian, Ubuntu, Gentoo, Suze, RedHat, Mandrake, Mandriva

 Charge moyenne sur 1mn : 0.72 Charge moyenne sur 5mn : 0.89 Charge moyenne sur 15mn : 0.90


GNU / Linux is Freedom.

GNU / Linux is a free, cross-platform operating system the result of the efforts of multiple projects working together over the Internet. GNU / Linux can run most models of existing computers, from supercomputers to embedded systems to embedded systems. servers and personal computers.





Site user blocks : Account info / user rights / summary

Identify yourself

Authenticate with your ZW3B account and take advantage of member services.

Username :
Password :
  
  

Les commandes fondamentales de Linux

L'objectif de ce petit document est d'enseigner les commandes fondamentales de Linux (et donc d'Unix).

Informations :

Dates
  • Publish : : Sunday 11 january 2004
  • Modification : Thursday 02 february 2012

  • 735 views

Share :

Table des matières

  • Introduction
  • Commandes fondamentales
    • Se déplacer dans les répertoires (cd)
    • Où suis-je ? (pwd)
    • Lister les fichiers d'un répertoire (ls)
    • Voir un fichier (cat et more)
    • Éditer un fichier (viemacsjoe)
    • Copier un fichier (cp)
    • Supprimer un fichier (rm)
    • Créer un répertoire (mkdir)
    • Déplacer ou renommer un fichier (mv)
    • Retrouver un fichier (find, locate et which)
    • Trouver du texte dans un fichier (grep)
    • Les liens (ln)
    • Le compactage et le décompactage des fichiers au format .gz : la commande gzip
    • La commande uncompress
    • Archivage de données : la commande tar.
    • Connaître l'espace disque restant (df, du)
    • La gestion des processus (top, ps, pstree, kill, killall).
    • La connexion de plusieurs commandes : les pipes.
    • Les redirections

Introduction

Auteur : Armand Delcros 
Dernière mise à jour : 04/05/1998 
Contributions et remerciements :

  • Nat Makarevitch pour ses nombreuses critiques et corrections,
  • Thomas Ortega pour ses bienveillantes remarques et la remise en forme du document,
  • Kim Ashue pour pour sa relecture,
  • Philibert de Mercey pour son aide à la mise en page.

L'objectif de ce petit document est d'enseigner les commandes fondamentales de Linux (et donc d'Unix).

Commandes fondamentales

Se déplacer dans les répertoires (cd)

Lorsque vous avez passé le login et le password de linux, vous vous retrouvez devant le prompt shell qui est le plus souvent celui de bash (sinon vous serez devant celui de csh). Il ressemble le plus souvent à ceci :

001 [root@mistra /root]$

Le mot root signifie que vous vous êtes "logué" sur le compte de l'administrateur système. Vous êtes donc en pleine possession de la machine, vous pouvez faire absolument n'importe quoi, jusqu'à supprimer tous les fichiers ... faites donc très attention ... En théorie il ne faut utiliser la machine sous ce compte qu'afin de l'administrer. Des comptes dits « d'utilisateurs » permettent sinon de travailler en temps normal. Nous verrons ci-après comment créer un compte utilisateur.

Le mot "mistra" représentera, dans ce document, le nom de votre ordinateur (pour le connaître invoquer la commande "hostname")

Actuellement vous vous trouvez sous le compte de l'administrateur système, c'est-à-dire que vous êtes dans le répertoire /root (sous Unix, les composants des noms de répertoires sont séparés par des "slash" (/) et non pas comme sous MS-DOS par des "anti-slash" ()).

Déplaçons-nous dans la "racine" du système :

001 [root@mistra /root]$ cd ..

Faites bien attention de séparer par un espace cd et .., UNIX exige une grande précision dans la syntaxe des commandes. Soumettez la commande au système grâce à la touche « Entrée », évidemment !

Vous êtes maintenant dans le répertoire racine :

001 [root@mistra /]#

Que contient-il ? Tapez la commande ls, et voyez le résultat, vous devez obtenir quelque chose comme : 
bin boot cdrom etc usr var vmlinux Si certains fichiers ou répertoires manquent ce n'est pas important.

Déplaçons-nous dans le répertoire qui contient une grande partie des programmes (souvent simplement appelés « binaires ») de linux : /usr/bin : cd usr/bin. Vous pouvez là aussi obtenir le contenu du répertoire en utilisant la commande ls.

Maintenant allons voir ce que contient le répertoire /etc (aperçu lorsque nous avons listé le répertoire racine /). Nous avons deux possibilités pour nous y rendre : soit nous revenons dans le répertoire racine et nous nous rendons ensuite dans le répertoire etc; soit nous nous rendons immédiatement dans le répertoire /etc :

- Méthode no 1 : 
cd / (pour se rendre à la racine) 
puis 
cd etc 
Cette méthode est fastidieuse car elle nécessite de taper deux commandes successives.

Nous pouvons utiliser la deuxième méthode pour nous rendre directement dans le répertoire /etc en écrivant le chemin complet dans la commande cd : 
- Méthode no 2 : 
cd /etc 
et nous sommes directement dans le répertoire /etc. Dans cette commande nous avons indiqué que pour se rendre dans le répertoire etc, il fallait d'abord se rendre dans le répertoire racine. Pour se faire nous avons placé un / devant etc.

Lorsque l'on ajoute un ~ au lieu d'un chemin à la commande cd, celle-ci nous replace automatiquement dans notre répertoire utilisateur. Si vous êtes en administrateur système la commande par cd ~ vous placera dans le répertoire /root. Dans le cas où je suis (je suis loggé en tant qu'utilisateur le_nom_de_votre_choix) je vais automatiquement me retrouver dans le répertoire de l'utilisateur le_nom_de_votre_choix qui se trouve dans /home/le_nom_de_votre_choix. Les répertoires des utilisateurs sont tous sous/home.

001 [le_nom_de_votre_choix@mistra bin]$cd ~

- Ceci est la méthode orthodoxe, sinon vous pouvez faire simplement :

001 [le_nom_de_votre_choix@mistra bin]$cd /home/le_nom_de_votre_choix

et vous reviendrez ainsi dans votre répertoire personnel.


Dans quel répertoire suis-je actuellement ? (pwd)

Lorsque l'on se déplace dans les répertoires, par défaut bash n'affiche que le « nom court » du répertoire où l'on se trouve. Le nom court ne comprend pas le chemin complet. Or il peut arriver qu'un même nom court corresponde à plusieurs répertoires bien distincts, donc que seuls les chemins qui y mènent permettent de les distinguer. C'est par exemple le cas du nom court bin, que l'on trouve en /bin et en /usr/local/bin. Il existe beaucoup d'autres exemples. La solution pour connaître le chemin du répertoire où l'on se trouve est d'utiliser la commande pwd :

001 [le_nom_de_votre_choix@mistra bin]$ pwd
002 /usr/bin
003 [le_nom_de_votre_choix@mistra bin]$ 

Lister les fichiers d'un répertoire (ls)

La commande ls et ses très nombreuses options vous permettront d'obtenir beaucoup d'informations sur les fichiers présents dans un répertoire : déplaçons nous par exemple dans le répertoire /bin et listons le contenu de ce répertoire :

001 [le_nom_de_votre_choix@mistra bin]$ cd /bin
002 [le_nom_de_votre_choix@mistra /bin]$ ls
003 arch           dd             gzip           nisdomainname  su
004 ash            df             hostname       ping           sync
005 awk            dmesg          kill           ps             tar
006 cp             fgrep          mount          sh             ypdomainname
007 cpio           gawk           mt             sleep          zcat
008 csh            grep           mv             sort           zsh
009 date           gunzip         netstat        stty           ls

Ceci est un listing "brut" du répertoire /bin qui contient les utilitaires de base de linux. On reconnaît par exemple la commande ls ... 
De la même manière que sous MS-DOS (avec la commande dir), nous pouvons demander à Linux de lister seulement les fichiers dont les noms contiennent des caractères donnés. Demandons par exemple uniquement les noms des fichiers commençant par la lettre "l" :

001 [le_nom_de_votre_choix@mistra /bin]$ ls l*
002 ln login ls
003 [le_nom_de_votre_choix@mistra /bin]$

Voici quelques options intéressantes de la commande ls (les options sous UNIX suivent la commande et sont le plus souvent précédées d'un tiret) : 
L'option ls -l permet de lister les attributs des fichiers (les droits de lecture, d'écriture et d'exécution, le propriétaire, le groupe, la taille en octets, sa date de création ou de modification) :

001 [le_nom_de_votre_choix@mistra /bin]$ ls -l
002 total 3615
003 -rwxr-xr-x    1 root     root         2716 Apr 23  02:09  arch
004 -rwxr-xr-x    1 root     root        56380 Dec 23  1996   ash
005 lrwxrwxrwx    1 root     root            4 May 10  20:01  awk -> gawk
006 -rwxr-xr-x    1 root     root        18768 Mar  8  19:17  basename
007 -rwxr-xr-x    1 root     root       300668 Sep  4  1996   bash
008 lrwxrwxrwx    1 root     root            3 May 10  19:59  bsh -> ash
009 -rwxr-xr-x    1 root     root        16584 Dec 16  1996   cat
010 -rwxr-xr-x    1 root     root        17408 Nov 26  1996   chgrp

Notes : Ici, tous les fichiers appartiennent à l'administrateur système (root) et à son groupe (root), comme les sections consacrées à chmod et à chown l'exposerons). Nous traiterons du sens de la fin de chaque ligne, qui contient parfois une flèche visible ici sur la ligne awk -> gawk, dans la section consacrée aux liens ln.

ls -a liste tous les fichiers du répertoire, y compris les fichiers cachés. Cette option est très utile lorsque l'on se trouve dans son répertoire personnel car il contient les fichiers de configuration de l'utilisateur dont les noms commencent généralement par un point et seule l'option -a permet de détecter leur existence.

Exemple avec le répertoire de l'administrateur système : 
voici une partie des fichiers listés avec la commande ls sans option :

001 [root@mistra /root]# ls 
002 
003 bookmarks.sgml     mc.hint            scrsh2             2494.html
004 Desktop            ftape.o            mc.hlp             scrsh3
005 FAQ.services.html  kbanner.kssrc      mc.lib             xdm-config

Et voici une partie du résultat avec la commande ls -a.

001 [root@mistra /root]# ls -a 
002 
003 .                              .kvtrc                         .xquadkey
004 ..                             .letter                        .xquadkey~
005 .BitchX                        .mc.ext                        2494.html
006 .Xmodmap~                      .peruser-newsrc-working        
007 .amaya                         .peruser_config                Desktop
008 .applications                  .peruser_spool                 FAQ.services.html

On peut maintenant connaître tout (option 'a' : penser au mot "all") le contenu du répertoire.

D'autres options de ls sont utiles : 
ls -m : 
Affiche les fichiers en les séparant par une virgule au lieu de les présenter en colonnes.

ls -t : 
Affiche les fichiers par date, c'est-à-dire en les classant du récent au plus ancien.

ls -lu : 
Affiche les fichiers par date de dernier accès et indique cette date.

ls -F : 
Affiche les fichiers par type. Ainsi un fichier suivi d'un slash (/) est un répertoire, un fichier suivi d'une étoile est un fichier exécutable et un fichier suivi d'un "@" est un lien (nous reviendrons sur les liens dans la section consacrée à ln).

ls -S : 
Affiche les fichiers triés par ordre de taille décroissante.

ls -X : 
Affiche les fichiers par type d'extension.

ls -r : 
Affiche les fichier en ordre alphabétique inverse. 
Cette option à la particularité d'inverser l'effet de tous les tris requis. Par exemple, la commande ls -tr affichera les fichiers par date en commençant par les plus anciens pour finir par les plus récents.


Voir un fichier (cat et more)

La commande cat permet de lire des fichiers. Nous avons vu tout à l'heure que le répertoire /root contenait des fichiers de configuration. Ces fichiers sont simplement des fichiers textes avec un agencement et une syntaxe particulière. Regardons le contenu du fichier .bashrc qui permet de configurer à souhait son shell :

001 [root@mistra /root]# cat .bashrc
002 # .bashrc
003 
004 # User specific aliases and functions
005 
006 # Source global definitions
007 if [ -f /etc/bashrc ]; then
008 . /etc/bashrc
009 fi
010 source .sd.sh
011 [root@mistra /root]#

Une option utile de cat est -n qui permet de numéroter les lignes (ne pas oublier que cat permet de lire et non de modifier un fichier. Ainsi la numérotation de ligne apparaît à l'écran mais le fichier .bashrc n'en est pas pour autant modifié).

001 [root@mistra /root]# cat -n .bashrc
002 1 # .bashrc
003 2
004 3 # User specific aliases and functions
005 4
006 5 # Source global definitions
007 6 if [ -f /etc/bashrc ]; then
008 7 . /etc/bashrc
009 8 fi
010 9 source .sd.sh
011 [root@mistra /root]#

Si vous souhaitez connaître les autres options de cat, tapez au prompt cat --help.

Vous pouvez utiliser la commande more pour visualiser un fichier. La commande more a l'avantage d'afficher le fichier page par page. Pour passer d'une page à l'autre, tapez sur la touche ESPACE.


Éditer un fichier (viemacsjoe)

vi (l'éditeur le plus ancien)

vi date des années 70 .... autant dire que cet éditeur a du métier et n'est toujours pas démodé. Ce n'est pas celui que j'utilise mais beaucoup en sont adeptes malgré son apparence fruste. Ceci s'explique par une grande puissance ... Si je m'attarde quelque peu sur vi, c'est que dans les moments critiques où rien ne fonctionne, où tout va mal, c'est l'éditeur qu'on ne peut éviter. 
Lançons Vi :

001 [root@mistra /root]# vi

Après le lancement de la commande vous allez vous trouver directement dans l'éditeur ... Pendant ce court apprentissage de vi, nous allons créer un fichier, le modifier, l'enregistrer, ... et quelques autres petites manoeuvres de survie :

  • Passer du mode commande aux modes texte, taper du mode texte, enregistrer.

    vi comprend deux modes : un mode "commande" et un mode "insertion", après le lancement de vi nous sommes en mode commande : appuyez sur la touche Echap puis sur a (a, comme "append", permet d'ajouter du texte après le curseur). Vous voyez en bas de l'écran apparaître la ligne " INSERT ". Nous pouvons commencer notre texte :

    linux est gratuit puissant en perpetuelle evolution.
    Linux est stabble. Linux existe depuis 1991 seulement
    et pourtant quel chemin parcouru !

    N'oubliez pas de placer retour chariot au bout de chaque ligne.

    Sauvons le fichier : nous sortons d'abord du mode texte en appuyant à nouveau sur la touche Echap. La mention " INSERT " disparaît, nous sommes en mode commande. Tapez maintenant :w linux-test et sur la touche retour chariot (afin d'écrire ("write") le fichier). Vous devez obtenir en bas de l'écran ceci :

    "linux-test" [New File] 3 lines, 142 characters written
  • Supprimer du texte et quitter vi

    Nous voyons qu'à la deuxième ligne, j'ai fait une grosse fôte d'aurtograffe. Nous allons supprimer le "b" qui est en trop dans stabble : déplacez le curseur sur un des "b" en trop, passez en mode commande ("INSERT " ne doit pas apparaître à l'écran), appuyez sur x, le b a disparu.

    Quittons vi, mais auparavant, nous devons sauver les modifications effectuées : Passez en mode commande et tapez :wq (write et quit). Vous êtes sorti de vi et votre fichier a été sauvegardé sous linux-test. Pour revenir à vi en ouvrant le fichierlinux-test au démarrage tapez :

    [root@mistra /root]# vi linux-test

    Si vous souhaitez quitter sans enregistrez les dernières modifications, il vous faudra passer en mode commande et taper : q!

    Ceci est une présentation très très courte de vi, mais qui vous permettra malgré tout de survivre au cas où vous devriez absolument l'utilisez. Voyons tout de même un rapide descriptif d'autres commandes vi :
  • D'autres commandes vi.

    A permet d'ajouter du texte à la fin de la ligne.
    i permet d'ajouter du texte avant le curseur.
    o permet d'ajouter une ligne en dessous du curseur.
    O permet d'ajouter une ligne au dessus du curseur.

    le retour chariot permet d'aller à la ligne suivante.

    dd permet de supprimer la ligne courante.

    X permet de supprimer le caractère avant le curseur. 
    u permet d'annuler la dernière commande effectuée.

Emacs ... la puissance !

Emacs date de la fin des années 70 et ne cesse d'évoluer depuis, ce qui fait de lui, sans aucun doute possible, l'éditeur le plus puissant au monde. Bien plus qu'un éditeur, emacs est un environnement de travail : édition, programmation, mail, news, shell ... bref on peut rester sous emacs sans avoir besoin de quoi que ce soit d'autre.

Ses adeptes sont très nombreux.

Et surtout ne leur dites pas qu'emacs est lourd ...vous vous tromperiez lourdement (je sais de quoi je parle ... j'ai fait l'erreur et en ce moment je suis sous emacs ... ;-)) 
Lançons emacs :

001 [root@mistra root]$ emacs

Ouvrons maintenant le fichier linux-test que nous avons créé précédemment sous vi : 
Pour cela utilisez la séquence de touches suivante : Ctrl-x Ctrl-f

Vous voyez apparaître en bas de l'écran : 
Find File : ~/

tapez le nom du fichier et faites un retour chariot.

Nous retrouvons notre charmant petit texte. 
Vous le comprenez, la touche Ctrl permet de passer des commandes et de passer du mode texte au mode commande. Vous pouvez le modifier à souhait. Les touches Backspace et Suppr fonctionnent comme sous n'importe quel éditeur.

Pour sauver le fichier, tapez la séquence de touches suivante :

Ctrl-x Ctrl-s

Si vous êtes bloqués dans la ligne de commande d'emacs après avoir effectué de mauvaises manipulations et que vous souhaitez retrouver le mode texte, tapez la séquence suivante : 
Ctrl-g

Si vous avez fait des erreurs dans le texte, la séquence suivante permet de supprimer les dernières modifications : 
Ctrl-x u

Si vos touches de direction ne fonctionnent pas, voici plusieurs séquences de touches qui vous permettent de vous déplacer dans votre document : 
Ctrl-p : monter d'une ligne.

Ctrl-n : descendre d'une ligne.

Ctrl-f : avancer d'un caractère.

Ctrl-b : reculer d'un caractère.

Ctrl-v : avancer d'un écran (ou d'une page si vous préférez).

Alt-v : reculer d'un écran.

Ctrl-d : supprimer le caractère sur lequel le curseur se trouve.

Une commande utile est : 
Ctrl-s qui permet de faire une recherche "dynamique" ("incrémentale") sur une suite de caractères dans le texte.

Meta-% permet de lancer un "Rechercher et remplacer". La touche Meta est en général confondue avec la touche Alt

Pour quitter emacs, utiliser la combinaison de touches suivante : Ctrl-x Ctrl-c

Avec cette rapide présentation vous pourrez déjà "barboter" un peu sous emacs. Il m'est impossible de décrire dans ce document les milliers de fonctions disponibles .... si vous souhaitez en savoir plus, cette séquence vous permettra de rentrer dans l'aide d'emacs : 
Ctrl-h

Ou bien lancez le "tutorial" : 
Ctrl-h t

Si vous devenez un mordu d'emacs (ce qui est tout a fait normal : -) vous pourrez trouver quelques ouvrages sur emacs dans toutes les bonnes bibliothèques.

joe : la simplicité.

joe est l'éditeur que j'utilise pour faire des petites modifications dans mes fichiers de configuration par exemple, il est très leger, il ne possède pas la puissance d'emacs mais rend lui aussi service : 
Pour appeler joe :

001 [root@mistra /root]# joe

joe est très intuitif (à la Wordstar), pas besoin de s'étendre sur les fonctionnalités textes. Trois opérations fondamentales à connaître :

Ctrl-k e permet d'ouvrir un fichier

Ctrl-k d permet de sauvegarder le fichier

Ctrl-k x permet de sauvegarder le fichier et de quitter joe

Ctrl-c permet de quitter joe sans sauvegarder les modifications.

joe possède de nombreuses fonctions possibles qui sont décrites dans le man (nous verrons comment y accéder dans la section consacrée à man).


Copier un fichier (ou un répertoire) : cp.

La syntaxe de la commande cp est la suivante :

001 cp [option] fichier-origine fichier-destination

ou

001 cp [option] fichier répertoire

par exemple pour faire une copie de notre fichier linux-test en un fichier linux-test2, il suffit de faire :

001 [root@mistra /root]# cp linux-test linux-test2

Nous possédons maintenant deux exemplaires de notre fichier dans /root.

ATTENTION ! : si vous effectuez une copie d'un fichier sur un fichier qui existe dejà, celui-ci sera effacé et remplacé par le nouveau fichier.

Si vous souhaitez copier le fichier linux-test dans un répertoire (par exemple /home) en gardant le nom du fichier, utilisez la commande suivante :

001 [root@mistra /root]# cp linux-test /home

Pour lui donner un autre nom :

001 [root@mistra /root]# cp linux-test /home/linux-test2

Nous venons de voir que l'utilisation de cp est dangereuse et l'on risque parfois d'effacer des fichiers importants. Les options de cp peuvent vous éviter des situations fâcheuses.

cp -i avertit l'utilisateur de l'existence d'un fichier du même nom et lui demande s'il peut ou non remplacer son contenu. Recopions à nouveau le fichier linux-test sur linux-test2 avec l'option -i :

001 [root@mistra /root]# cp -i linux-test linux-test2
002 cp : overwrite `linux-test2'?

cp vous demande s'il peut écraser linux-test2 : répondre par y (yes) ou n.

Quelques options importantes de cp : 
cp -b permet comme l'option -i de s'assurer que la copie n'écrase pas un fichier existant : le fichier écrasé est sauvegardé, seul le nom du fichier d'origine est modifié et cp ajoute un tilde (~) à la fin du nom du fichier.

cp -l permet de faire un lien "dur" entre le fichier source et sa copie. Ceci signifie que le fichier copié et sa copie partageront physiquement le même espace. Cela permet des gains de place non négligeables. Plus exactement, sur le disque dur le fichier et sa copie seront le même fichier alors qu'avec une copie classique, le disque dur contiendra deux exemplaires du fichier.

cp -s permet de faire un lien "symbolique" entre le fichier source et sa copie. Le lien symbolique est un pointeur. Ainsi si nous copions le fichier linux-test avec l'option -s, lorsque par exemple nous voudrons éditer le fichier copié, linux éditera en réalité le fichier original (voir la section consacrée à ln pour un descriptif plus complet des liens).

cp -p permet lors de la copie de préserver toutes les informations concernant le fichier comme le propriétaire, le groupe, la date de création (voir les sections consacrées à chmod et chown pour plus d'informations).

cp -r permet de copier de manière récursive l'ensemble d'un répertoire et de ses sous-répertoires.

Exemple : 
Je possède dans mon répertoire /home/le_nom_de_votre_choix/personnel un répertoire intitulé "mygale" et qui contient 3 sous répertoires (echecslinuxxcaissa) : 
/home/le_nom_de_votre_choix/personnel/ 
/home/le_nom_de_votre_choix/personnel/mygale/ 
/home/le_nom_de_votre_choix/personnel/mygale/echecs/ 
/home/le_nom_de_votre_choix/personnel/mygale/linux/ 
/home/le_nom_de_votre_choix/personnel/mygale/xcaissa/ 
Je souhaite copier le répertoire mygale ainsi que ses sous-répertoires dans mon répertoire /home/le_nom_de_votre_choix/ : j'utilise la commande (en supposant que je me suis au préalable déplacé dans le répertoire/home/le_nom_de_votre_choix/personnel/ :

001 [le_nom_de_votre_choix@mistra personnel]$ cp -r mygale /home/le_nom_de_votre_choix

cp -v permet d'afficher le nom des fichiers copiés. Utile si par exemple vous copiez plusieurs fichiers (à l'aide des occurences * et/ou ?) et que vous souhaitez voir le bon déroulement de la "multicopie". J'aurais pu par exemple utiliser cette option lors de ma copie récursive du répertoire mygale.

J'aurais ainsi vu ceci en associant l'option -v et -r :

001 [le_nom_de_votre_choix@mistra personnel]$ cp -rv mygale /home/le_nom_de_votre_choix
002 mygale -> /home/le_nom_de_votre_choix/mygale
003 mygale/index.html -> /home/le_nom_de_votre_choix/mygale/index.html
004 mygale/logo.gif -> /home/le_nom_de_votre_choix/mygale/logo.gif
005 mygale/linux -> /home/le_nom_de_votre_choix/mygale/linux
006 mygale/linux/linux.html -> /home/le_nom_de_votre_choix/mygale/linux/linux.html
007 .....

(c'est une partie du résultat).


Supprimer un fichier (rm).

PREAMBULE : 
Nous entrons maintenant dans une zone à risque, mieux vaut donc se loguer en tant qu'utilisateur de la machine et non pas en tant qu'administrateur système (root), car nous risquerions par une mauvaise manipulation de supprimer des fichiers fondamentaux nécessaires au bon fonctionnement de linux. Nous allons donc créer un compte utilisateur, lui attribuer un mot de passe et nous loguer sur ce compte. Exécutez les commandes suivantes, une explication détaillée interviendra ensuite :

Créons un utilisateur (votre prénom par exemple, mais sans accent et si possible long de moins de 8 caractères) :

001 [root@mistra /root]#adduser le_nom_de_choix

Définissons lui un mot de passe (saisir deux fois le même mot de passe, la seconde sert à confirmer) :

001 [root@mistra /root]#passwd le_nom_de_votre_choix

Copions notre fichier dans notre Home Directory (gardons notre fichier pour continuer nos petites expériences ;).

001 [root@mistra /root]#cp linux-test /home/le_nom_de_votre_choix 

Attribuons les droits sur le fichiers à notre nouvel utilisteur (L'administrateur donne généreusement le fichier linux-test au nouvel utilisateur avec la commande "chown" que nous verrons dans les commandes d'administration système, pour l'instant ne vous en souciez pas.)

001 [root@mistra /root]#chown le_nom_de_votre_choix:le_nom_de_votre _choix /home/le_nom_de_votre_choix

Puis identifions-nous avec notre nouvel utilisateur (la commande su permet de se loguer sur un autre compte).

001 [root@mistra /root]#su le_nom_de_votre_choix 

Il suffira de saisir exit pour « retomber » dans la session de travail de l'administrateur (root).

Effectuons à nouveau une copie du fichier linux-test (tapez cd pour vous retrouver dans votre répertoire personnel) :

001 [le_nom_de_votre_choix@mistra le_nom_de_votre_choix]$ cp linux-test linux-test2

LA COMMANDE rm 
Pour supprimer le fichier "linux-test2" :

001 [le_nom_de_votre_choix@mistra le_nom_de_votre_choix]$ rm linux-test2

LES OPTIONS de rm 
Comme pour cp, l'option -i permet à rm de demander à l'utilisateur s'il souhaite vraiment supprimer le ou les fichiers en question :

001 [le_nom_de_votre_choix@mistra le_nom_de_votre_choix]$ rm -i linux-test2
002 rm : remove `linux-test2'?

(il vous suffit donc de répondre y ou n)

rm -d permet de supprimer un répertoire qu'il soit plein ou non (attention dangereux ...)

rm -r permet de supprimer un répertoire et ses sous répertoires (attention TRÈS dangereux)

rm -f permet de supprimer les fichiers protégés en écriture et répertoires sans que le prompt demande une confirmation de suppression (à utiliser avec précaution ...)


Créer un répertoire (mkdir).

Pour créer un répertoire, il suffit de taper la commande suivante (ici je crée le répertoire "personnel" dans /home/le_nom_de_votre_choix :

001 [le_nom_de_votre_choix@mistra le_nom_de_votre_choix]$ mkdir personnel

Une option de mkdir est souvent utile :

001 @@mkdir -p@@ permet de créer une suite de répertoire.

Supposons que je veuille créer dans mon répertoire /home/le_nom_de_votre_choix la suite de répertoires suivante : doc/mygale/mail. Je peux faire soit :

001 [le_nom_de_votre_choix@mistra le_nom_de_votre_choix]$ mkdir doc
002 [le_nom_de_votre_choix@mistra le_nom_de_votre_choix]$ cd doc
003 [le_nom_de_votre_choix@mistra le_nom_de_votre_choix]$ mkdir mygale
004 [le_nom_de_votre_choix@mistra le_nom_de_votre_choix]$ cd mygale
005 [le_nom_de_votre_choix@mistra le_nom_de_votre_choix]$ mkdir mail

Ou bien utiliser l'option -p qui me permet de créer la suite de répertoires "parents" le plus simplement du monde :

001 [le_nom_de_votre_choix@mistra le_nom_de_votre_choix]$ mkdir -p doc/mygale/mail

Déplacer ou renommer un fichier (mv).

Pour comprendre la commande mv, voyons une suite de commandes qui effectuent des opérations différentes :

001 [le_nom_de_votre_choix@mistra le_nom_de_votre_choix]$ mv linux-test perso

renomme le fichier linux-test en perso

001 [le_nom_de_votre_choix@mistra le_nom_de_votre_choix]$ mv perso perso

va écraser le fichier existant avec la source.

001 [le_nom_de_votre_choix@mistra le_nom_de_votre_choix]$ mv personnel mon-répertoire

va renommer le répertoire personnel en mon-répertoire

001 [le_nom_de_votre_choix@mistra le_nom_de_votre_choix]$ mv perso /home/le_nom_de_votre_choix/mon-répertoire

va déplacer le fichier perso dans le répertoire /home/le_nom_de_votre_choix/mon-répertoire

Les options :

  • mv -b ('b@@' comme "backup") va effectuer une sauvegarde des fichiers avant de les déplacer :
001 [le_nom_de_votre_choix@mistra le_nom_de_votre_choix]$ mv -b mon-répertoire/perso /mon-répertoire/linux-test


Cette commande va renommer le fichier perso en linux-test, cependant vous trouverez dans le répertoire une sauvegarde de perso (perso~).

  • mv -i ('i' comme «interactive») demande pour chaque fichier et chaque répertoire s'il peut ou non déplacer fichiers et répertoires.
  • mv -u ('u' comme «update») demande à mv de ne pas supprimer le fichier si sa date de modification est la même ou est plus récente que son remplaçant. Exemple :

Déplaçons-nous vers notre répertoire personnel puis créons un nouveau fichier avec l'éditeur de texte joe :

001 [le_nom_de_votre_choix@mistra personnel]$ joe linux-test2

saissons un petit texte :

001 y en a marre de ces textes stupides !

et finissons notre session joe par la séquence de touches suivante : 
Ctrl-k x

qui permet d'enregister le fichier et de quitter joe.

Notre fichier linux-test2 est plus récent que notre fichier linux-test. Vous pouvez le vérifier en effectuant un ls -l.

Nous souhaitons (naïvement, bien sûr !) renommer le fichier linux-test en linux-test2. Mais nous sommes attentifs et nous ne voulons pas que le fichier linux-test2 soit écrasé si celui-ci est plus récent que linux-test :

001 [le_nom_de_votre_choix@mistra personnel]$mv -u linux-test linux-test2

Retrouver un fichier (find).

1 - La commande find

Exemple simple : comment trouver un fichier portant un nom donné ?

001 [le_nom_de_votre_choix@mistra le_nom_de_votre_choix]$ find / -name linux-test2 -print 

(Un peu long n'est ce pas pour trouver la reponse dans tout cette grosse arborescence ? :-) )

En general on recherche rarement un fichier depuis la racine.

Décomposition de la commande de l'exemple : 
/ indique que nous voulons chercher à partir de la racine notre fichier. 
-name est l'option qu





Translate this page with Google

Author of the page

O.Romain.Jaillet-ramey

O.Romain.Jaillet-ramey

  • Firstname : Olivier Romain Luc
  • Lastname : : Jaillet-ramey
  • Arrived on tuesday 19 october 1976 (1976/10/19 00:00)
    44 years activity !

Firefox Nighlty

Our friends from Framasoft are interested in Mozilla and asked them questions about Nightly: Firefox Night-club, free entry !






Valid XHTML 1.0 Strict CSS Valide !

ipv6 ready