HomeMapIndexSearchNewsArchivesLinksAbout LF
[Top Bar]
[Bottom Bar]
[Photo of the Author]
Manuel Muriel Cordero
À propos de l'auteur :
Manuel MURIEL est étudiant en informatique à l'Université de SEVILLE. L'informatique est sa principale passion et c'est aussi la filière de ses études. Linux est à l'origine d'une grande découverte pour lui. A part ça, il aime beaucoup la lecture (surtout la S.F., TOLKIEN est son préféré :), jouer au basket avec ses amis, le cinéma si c'est de la S.F. (il adore Blade Runner, 2001, Forbidden Planet, ...)
murie@arturo.lsi.us.es

Index :
Introduction
Utiliser Linux
Organisation du système
Les principales commandes
Où trouver de l'aide
Commandes pour manipuler des fichiers
Jokers pour les noms de fichiers
Rediriger les fichiers
Les éditeurs de texte

Les commandes UNIX de base

[Ilustration]

Résumé : pendant longtemps, les utilisateurs de Linux ont trouvé facile et puissant ce système d'exploitation, mais la vérité est que pour les débutants, non familiarisés avec l'environnement UNIX, Linux apparaît comme un premier mystère (Linux appears at first arcane!) et difficile à apprendre. L'auteur nous offre un petit guide des principales commandes UNIX qui en rendront l'apprentissage plus facile.


Introduction

Cette article a été spécialement écris pour les nouveaux utilisateurs de Linux (ou tout autre UNIX bien sûr). Pour les autres, plus expérimentés, il peut être un bénéfique rappel.

Parmis nos lecteurs, certains utilisent leur ordinateur à des tâches classiques : écrire du courrier, jouer et même faire la comptabilité de la maison. Pour ces utilisateurs familiaux, les termes "Système d'exploitation" restent plutôt flous, soit parce qu'ils ont eu leur machine avec Windows 95 pré-installé, "pour rien" (comme on dit), soit le plus souvent parce qu'ils ont "empruntés" leurs logiciels au copain ou au copain du copain. Ils désirent que leur ordinateur fasse le travail sans plus de question et deviennent bien embétés quand leur machine leur crache un message de plantage tel que "Memory Protection Error in 0FAG:BD07". En effet, qui peut comprendre ça ?

Puis, un jour vous entendez parler d'un système d'exploitation qui a la particularité de ne jamais planter, il s'appelle "Linux" et vous décidez de l'essayer en achetant un magazine d'informatique qui en contient une version sur CD.

[NdT.: pour être précis et comme le rappel très justement Richard STALLMAN fondateur de la FSF, Linux est en fait le noyau du système initié par Linus TORVALDS. Celui-ci ne nous serait pas très utile s'il n'était pas entouré par les outils GNU de la FSF. L'ensemble des deux forme le système d'exploitation. Ainsi, il serait plus juste de parler du système GNU/Linux mais l'usage fait que Linux désigne aussi l'ensemble.]

Après une procédure d'installation compliquée durant laquelle le disque dur a été partitionné, une étape pas évidente du tout, vous avez certainement conservez la majorité de la place du disque pour Windows et une plus petite pour Linux. Lorsque vous relancer la machine sous le nouveau système d'exploitation, vous obtenez quelque chose comme ça :

LILO: _

C'est le moment de taper le nom saisi lors de l'installation du sélecteur de partition de boot de Linux. Ensuite, défilent plusieurs écrans remplis de messages étranges et finalement un prompt de login apparaît :

Red Hat linux 2.0.32
darkstar login: _

À cette étape, vous devez taper "root" suivi du mot de passe donné durant l'installation.

En réponse, vous obtiendrez un résultat similaire à celui-ci :

root@darkstar:~# _

Et maintenant, que faire ?

Utiliser Linux

Maintenant que vous êtes arrivé à cet écran, vous vous demandez si tant d'efforts étaient bien utiles. A première vue, Linux ne semble pas présenter une belle interface graphique avec un système de fenêtrage digne de ce nom. La voie la plus simple vers le gestionnaire de fenêtre de base de Linux est de taper la commande : startx

