Guides des commandes de base sous Linux
Guide des commandes
de base sous Linux

[ Index général ] - [ Page suivante ]

1 - Les commandes de base

1.1 - Création d'utilisateurs et gestion de comptes
1.2 - Le déplacement dans les répertoires : "cd"
1.3 - Lister les fichiers d'un répertoire : "ls"
1.4 - Visualiser le contenue d'un fichier : "cat" et "more"
1.5 - Copier un fichier Où un répertoire : "cp"
1.6 - Supprimer un fichier : "rm"
1.7 - Créer un répertoire : "mkdir"
1.8 - Déplacer ou renommer un fichier : "mv"
1.9 - Retrouver un fichier : "find", "locate" et "which"
1.10 - Connaître l'espace disque utilisé : la commande "df" et "du"
1.11 - Utilisation des périphériques de sortie : cdrom, disquette....
1.12 - L'arrêt du système :


1 - Les commandes de base

1.1 - Création d'utilisateurs et gestion de comptes

Comme nous venons de le voir, lors du premier démarrage, vous devez vous connecter en tant que "root " ; néanmoins il est plus prudent de créer des "comptes utilisateurs". Les "comptes d'utilisateurs" sont attribué à chacun des "users" (utilisateurs) du système, ils permettent de travailler avec un maximum de sécurité.

Création de Comptes

Pour crée un compte utilisateur, on utilisera la commande "adduser" :

[root@nom_du_PC /root]# adduser nom_utilisateur
[root@nom_du_PC /root]#


Le nom de compte - nom_utilisateur - peut être n'importe qu'elle mot ou nom long d'au moins 8 caractères et sans aucun accent. Le compte utilisateur est désormais créé... Pour ce connecter à ce nouvel utilisateur taper :

[root@nom_du_PC /root]# logout

Login : nom_utilisateur
Password :
(Ne connaissant pas le mot de passe de l'utilisateur, il suffit d'appuyer sur "entrée")

[nom_utilisateur@nom_du_PC /nom_utilisateur]#


Il ne reste plus qu'à créer un mot de passe pour ce nouvel utilisateur.

Gestion de compte : Password

La création du mot de passe se fait tout simplement par la commande "passwd". La commande "passwd" permet de :
- Spécifier un mot de passe pour les comptes nouvellement créés.
- Changer le mot de passe d'un compte existant.
- Changer le mot de passe de votre compte

Les deux premiers points sont identiques, il n'y a pas de réelle différence (tout du moins du point de vue du mot de passe), entre un compte nouvellement créé, et un compte existant depuis plusieurs années. Tout ce que vous devez savoir est qu'il faut être connecté en tant que root, et que vous devez spécifier les comptes dont vous désirez changer le mot de passe.

[root@nom_du_PC /root]# passwd mot_de_passe

New UNIX password :
Retype new UNIX password

Passwd: all authentification tokens updated successfully [root@nom_du_PC /root]#


Comme vous l'avez deviné, le mot de passe ne s'affiche pas lorsqu'on le saisi. Vous devez le saisir une seconde fois pour être sûr de n'avoir pas commis d'erreur.

Une fois que vous vous êtes connecté sur ce compte, vous pouvez en changer le mot de passe en tapant simplement passwd. Dans ce cas, vous devrez entrer l'ancien mot de passe, puis le nouveau...

[nom_utilisateur@localhost nom_utilisateur]$ passwd

nom_utilisateur
Changing password for nom_utilisateur (current) UN IX password New UNIX Password :
Retype New UNIX password

Passwd: all authentification tokens updated successfully [nom_utilisateur@localhost nom_utilisateur]$


Pour travailler sur le nouvel utilisateur plusieurs méthode existe :

  1. Taper la suite de touche [ Alt+F2 ] afin de changer de console... L'ordinateur vous demande votre "login", indiquez lui le nom_utilisateur et ensuite le mot_de_passe. Pour revenir en mode root tapez la suite de touche [Alt+F1]. Les touches F1, F2, F3 (que l'on appelle console)... vous permettes d'ouvrir différentes sessions de Linux.
  2. Tapez la commande "exit", l'ordinateur redémarre la session et vous demande votre "login", indiquez lui le nom_utilisateur et ensuite le mot_de_passe.
  3. Taper la commande "su" et indiquer à l'ordinateur le "login" - le nom_utilisateur - suivis du mot_de_passe.

Gestion de compte : La commande "su"

Il arrive que l'on ait besoin de passer une ou deux commandes sous un autre compte utilisateur. Normalement, seul l'administrateur système peut faire cela. La plupart du temps, ils (tous les bons administrateurs système) utilisent leur compte non privilégié., Mais parfois, un nouvel utilisateur doit être ajouté, ou encore certaines permissions modifiées, ... Ces manipulations ne prennent qu'une minute, il est alors pénible de quitter sa session puis de se reconnecter en tant que root, d'exécuter les différentes manipulations, de se re-déconnecter, etc, etc, etc, ...

Il est alors plus simple d'utiliser la commande "su". Avec cette commande, votre session courante peut " devenir " une session root (ou tout autre utilisateur).

