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
:
- 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.
- 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.
- 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 ...) |
|