Bien sûr, je considère que durant l'installation les paramètres de la carte vidéo ont été saisie correctement. Sinon, startx générera une erreur.

L'étape suivante est de faire quelque chose de productif après tant d'efforts. Je recommande de tester StarOffice. C'est une suite bureautique comme celle de Microsoft avec de nombreux outils. Vous trouverez dans ce magazine, plusieurs articles consacrés à l'installation de StarOffice ainsi qu'à des initiations (text processor, presentation creation). Une version de démonstration de StarOffice est disponible à l'adresse http://www.stardivision.com/. Cet ensemble d'outils répond aux besoins de la majorité des utilisateurs.

Toute distribution décente du système d'exploitation Linux contient de nombreux logiciels très intéressants et très puissant, parmi eux :

En plus des logiciels classiques, il y a beaucoup d'autres outils spécialisés pour le développement d'applications, pour la CAO, l'analyse mathématique, les applications scientifiques, etc ...

La plupart d'entre eux fonctionnent sous X Window, mais les autres utilisent des interpréteurs de commande en ligne (shell) fournis avec le système d'exploitation. Linux, comme tous les UNIX, utilise ces fameuses lignes de commandes car il peut très efficacement traiter des demandes de calculs qu'un fenêtrage ralentirait. De plus, pour certains travaux, l'environnement d'un shell est plus efficace.

Les bases de l'administration système

Tout utilisateur doit se familiariser avec l'organisation de l'espace disque de sa machine et doit savoir le gérer au delà de l'installation du système. La solution de l'interpréteur de commande en ligne est plus pratique et plus souple que la plupart des lourdes solutions graphiques.

A partir de maintenant, je considèrai que l'utilisateur à un minimum de connaissances de MS-DOS ou d'un autre système d'exploitation utilisant un shell équivalent.

Sous Linux, les disques sont organisés en fichiers. Les types de fichiers sont nombreux :

Les fichiers ordinaires:
ils contiennent les données de votre dure journée de labeur ;
Les répertoires :
ce sont des fichiers qui fonctionnent comme des dossiers en conservant d'autres fichiers, qui peuvent eux même être d'autres répertoires créant ainsi une structure hiérarchique (arborescente).
Les liens :
c'est un fichier qui peut avoir plusieurs noms et est accessible depuis plusieurs répertoires. Les liens sont des références ou des "raccourcis" d'autres fichires.
Les fichiers de périphériques :
ces fichiers sont associés à des périphériques de votre ordinateur (écran, lecteur de disquette, disque dur, lecteur de CD, ...) de façon à ce que si un programme veut y accéder, il passera par ces fichiers.
Les tubes et les files :
ce sont des fichiers spéciaux utilisés par les programmes pour communiquer.
Si vous tapez maintenant la commande pwd, vous devriez obtenir ceci :
/root
C'est le répertoire courant, le répertoire personnel du super-utilisateur. Soyons un peu curieux et allons sous le répertoire racine - il est appelé ainsi car il est le père de tous les répertoires et de tous les fichiers - avec la commande : cd /

Et maintenant, regardons ce que nous y trouvons en utilisant la commande qui permet de faire afficher le contenu du répertoire : ls

# ls
dev          home        lost+found      root
var          bin         dosc            mnt 
sbin         boot        etc             tmp
lib          proc        usr
Tous ces répertoires ont un rôle dans le système de fichier UNIX :
 