[nom_utilisateur@localhost nom_utilisateur]$ su

Password :

[root@localhost nom_utilisateur]#


Comme vous pouvez le voir, après avoir exécuté la commande su, l'utilisateur doit entrer un mot de passe, celui du root. Après l'avoir entré correctement, l'invite habituelle du shell s'affiche. Mais si l'on regarde d'un peu plus près, cette invite est légèrement différente. Tout d'abord, elle commence par root, ce qui montre que l'utilisateur a changé. L'autre différence est le caractère de fin de l'invite, qui est passé du caractère '$' au caractère '#'. C'est la manière traditionnelle d'indiquer un shell root.

Il est aussi possible d'utiliser cette commande pour se connecter sous le compte de n'importe quel utilisateur du système. Dans une session root, exécutez la commande su suivie du nom de l'utilisateur. Par exemple, si vous souhaitez en tant que root vous connecter sous moi, utilisez la commande su moi. Dans ce cas, aucun mot de passe n'est demandé car vous êtes déjà root, le mot de passe n'a donc pas d'importance.

Vous devriez trouver la commande su particulièrement pratique, surtout si vous êtes, comme la plupart des utilisateurs Linux, administrateur de votre système.

1.2 - Le déplacement dans les répertoires

[root@nom_du_PC /root]$ cd .. (entrée)
[root@nom_du_PC / ]#

A la différence du DOS, un espace entre "cd" et ".." est obligatoire. Vous devez vous trouver maintenant dans le répertoire racine, c'est à dire le répertoire " / "

Pour voir le contenue du répertoire, tapez la comme "ls"

[root@nom_du_PC / ]# ls (entrée)

bin boot cdrom etc usr var vmlinux


Pour remonter dans l'arborescence reprenons la commande "cd nom_rép"

[root@nom_du_PC /]# cd usr (entrée)
[root@nom_du_PC /usr]#


Pour se rendre ensuite le répertoire /etc aperçu lorsque nous avons listé le répertoire racine " / ", deux méthodes sont possible :

[root@nom_du_PC /usr]# cd / (entrée) ... permet de revenir à la racine
[root@nom_du_PC /]# cd etc (entrée)
[root@nom_du_PC /etc]#

Cette méthode nécessite deux lignes de commande, une deuxième méthode plus courte est possible :

[root@nom_du_PC /usr]# cd /etc (entrée)
[root@nom_du_PC /etc]#


Lorsque l'on ajoute un "~" (Alt Gr + 2) au lieu d'un chemin à la commande cd, celle-ci nous replace automatiquement dans le répertoire d'origine : /root pour les administrateurs et /home/votre_nom pour les simples utilisateurs.

Lorsque l'on se déplace dans les répertoires, par défaut "bash" (l'interpréteur de commande" n'affiche que le "nom court" du répertoire où l'on se trouve. Le nom court ne comprend pas le chemin complet. Or sous Linux, il peut arriver qu'un même nom corresponde à plusieurs répertoires distincts, on ne peut donc les distinguer que par les chemins qui y mènent.

C'est le cas, par exemple, du répertoire bin, que l'on trouve sous la racine en /bin mais aussi en général en /usr/local/bin. La commande utile est donc "pwd" qui affiche le chemin complet du répertoire courant.

[root@nom_du_PC /bin]# pwd (entrée)

/usr/bin


1.3 - Lister les fichiers d'un répertoire : la commande "ls"

La commande "ls" est l'équivalent sous dos de "dir", cette commande connaît de très nombreuses options qui permettent d'obtenir des informations sur le contenu d'un répertoire et la nature des fichiers.

[root@nom_du_PC /bin]# ls (entrée)
arch   dd       gzip       nisdomainname  su
ash    df       hostname   ping           sync
awk    dmesg    kill       ps             tar
cp     fgrep    mount      sh             ypdomainname
cpio   gawk     mt         sleep          zcat
csh    grep     mv         sort           zsh
date   gunzip   netstat    stty           ls

(ceci n'est qu'un exemple, mais la réalité devrait y ressembler)


Comme avec la commande "dir" sous DOS, il possible de lister de la même manière le contenue d'un répertoire.

On peut demander à Linux de lister seulement les fichiers dont les noms contiennent des caractères donnés, par exemple la lettre "l" :

[root@nom_du_PC /bin]# ls l* (entrée)

ln login ls


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). Cette commande est l'équivalent sous dos de la commande "attrib"

[root@nom_du_PC /bin]# ls -l (entrée)
total 3615
-rwxr-xr-x    1 root   root     2716 Apr 23  02:09  arch
-rwxr-xr-x    1 root   root    56380 Dec 23  1996   ash
lrwxrwxrwx    1 root   root        4 May 10  20:01  awk -> gawk
-rwxr-xr-x    1 root   root    18768 Mar  8  19:17  basename
-rwxr-xr-x    1 root   root   300668 Sep  4  1996   bash
lrwxrwxrwx    1 root   root        3 May 10  19:59  bsh -> ash
-rwxr-xr-x    1 root   root    16584 Dec 16  1996   cat
-rwxr-xr-x    1 root   root    17408 Nov 26  1996   chgrp