Répertoire  Rôle 
dev Contient tous les fichiers de périphériques.
home C'est le répertoire père des comptes des utilisateurs. Oui, Linux possède la capacité de faire travailler plusieurs personnes en même temps sur le même ordinateur sans interférences entre eux (Linux est un vrai système d'exploitation multi-utilisateurs). Un nouvel utilisateur peut-être crée avec la commande : adduser [username] (où username est un nom quelconque comme bob ). Je vous recommande d'en créer un pour faire les travaux courants et de garder le compte de root uniquement pour les tâches d'administration, ainsi vous n'aurez pas la désagréable surprise d'effacer accidentellement tous les fichiers du disque parce que vous êtes root, alors qu'en étant un simple utilisateur (disons "bob"), cela est impossible.
lost+found Vous avez certainement déjà utilisé une fois Norton Utilities pour récupérer un fichier dans des secteurs défectueux de votre disque. Ne vous prenez plus la tête, si votre disque dur a un raté, le système lui-même s'occupera de regénérer le fichier, et quand il ne réussi pas à savoir d'où vient le bloc, il le place dans ce répertoire. C'est une des raison qui fait que Linux est bien meilleur que n'importe quel système d'exploitation Microsoft.
root C'est le répertoire de travail du super-utilisateur, par opposition /home est réservé au utilisateurs courants. 
var Il contient de nombreux fichier temporaires contenant les messages du système, le courrier des utilisateurs, les tâches d'impressions, ... 
bin Ici sont rangés les commandes système les plus importantes. 
dosc Sur votre ordinateur, ce répertoire porte peut-être un autre nom. C'est l'accès aux partition Windows (ou MS-DOS) de votre machine(si vous l'avez).
mnt Si vous voulez accéder à un lecteur de cd-rom, et bien vous utiliserez ce répertoire pour faire un "montage". Pour rendre lisible le contenu du cd-rom dans le répertoire /mnt, exécutez mount -t iso9660 /dev/cdrom /mnt. Il est possible que cette commande diffère légèrement suivant votre configuration.
sbin C'est ici que les commandes avancées pour l'admnistration système sont rangées et pour des raisons de sécurité, elles ne doivent être ni lancées ni accédées par les utilisateurs standarts mais uniquement par l'administrateur (root).
boot C'est un espace prévu pour accueillir le noyau du système. Malgré tout, plusieurs distributions choisissent de le placer dans /.
etc Ce répertoire contient les fichiers de configuration système, c'est à dire les fichiers responsables du lancement du système ou des paramètres du système graphique (cela ressemble aux fichiers CONFIG.SYS et AUTOEXEC.BAT).
tmp Les programmes utilisent ce répertoire comme espace préféré pour les fichiers intermédiaires ou comme poubelle. En général, le système efface automatiquement les fichiers lors de son lancement.
lib C'est le répertoire des librairies de base du système. Linux est un système qui économise la mémoire de l'ordinateur en mettant le code partagé par plusieurs programmes dans un seul et même fichier, appelé librairie. Ainsi, une seule copie sera faite lorsqu'il sera utilisé.
proc Ce répertoire représente l'image des programmes en mémoire. Il est utilisé par des programmes comme ps, top ou kill qui nous renseignent sur les programmes en cours d'exécution sur le système et (si certains sont suspendus) les tuent. Ceci évite de faire comme sous Windows lorsqu'on relance le système et perdons ainsi toutes le travail fait dans les autres applications en cours.
usr C'est ici que les exécutables des applications ainsi que leurs documentations et leurs librairies sont rangées.

En général, vous n'aurez besoin de gérer que les fichiers du répertoire root ou bien ceux d'utilisateur créés pour des besoins particuliers.

Quelques commandes de base

Linux est typiquement un système d'exploitation qui favorise l'usage de la commande en ligne en dépit de l'existence d'un environnement de fenêtrage appelé le systême X Window (celui lancé avec la commande startx). Quand un utilisteur rentre sur le système, il est immédiatement face à un prompt qui ressemble beaucoup à ça :
root@darkstar: ~# _
un prompt typique d'un interpréteur en ligne - la forme et la structure du prompte peuvent être configurées selon les désirs de l'utilisateur. Dans notre exemple, ce qui est avant le "@" donne le nom de l'utilisateur courant (root) et darkstar est le nom du système. Ensuite, le caractère ~ indique que le répertoire courant est le répertoire personnel de l'utilisateur ; dans le cas de l'administrateur du système, ce sera /root. Enfin, un "#" indique que ce compte très particulier a les privilèges du super-utilisateur. L'utilisateur est maintenant libre de saisir des commandes après le curseur clignotant. Par exemple :
root@darkstar:~# ls -l bobby_



Dans cet exemple, nous allons voir ce qu'il se passe lorsque l'utilisateur exécute la commande (ls), une option (-l) et un paramètre (bobby). Quand l'utilisateur appuie sur entrée, Linux liste le fichier bobby (i.e. cela va afficher des informations telles que la taille, la date de création et quelques autres petites choses qui seront abordées en détail plus tard (in details later)), Evidement, ceci arrivera si le fichier existe.

La syntaxe classique d'un shell est un nom de commande suivi par des optionss séparées par des espaces :

ls -l -a bobby

Mais, les options peuvent aussi être utilisées de la façon suivante :

ls -la bobby

Autre possibilité, mettre plus d'un nom de fichier comme filtre de la liste, eux aussi séparés par des espaces

ls bobby joe maria

Ceci nous affichera les fichiers bobby, joe et maria sans détails. Pour obtenir plus d'informations sur ces fichiers, on peut mettre l'option -l avant.

ls -l bobby joe maria

Où trouver plus d'aide

Linux offre de nombreuses source d'information sur le système. Si vous connaissez le nom d'une commande et que vous voulez connaître son mode d'emploi, essayez :

man [commande]

Cela va générer la page de manuel de la commande. Il y une page de manuel en ligne pour la plupart des commandes du système. De plus, pour connaître le mode d'emploi de la commande man elle-même, tapez simplement man man. Ainsi, il n'est jamais nécessaire d'apprendre par coeur toutes les options des commandes UNIXcar le manuel en ligne est toujours à disposition et rapide d'accès pour vous rafraîchir la mémoire.
 
Mode d'emploi de la commande man : man man

D'un autre côté, si seul le sujet vous est connu ou alors seulement un mot-clé, alors essayez :

apropos [sujet]

cela vous montrera une liste de commandes en relation avec ce sujet.

La majorité des commandes vous donne une courte description des options possibles et de la façon de s'en servir lorque vous les exécutez avec le paramètre --help. Par exemple, avec la commande ls

ls --help

Si la sortie de la commande remplie plus d'un écran, aucune inquiétude à avoir, l'utilisation des touches de déplacement du curseur de votre clavier permet de la parcourir dans son ensemble.

La plupart des distributions Linux contiennent un large panel de documentations sur les programmes et les utilitaires qui les composent. Ces documentations sont localisées dans le répertoire /usr/doc directory. Pour trouver de la lecture sur tetex, par exemple, il suffit de se rendre dans ce répertoire et de taper more tetex. La plupart des fichiers présent dans le répertoire /usr/doc sont en caractères ASCII.

Et ce n'est pas fini. Les pages info contiennent une description des commandes et des applications que nous pouvons aussi trouver dans les page info, lesquelles sont facilement accessibles avec l'éditeur emacs gràçe à la séquence de touche suivant : [Control+h][Control+i].

Si cela ne suffit encore pas, vous trouverez plus d'information peut-être sur le web, essayez à ces adresses :
http://slug.ctv.es
http://www.linux.org
http://www.cs.us.es
http://www.redhat.com
http://www.debian.org

N'oublions pas aussi les newsgroups sous le protocole nntp où les forum de discussions sur Linux sont nombreux et très variés :
news:es.comp.os.linux : un groupe de discussion espagnol
news:comp.os.linux.software : pour les questions sur les logiciels
news:comp.os.linux.hardware : pour les questions sur le matériel et leur configuration
news:comp.os.linux.development : les questions sur la programmation

Et finalement, parmi les nombreux canaux d'IRC, vous trouverez #linux

Commandes pour manipuler des fichiers

Si vous connaissez MS-DOS, vous vous souvenez certainement des commandes dir, cd, rd, md et d'autres encore. Maintenant, nous allons en voir d'équivalentes pour la façon de manipuler des fichiers créés. Bien entendu, vous avez la possibilité d'obtenir plus de détails à propos de chacune d'entre elles en faisant man [command].

ls: liste le contenu d'un répertoire

Nous avons déjà utilisé cette commande précédement. Allons un peu plus loin avec.

Si vous tapez la commande :

$ ls -l 



drwxr-xr-x   3 fenix  fenix     1024 Jun 15  1997 Calendar 
drwx------   5 fenix  fenix     1024 Nov  6 19:35 Desktop 
drwx------   2 fenix  fenix     1024 May 16  1997 Mail 
drwxrwxr-x   2 fenix  fenix     1024 Mar 10 00:28 X11 
lrwxrwxrwx   1 root   root        11 Mar 13 20:53 ada -> private/ada 
drwxrwxr-x   2 fenix  fenix     1024 Mar 10 00:28 bin 
lrwxrwxrwx   1 root   root         9 Mar 13 20:53 c -> private/c 
-rw-------   1 fenix  fenix   868352 Apr  7 21:19 core 
lrwxrwxrwx   1 root   root        12 Mar 13 20:53 lisp -> private/lisp 
drwx------   2 fenix  fenix     1024 Jun 13  1997 mail 
-rw-rw-r--   1 fenix  fenix      302 Apr  7 20:30 mine.bmp 
drwxrwxr-x   2 fenix  fenix     1024 Mar 10 00:28 mydocuments 
drwxr-xr-x   2 fenix  fenix     1024 Nov  6 18:59 nhs 
drwx------   2 fenix  fenix     1024 Mar 12 18:05 nsmail 
drwxrwxr-x   2 fenix  fenix     1024 Feb 17 21:27 odd 
drwxrwxr-x   8 fenix  fenix     1024 Mar 12 23:04 private 
lrwxrwxrwx   1 root   root        14 Mar 13 20:53 prolog -> private/prolog 
-rw-r--r--   1 fenix  fenix    23051 Jan 27 21:14 system.fvwm2rc 
drwxrwxr-x   4 fenix  fenix     1024 Mar 22 15:36 tmp 
lrwxrwxrwx   1 root   root        11 Mar 13 20:53 www -> private/www 
-rwxr-xr-x   1 fenix  fenix     1239 Nov  6 19:46 xinitrc.bak



C'est ce qu'il s'appelle une longue liste, laquelle nous donne un grand nombre d'informations sur le répertoire. Nous pouvons distinguer 6 colonnes différentes.


La première nous donne des informations sur le fichier ; permissions. Elle est composée de 10 lettres divisée en 3 groupes de 3 auquels s'ajoute une première lettre.

La première lettre en question nous informe du type du fichier :

- fichier ordinaire
d dossier (répertoire)
l lien
c fichier spécial, périphérique en mode caractère : cela veut dire que vous pouvez envoyez ou recevoir des octets 1 par 1 mais sans possibilité de revenir en arrière.
b fichier spécial, périphérique en mode bloc : ce périphérique permet d'accéder de façon aléatoire aux informations.
p tube
f file

Les autres lettres groupées trois par trois indiquent par qui et comment un fichier peut-être utilisé. Le premier groupe est pour le propriétaire, le second correspond aux droits des membres du groupe (un utilisateur intègre un groupe de travail sous-entends que les fichiers de ce groupe puissent être partagés) et enfin le troisième est pour les autres utilisateurs du système (ou du monde).

Voyons la signification de chacune des lettres d'un groupe.

La première peut prendre les valeurs suivantes :
- ne peut pas lire le fichier et si c'est un répertoire, la liste de son contenu n'est pas lisible ;
r peut-être lu (NdT.: 'r' comme 'read', lire).
La seconde :
- ne peut pas écrire sur le fichier (ajouter des données non plus) et si c'est un répertoire, aucun fichier ne peut-être créé ou effacé de celui-ci ;
w on peut écrire (NdT.: 'w' comme 'write', écrire) dedans (créer et effacer des fichiers s'il s'agit d'un répertoire).
Le troisième :
- le fichier ne peut-être exécuter et si c'est un répertoire, il ne sera pas accessible (c'est à dire qu'il ne sera pas possible de descendre dedans avec la commande cd) ;
x peut-être exécuté (NdT.: 'x' comme ?, jamais compris mais ça fait joli ;-)
s cette attribut n'a de sens qu'avec les fichiers exécutables. Quiconque lancera le programme, aura les droits ... Whoever runs this program, il tournera avec les droits du propriétaire du fichier à la place des permissions de celui qui l'a lancé. Ne vous inquiétez pas si vous ne comprenez pas l'utilité de cet attribut, il ne sert que pour les utilisateurs avertis. On l'appelle le bit "SetUID".
t permet de conserver le code du programme en mémoire de swap afin de pouvoir rapidement y accéder la fois d'après (NdT.: utilisé pour les programmes très demandés).
Ces droits peuvent être modifiés avec la commande chmod comme nous le verrons plus tard.

La colonne suivante est le nombre de liens pointant sur ce fichier.

La suivante donne le nom du propriétaire du fichier.

La quatrième indique le nom du groupe qui peut accéder au fichier selon les actions autorisées par le propriétaire (celles-ci sont précisées dans le second triplet des permissions). The fourth one denotes the group which pertains, in a way that anybody belong to this group can access to it accordly to assigned group permissions (second permissions triplet).

La cinquième nous donne la taille du fichier en octets.

La sixième donne la date et l'heure de la dernière modification du fichier.

Et enfin vient le nom du fichier. S'il s'agit d'un lien, la référence du fichier est indiqué par un -> [source]

Il y a aussi des fichiers cachés sous Linux. La première lettre de ces fichiers est un (.).

Nous pouvons lister les fichiers cachés avec l'option -a :

$ ls -a 

.profile    .bash_profile     .bashrc    .xinitrc 
mmime.bmp    misdocumentos

cp: copier des fichiers (CoPy, copier)

Cette commande permet de copier des fichiers de façon à ce qu'ils aient un autre nom ou qu'ils soient présent aussi dans un autre répertoire.

cp [fichier] [destination]

Si la destination n'est pas un répertoire existant, la commande sera interprétée comme si vous vouliez copier le fichier sous un autre nom.

mv: déplacer un fichier (MoVe, déplacer)

Avec cette commande, nous pouvons renommer un fichier ou le déplacer dans un autre répertoire.

mv [fichier] [destination]

Si la destination n'est pas un répertoire existant, cela sera interprété comme si vous vouliez renommer le fichier.

cd : changer de répertoire (Change Directory)

C'est presque la même que sous MS-DOS. Notons quelques différences : It's almost the same of MSDOS.

cd sans arguments vous place dans le répertoire par défaut de l'utilisateur. Si vous êtes le super-utilisateur, cela vous placera dans le répertoire /root ; si vous êtes bob, cela vous placera dans /home/bob.

Comme vous pouvez le constater, ici les répertoires ont la bar inclinée vers la droite (et non vers la gauche comme sous MS-DOS).

Enfin, /home peut-être remplacé par le caractère ~ . Ainsi cd ~pepe vous placera dans /home/pepe.

mkdir : créer un répertoire (MaKe DIRectory)

Taper mkdir[nom_du_repertoire] et cela vous créera tout simplement un répertoire avec ce nom.

rmdir : détruire un répertoire vide (ReMove DIRectory)

Si vous voulez détruire un répertoire vide de fichiers, tapez rmdir [nom_du_fichier]. Si vous voulez détruire un répertoire contenant des fichiers (ou d'autres répertoire), aller voir la commande rm.

rm : détruire des fichiers (ReMove files)

Détruit tout type de fichier en tapant rm [nom_du_fichier].
Les options utiles sont :
-i pour avoir une demande de confirmation pour chaque fichier ;
-r pour détruire fichiers et répertoires de façon récursive ;
-rf pour détruire fichiers et répertoires de façon récursive et sans demander de confirmation ni donner d'informations.

ln : créer un lien vers un autre fichier (LiNk, associer)

Linux permet qu'un fichier possède des noms différents et qu'ils soient accessibles depuis des répertoires différents. C'est ce que font les liens. Il sont de deux types : Les liens durs se font comme avec : ln

Et les liens symboliques avec : ln -s [fichier_source] [fichier_cible]

cat : afficher le contenu d'un fichier (?)

Cette commande affiche le contenu d'un fichier à l'écran.

cat [nom_fichier]

more : afficher le contenu d'un fichier dans un format de page

Si le fichier que vous regardez est trop long (avec plus de ligne que votre écran, vous allez perdre les premières lignes, en haut. Une solution est d'utiliser une console (ou xterm) avec un tampon, dans lequel vous vous déplacerez pour visualiser toutes les lignes avec Shift+Repag. Mais ce tampon a une taille limitée et la plupart du temps elle ne suffira pas. La commande more permet de voir le fichier dans un format de page. Sa syntaxe est :

more [nom_fichier]

C'est un programme interactif. Les "touches" (commandes intéractives) les plus intéressantes sont :
 


Key Function
la barre d'espace
avancer d'une page
b revenir une page en arrière
retour chariot avancer d'une ligne
/[chaîne] chercher dans le texte la prochaine occurence de la chaîne dans le fichier
?[chaîne] cherche la dernière occurence de la chaîne dans le fichier
q quitter

Il existe un équivalent plus développé de ce programme, il s'appelle less.

chmod : modifier les droits d'un fichier (CHange file MOD, ?)

Avec cette commande, nous allons pouvoir modifier les possibilités d'accès aux fichiers. Un utilisateur standart peut seulement modifier les droits des fichiers dont il est le propriétaire. Le "super" utilisateur root peut lui tout faire. Cette commande s'utilise avec 2 paramètres séparés par un espace.

chmod [qui][+/-/=] [nouveaux-droits] [fichiers]

Ici, qui fait référence à :
 


Qui Description
l'Utilisateur propriétaire du fichier
Groupe associé au fichier
le reste des utilisateurs (NdT.: Other, autres)
tous les utilisateurs (le propriétaire, ceux du groupe, les autres)(NdT.: All, tous)

Avec + nous ajoutons des droits, avec - nous en retirons et avec = nous les mettons exactement.

Dans nouveaux-droits, nous indiquons quels sont les droits à ajouter ou retirer. Ceux-ci sont décrit dans les lettres du premier champ du format long de la commande ls (pour rappel, r : lecture, w : écriture, x : exécution ou accès, s : SetUID)

Voyons un exemple pour que les choses soient clairs :

chmod u+rw moi

Avec cette ligne de commande, nous ajoutons à l'utilisateur, actuellement vous, le droit de lire et de modifier le fichier dont le nom est moi.

chmod a-x répertoire

Avec celle-ci, nous annulons le droit à tous les utilisateurs (vous y compris, le propriétaire) d'entrer dans le répertoire répertoire

chmod a d'autres options avancées que nous ne verrons pas ici, mais vous pouvez regarder dans les pages du manuel avec la commande :

man chmod

Jokers pour les noms de fichiers :

Linux permet d'agir sur les fichiers un par un. Mail il permet de faire référence à un fichier de part certains caractéristiques de son nom. Cela se fait en utilisant des jokers dans les arguments. Certains sont communs avec ceux du monde MS-DOS :

* : fait référence à toute chaîne de caractère (vide ou pas)

Ainsi, nous pouvons avoir :

rm *

pour effacer tous les fichiers d'un répertoire

rm a*

pour effacer tout ceux commencant par la lettre a

rm bet*as

pour effacer tous les fichiers commencant par bet et finissant par as

? : toute lettre (mais une seule)

Ainsi nous pouvons faire :

cat c?t

pour afficher le contenu de tous les fichiers qui commencent par c, qui n'ont que trois lettres et dont la dernière est un t.

[group] : tout caractère appartenant à liste placée entre les crochets.

Par exemple :

more [tp]erez

affiche les fichiers terez et perez, s'ils existent.

cp c[AEIOU]endo directory

copie tous les fichiers commencant par un c suivi par une voyelle en majuscule et finissant par endo vers le répertoire directory.

Nous pouvons aussi utiliser "-" pour créer des intervales :

mv *[a-z] trash

déplace tous les fichiers dont les noms sont en minuscules vers le répertoire trash.

Toujours plus fort, nous pouvons aussi rejeter un intervale :

ls [!a-zA-Z]*

liste les fichiers dont le nom ne commence pas par une lettre de l'alphabet minuscule ou majuscule.

Les redirections

Linux est très puissant pour de nombreuses raisons mais l'une des plus parlantes est la redirection dans les lignes de commandes.

Les redirections permettent de rediriger la sortie d'une commande ou d'un programme ailleurs que vers l'écran, c'est à dire dans un fichier ou vers un autre programme. Ainsi, nous pouvons envoyer un fichier dans l'entrée d'une commande, mettre l'affichage d'une commande dans un fichier et même envoyer l'affichage d'une commande dans l'entrée d'une autre. Enfin, mais cela sert moins, nous pouvons envoyer un fichier dans un autre.

> (supérieur) : right redirecting

Avec ce symbole, nous pouvons rediriger la sortie d'un programme vers un fichier. Par exemple :

cal > février

Ici, nous envoyons l'affichage de la commande cal - la calendrier pour le mois en cours - dans le fichier février.

< (inférieur) : left redirecting

Avec ce symbole, nous redirigerons le contenu d'un fichier vers l'entrée d'une commande.

mail marc < courrier

Cela va envoyer par courrier électronique à marc le fichier courrier

>> (supérieur supérieur) : ajoute à la fin

Cela nous permet d'ajouter l'affichage d'une commande à la fin d'un fichier, sans pour autant écraser ce qu'il y avait déjà dans le fichier. Avec un seul supérieur, le contenu du fichier serait remplacé par la sortie de la commande et donc ce contenu aurait été perdu.

cat fichier1 fichier2 fichier3 >> fichier_complet

Nous ajoutons à la fin (concaténons) du fichier fichier_complet le contenu des fichiers fichier1, fichier2 et fichier3.

| (barre): tube entre deux commandes

Ce symbole permet de faire en sorte que l'affichage d'une commande soit dirigé dans l'entrée d'une autre commande. Ne pas confondre avec cette redirection avec les fichiers spéciaux dont certains sont aussi des tubes. Voyons un exemple :

who | grep "marc"

who : ("qui" en français) affiche la liste des utilisateurs connectés sur le système, quel terminal ils utilisent et depuis combien de temps. grep : imaginons que nous voulions filtrer la sortie de la commande précédente pour ne voir que les lignes contenant marc. Nous savons que marc est le nom d'un utilisateur à qui nous voulons parler et dans notre système, il n'y a pas de terminal appelé marc, ainsi nous savons si marc est présent sur le système.

Allons-y par étapes. D'abord, lançons la commande who et ensuite utilisons une tube pour envoyer la liste des utilisateurs à la commande grep avec en paramètre le nom d'un utilisateur. Pour un résultat plus parlant qui afficherait les noms de plusieurs utilisateurs différents, utilisons le concept de console. Linux offre 7 consoles en standart sur votre clavier. De plus, Linux permet de se connecter à d'autres ordinateurs avec du matériel ordinaire par l'ajout de matériel réseau comme une carte token-ring, une carte ethernet, un modem, ... L'utilisateur accède aux différentes consoles de l'ordinateur par les combinaisons de touches Alt+F1 (pour la première), Ctrl+Alt+F2 (pour la deuxième), Ctrl+Alt+F3, Ctrl+Alt+F4, Ctrl+Alt+F5 and Ctrl+Alt+F6. Ctrl+Alt+F7 et Ctrl+Alt+F8 sont les terminaux graphiques, activé par startx. Les précédentes combinaisons permettent donc de passer d'une console texte à une console graphique sans problème.
 
 

Les éditeurs de texte

Pour la dernière partie, nous avons besoin d'un éditeur de texte. Ce sont des programmes qui permettent de saisir du texte, en caractères ASCII, dans un fichier. Attention, le choix d'un éditeur de texte a fait et fait encore l'objet de long débats pour beaucoup d'utilisateurs que je respecte et entraine quasiment des guerres de religions pour savoir lequel est le plus ergonomique :-) Voici, c'est la fin de ce premier article d'initiation à l'administration système. Dans le prochain, nous allons voir en détail les outils GNU de gestion de fichier et ensuite je parlerai d'éditeurs trèsf utilisés sous Linux (vi et joe).

Copyright notice : Total or partial copy of this article is allowed (without changes) always and when this copyright note be included and the following line corresponding to author data.

Manuel Muriel Cordero est étudiant à la Facultad de informàtica y estadística de Sevilla. (c) Avril 1998.

All trademarks reported in this article are property of their respective productive enterprises.


Traduit par Christian P. MOMON
Ces pages web sont maintenues par Miguel Ángel Sepúlveda
© Manuel Muriel Cordero 1998
LinuxFocus 1998
--------------3C0E9D7AD04C9F860235BD34--