Les colonnes signifient :
Autorisation / Utilisateur / Groupe / Taille / Date / liens...


La commande ls -a (liste all) 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.

[root@nom_du_PC /root]$ ls (entrée)
bookmarks.sgml     mc.hint          scrsh2      2494.html
Desktop            ftape.o          mc.hlp      scrsh3
FAQ.services.html  kbanner.kssrc    mc.lib      xdm-config
[root@nom_du_PC /root]# ls -a (entrée)
.               .kvtrc                   .xquadkey
..              .letter                  .xquadkey~
.BitchX         .mc.ext                  2494.html
.Xmodmap~       .peruser-newsrc-working        
.amaya          .peruser_config          Desktop
.applications   .peruser_spool           FAQ.services.html

"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 -S"  Affiche les fichiers triés par ordre de taille décroissante.
"ls -X"  Affiche les fichiers par type d'extension
"ls -lu" Affiche les fichiers par date de dernier accès et indique cette date.
"ls -r" Affiche les fichier en ordre alphabétique inverse.
"ls -tr" Affichera les fichiers par date en commençant par les plus anciens
"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).


Question :

Existe-t-il un système simple pour afficher à l'écran le contenu d'un répertoire page par page (ou plutôt écran par écran) ? Je ne vois pas d'option pour cela dans la commande "ls"...

En effet, ce n'est pas "ls" qui fait ca, c'est un pager... Par exemple : [ ls -lAF --color | less -r ], la sortie de "ls" est alors passee à "less" (l'option -r sert a afficher correctement les couleurs). Pour raccourcir un peu la frappe, on peut écrire dans le fichier bashrc : alias ll="ls -lAF --color | less". Il suffira alors de taper la commande "ll" pour avoir le meme resultat ; ce genre d'astuce est très utile dans beaucoup de cas... la commande "alias" peut raccourcir énormément certaines commandes pénibles et répétitives.


1.4 - Visualiser le contenue d'un fichier : la commande "cat" et "more"

La commande "cat" permet de lire des fichiers. La commande "cat" ne permet que de lire un fichier et non de le modifier, c'est l'équivalent de la commande "type" sous dos. Pour exemple, visualisons un fichier de configuration :

Note : le répertoire /root contient en générale tous les fichiers de configuration. Ces fichiers sont simplement des fichiers textes avec un agencement et une syntaxe particulière.

Par exemple, le fichier .bashrc dans le répertoire /root qui permet de configurer son shell :

[root@nom_du_PC /root]# cat .bashrc (entrée)

# .bashrc
# User specific aliases and functions
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
source .sd.sh

[root@nom_du_PC /root]#


La commande "cat - n" permet de numéroter les lignes. A noter, que la numérotation de ligne apparaît à l'écran mais le fichier .bashrc n'en est pas pour autant modifié.

Pour connaitre les autres options de cat, tapez au prompt "cat --help".

La commande "more" s'exécute de la même manière, à ladifférence près qu'elle affiche le fichier page par page. Pour passer d'une page à l'autre, tapez simplement sur la touche ESPACE.

1.5 - Copier un fichier ou un répertoire : la commande "cp"

La syntaxe de la commande "cp" est identique à la plupart des commandes c'est à dire :

cp [option] fichier_origine fichier_destination
cp [option] fichier répertoire

par exemple :

[root@nom_du_PC /root]# cp nom_fichier nouveau_fichier
[root@nom_du_PC /root]# cp nom_fichier /répertoire/nom_fichier


Attention : la copie d'un fichier peut être dangereuse. Veuillez-vous assurer que le nom de copie n'existe pas dans le répertoire de copie.

---- 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.
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.
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".


Les options peuvent se combiner à volonté, par exemple :

[root@nom_du_PC /root]# cp -irv nom_fichier /répertoire

1.6 - Supprimer un fichier : la commande "rm""cp"

Attention : un fichier supprimé est impossible à récuper, mieux vaut se "loguer" en tant qu'itilisateur et non "root'.

Pour supprimer un fichier :

[nom_utilisateur@nom_pc/nom_utilisateur]$ rm nom_fichier


----- Options de la commande "rm"
rm -i Permet de demander à l'utilisateur s'il souhaite vraiment supprimer le ou les fichiers en question :
rm -d Permet de supprimer un répertoire qu'il soit plein ou non (très dangereux)
rm -r Permet de supprimer un répertoire et ses sous répertoires (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 ...)

[ Index général ] - [ Page suivante ]


[ Home Page ] - [ Introduction ] - [ Sommaire ] - [ Pourquoi Linux ] - [ Qu'est ce que Linux ? ] - [ Qui, Quoi, Ou ? ]
[
Les indispensables ] - [ Guide des commandes ] - [ Mes lectures ! ] - [ Documentations ]
[
Linux sur le WEB... ] - [ Spéciales Bookmarks... ] - [ Trucs & Astuces ] - [ Glossaire ]