Accueil du site > Linux > Tout sur Linux

Tout sur Linux

Introduction au système

lundi 31 janvier 2005, par André Ani

Quel fut notre étonnement de nous voir proposer, il y a de cela un mois, un livre vituel complet sur Linux écrit par un internaute de la communauté. Avec la certitude que le contenu de ce e-book puisse contribuer à la découverte et à la maîtrise de Linux, nous l’avons publié sans hésitation.

Note sur l’auteur

André Ani est un jeune technicien en informatique qui se passionne depuis plus de deux ans au logiciel libre et Linux. Son apprentissage du système d’exploitation Linux l’a emmené à écrire le document suivant qui répond efficacement aux interrogations des débutants tout en fournissant des informations fort utiles pour les initiés.

Pierre-Luc Bacon 

Ce document est aussi disponible en version PDF :

PDF - 64.4 ko
Tout sur Linux

Sommaire

 Présentation du système d’exploitation libre GNU/Linux

Présentation du système d’exploitation libre GNU/Linux

C’est en 1984 que Richard M. Stallman (RMS), alors chercheur au MIT (Massachussetts Institute of Technology, grand centre de recherche américain, dans des domaines très divers), lance le projet GNU (Gnu’s Not Unix, acronyme récursif) en réaction à la mentalité d’alors, qui consiste à garder son code source secret et faire payer des licences pour ses logiciels.

Il souhaite développer un système d’exploitation basé sur Unix, mais totalement libre (il est l’auteur d’Emac, du compilateur GCC...). Il créé pour cela la F.S.F. (Free Software Foundation), pour récolter de l’argent pour ce projet.

Ce qu’il souhaite développer grâce à ce projet est la liberté :

  • d’utiliser le programme quel qu’en soit l’usage.
  • d’étudier le fonctionnement du programme, et de l’adapter à ses propres besoins.
  • de le redistribuer (aider son prochain).
  • d’améliorer le programme et de publier ses améliorations, pour que tout le monde puisse en profiter.

Un des points fondamentaux à tout ceci est l’accès au code source.

Linux s’est naturellement associé au projet GNU, car le noyau voulu par GNU n’était pas encore prêt. Le projet GNU a défini une licence pour garantir toutes ces libertés, la GPL (General Public Licence), qui est très utilisée dans le monde du Libre. Il existe aussi la licence BSD, compatible GNU mais tirée du projet BSD (un autre Unix libre), et la FDL (Free Documentation licence) qui vient du projet GNU, et qui s’applique à la documentation.

En 1985, RMS crée la FSF (Free Software Fondation), pour s’assurer la logistique nécessaire à son projet. Ce sont surtout des volontaires qui travaillent dessus, à travers le monde entier.

Le mot Linux pour désigner une distribution est un abus de langage, car Linux ne désigne en fait que le noyau, le reste étant en grande partie tiré du projet GNU, c’est pourquoi je parle de GNU/Linux. Les composants du système d’exploitation sont :

  • le noyau, le coeur du système.
  • les composants GNU : le shell, le compilateur, Emac...
  • l’environnement graphique.
  • les logiciels serveurs.

Mais le noyau officiel du projet GNU n’est pas Linux, mais le Hurd (qui est un microkernel, contrairement à Linux qui est plutôt monolithique).

GNU/Linux date de 1991. En effet, c’est le 5 octobre 1991 que Linus Torvalds, étudiant Finlandais de 21 ans, annonce sur le forum usenet la mise à disposition des sources d’un système d’exploitation, tout petit pour le moment. Il l’a créé seul, au départ pour ses propres besoins. Il s’est basé sur Minix, un petit clone d’Unix, libre.

Et GNU/Linux est resté un système d’exploitation libre, librement redistribuable.

GNU/Linux est donc basé sur Unix, qui lui date des années 70, créé dans les laboratoires de AT&T. La première version d’Unix date de 1969, il était alors écrit en assembleur (langage machine). En 1973, il est réécrit en C, puis distribué, avec ses sources, dans les universités. De nombreuses versions d’Unix vont alors voir le jour en quelques années, qui donneront plusieurs branches : la famille des BSD, les GNU/Linux.

GNU/Linux ressemble beaucoup à Unix (beaucoup de leurs commandes sont équivalentes), il en a les avantages : fiabilité, stabilité, performances. GNU/Linux, est un système d’exploitation Multi-Utilisateurs, chacun ayant ses propres fichiers, applications et environnement de travail, inaccessibles aux autres. Il est aussi multi-tâches, il gère très bien le réseau (très utilisé en tant que serveur Internet par exemple), et il est plus sécurisé que la plupart des autres systèmes.

La première version officielle de GNU/Linux date de 1993. GNU/Linux s’étant beaucoup développé, il intéresse aussi les entreprises, et il existe un nombre impressionnant de logiciels libres pour lui. Lorsque l’on installe un système GNU/Linux standard, il est fournit dès le départ avec une kyrielle de logiciels qui comblent tous les besoins.

Le logo de Linux, le pingouin, date de 1996, et il s’appelle Tux.

Après ce petit historique, voyons quelques détails du fonctionnement de GNU/Linux :

Les partitions pour pouvoir installer le système sont ext2, ext3 ou Reiser (ce sont les systèmes de fichiers) et une swap (partition d’échange, d’environ 2 fois la taille de la mémoire vive). Avec ces systèmes de fichiers, il n’y a pas besoin de faire de défragmentation de disque, comme avec d’autres systèmes.

Contrairement à d’autres systèmes d’exploitation, sur celui-ci, tout est fichier ; que ce soit les périphériques, disques durs ou lecteurs amovibles, ils sont tous considérés comme des dossiers.

Une distribution de GNU/Linux est fournit avec les sources du kernel. Cela permet de compiler son noyau, pour l’adapter à ses propres besoins, pour y ajouter des fonctionnalités ou en retirer certaines qui prennent de la place inutilement. On peut aussi installer un nouveau noyau, pour upgrader son système.

Il existe un grand nombre d’environnements de bureau, mais, les deux principaux sont KDE et Gnome.

Toutes les commandes dont il est question dans ce document sont à effectuer dans une console, souvent avec le compte root (su, puis mot de passe super utilisateur). Pour avoir l’aide de ces commandes, taper : man commande.

Introduction au shell

Le shell est un interpréteur de commandes, c’est une interface entre le système d’exploitation et l’utilisateur. Il reçoit les commandes que l’on saisi et les exécute, si on a les droits nécessaires. Car, lorsque l’on ouvre une session sur le système (qu’on se logue), avec son nom d’utilisateur (login) et son mot de passe, le shell, avant de se lancer, vérifie si le compte est valide, nos droits et nos permissions sur les fichiers, puis charge notre environnement personnel (chaque processus a lui aussi ses propres droits et permissions).

Certaines variables de cet environnement peuvent être modifiées, adapter à nos besoins. Il faut taper stty -a (qui signifie set teletype, c’est à dire configurer le téléscripteur, puisque le shell date des débuts d’Unix et que la plupart des postes étaient alors des terminaux) pour visualiser et modifier ces variables.

Il existe aujourd’hui de nombreux shell, le plus ancien (à l’origine de GNU/Linux) est le shell sh (Bourne Shell) créé dans les laboratoires de AT&T. Celui fournit en standard sur les systèmes est le shell Bash (Bourne Again Shell), mais il en existe d’autres : Zsh, Korn Shell, le shell C... Ils ont chacun leurs spécificités.

Pour avoir de l’aide, il y a les pages de man, ainsi que la commande help.

Pour connaître votre shell, tapez :

echo $SHELL

Ce qui commence par $ indique qu’il s’agit d’une variable, et echo demande de l’afficher.

Une commande shell se présente ainsi :

commande -option (s) paramètres (optionnel)

Le système de fichiers

Sous GNU/Linux, tous les fichiers, périphériques, disques durs sont considérés comme des dossiers

L’arborescence

/binFichiers exécutables des commandes systèmes principales
/bootNoyau et fichiers de démarrage
/devFichiers spéciaux, points d’entrées des périphériques
/etcFichiers de configuration du système ainsi que les principaux scripts de paramétrages
/homeContient les répertoires des utilisateurs, ce dossier peut être une partition à part
/libBibliothèques système
/mntRacine des points de montage (pour lecteur de Cd-rom, disquette, partage windows)
/optInstallation de packages supplémentaires
/rootRépertoire personnel du super-utilisateur
/sbinBinaires systèmes pour l’administration
/tmpFichiers temporaires
/usrProgramme accessibles à tous les utilisateurs, c’est une sous-arborescence
/varDonnées variables
/proc« image » du système

Même si l’arborescence se présente toujours comme cela, les dossiers (/tmp, /home, /usr) peuvent être situés sur d’autres partitions.

Nommage des partitions et des périphériques

Les disques durs sont nommés hda pour le premier, hdb et ainsi de suite. Les différentes partitions sont ensuites numérotées : hdb2 serait donc la deuxième partition du deuxième disque dur.

Les lecteurs de disquettes sont nommés fd0, fd1... (dans /dev/...). Tous les périphériques (cd-rom, disquettes, partitions...) sont dans le répertoire /dev, et ils sont en général montés dans le répertoire /mnt (/mnt/cdrom, /mnt/floppy, /mnt/windows).

Montage des partitions et des périphériques

Pour pouvoir travailler sur un cd-rom, une disquette, un dossier partagé, il faut tout d’abord le monter, pour qu’il soit accessible. Pour cela, on utilise la commande mount. Elle a besoin de plusieurs arguments, dont, le périphérique à monter, le point de montage (l’endroit où vous souhaiter monter le périphérique), le système de fichier (ext3, vfat, ntfs, smb...), et certaines options. Inversement, pour démonter une partition, c’est la commande umount qu’il faut utiliser.

Par exemple, pour monter un lecteur de cd-rom, il faut taper :

mount /mnt/cdrom

Pour le démonter :

umount /mnt/cdrom

Et pour l’éjecter, il faut faire :

eject /mnt/cdrom

Pour une partition :

mount /dev/hda1 /mnt/windows

Toutes les partitions et périphériques que l’on peut monter sont configurables grâce au fichier /etc/fstab. Il est préférable d’utiliser ce fichier plutôt que de monter à chaque fois telle ou telle partition.

Les runlevels

Sous GNU/Linux, le système peut démarrer sous différents runlevels (niveau d’exécution) :

0 Arrêt
1 Mode mono-utilisateur (maintenance système, failsafe)
2 Mode multi-utilisateurs, sans réseau
3 Mode multi-utilisateurs, réseau, sans environnement graphique, donc en console
4 Non utilisé
5 Mode multi-utilisateurs, réseau et environnement graphique
6Redémarrage

grep :initdefault /etc/inittab

Renvoie le runlevel du système.

Le niveau d’exécution peut être modifié :

  • lors du boot,
  • par le fichier /etc/inittab,
  • par la commande init niveau.

Les services sont lancés par des scripts dans /etc/init.d. Les fichiers stockés dans /etc/rc.d, avec des numéros correspondants aux runlevels (rc1.d à rc6.d), servent aussi à lancer les services, suivant leur runlevel.

Chaque service démarre à son propre runlevel, que l’on peut modifier.

/etc/init.d/service start/stop/restart/status

Permet d’agir sur le service voulu.

chkconfig -list

Liste tous les services pour connaître leur niveau d’exécution.

chkconfig -level 0123456 nom_service off / on

Active ou désactive le service voulu.

chkconfig -add service

Ajoute un service au démarrage.

Les droits de utilisateurs

Les utilisateurs sous GNU/Linux.

L’utilisateur root (super-utilisateur) a tous les droits sur le système, et peut faire tout ce qu’il veut. Il faut donc utiliser ce compte avec parcimonie.

Il faut créer des utilisateurs, qui auront, eux, des droits plus réduits et seront donc moins « dangereux » pour le système.

Chaque utilisateur aura ensuite ses propres fichiers dans son propre répertoire (sans avoir accès aux répertoires des autres utilisateurs), et ne pourra lancer que certains programmes, dépendants du groupe auquel il appartient ou des droits que le root (l’administrateur du système) lui aura accordés.

Pour créer un utilisateur, il faut se servir de la commande : adduser utilisateur

Et ensuite créer son mot de passe (ne jamais laisser un compte sans mot de passe !) :

passwd utilisateur

On peut ensuite regrouper des utilisateurs dans différents groupes, qui auront chacun des droits différents.

Modification des droits sur les fichiers

Il existe 5 types de fichiers sous GNU/Linux :

  • Les fichiers ordinaires représentés par un -
  • Les fichiers spéciaux en mode bloc b
  • Les fichiers spéciaux en mode caractères c
  • Les répertoires d
  • Les liens symboliques l

Pour pouvoir agir sur un fichier, il faut pour cela avoir les droits nécessaires, ou modifier ses droits pour un fichier précis.

Ceci se fait grâce à la commande :

chmod paramètres fichier

Les paramètres peuvent êtres écrit de manière symbolique (en lettres) ou octal (avec des chiffres).

Les droits d’un fichier se présentent comme ceci :

roman.txt - rwx -x -x

Comme vous le voyez, le premier symbole correspond au type du fichier, ici un fichier standard, et ensuite, les droits de ce fichier, découpé en 3 parties, elles-mêmes découpées en 3 accès différents :

Les 3 premières lettres correspondent aux droits du propriétaire, ensuite le groupe, et les 3 derniers, tous les autres utilisateurs.

Le r signifie des droits de lecture (read), le w donne les droits d’écriture (write), et le x donne les droits d’exécution.

Les paramètres de chmod sont :

A qui donne les droits :

atous les utilisateurs
gle groupe du propriétaire
otous les utilisateurs, sauf ceux du groupe
uuniquement à l’utilisateur

Les opérateurs pour ajouter ou enlever des permissions :

+ajoute les droits
-soustrait des droits

Les droits :

xpour exécuter
rpour lire
wpour écrire

Le réseau

Les cartes réseaux sont nommées eth0, eth1... et Io pour la boucle locale (127.0.0.1).

Les fichiers principaux de configuration du réseau (que l’on peut modifier avec un simple éditeur de texte) sont :

Le fichier /etc/hosts : Pour affecter l’adresse IP et le nom d’hôte de la machine.

Le fichier /etc/networks : Celui-ci permet de gérer les sous réseaux, en général, il n’a pas besoin d’être modifié.

La commande hostname permet d’afficher votre nom d’hôte.

Quelques commandes utiles pour gérer le réseau :

ifconfig :

Cette commande permet de connaître la configuration de sa carte réseau et de la modifier si besoin est. Ifconfig IP interface pour affecter IP à interface.

Par exemple :

ifconfig 192.168.0.1 eth0

Affecte l’adresse 192.168.0.1 à la carte réseau eth0.

/sbin/route :

Pour afficher ou modifier la table de routage du noyau. On lui indique par exemple la passerelle pour se connecter à internet.

netstat :

Affiche la liste des ports en écoute, ainsi que les protocoles et connexions actives.

Introduction à Samba

Le serveur Samba, qui date de 1987, est un serveur de fichiers, très souvent fournit en standard sur les diverses distributions GNU/Linux. Il utilise le protocole SMB (Server Message Bloc). C’est un programme qui fonctionne en mode client / serveur, et qui permet de partager des dossiers, répertoires, imprimantes entre des machines en réseau, qu’elles tournent sous GNU/Linux ou Win...

La partie serveur est composée de deux daemons : smb, le coeur du serveur, et nmbd qui fournit les services. Le client est smbclient.

Le fichier de configuration se trouve généralement dans /etc/samba et s’appelle smb.conf. Il est composé de plusieurs sections, pour la configuration du réseau, de la sécurité, des utilisateurs, des différents partages.

Pour lancer/arrêter/voir état de samba :

/etc/init.d/smb start/stop/status

Pour vérifier que le fichier de configuration est correct, faite :

testparm /etc/smb.conf hostname

Pour voir les dossiers partagés par samba :

smbclient -L hostname

Accéder à un dossier en partage sous Win... : Créer un dossier, dans /mnt par exemple, puis, dans une console :

smbmount //host_distant/fichier_à_récupérer /mnt/dossier_dans_mnt

Installation de logiciels

Avec une installation standard de GNU/Linux, de nombreux logiciels sont fournis, et pour tous les besoins, que ce soit la bureautique (OpenOffice, Koffice), le multimédia (Xmms, noaturn, Xine...), internet (Mozilla, Galeon...), des éditeurs de texte, des outils de programmation et bien d’autres encore.

Les programmes sous GNU/Linux se présentent soit en fichier compressé (archive .tar, .gz, ...), soit en .rpm (redhat package manager).

Tout d’abord, les rpm :

C’est un format standard sous Linux. Il suffit tout d’abord de télécharger le programme voulu (un package), puis ensuite de l’installer grâce aux commandes suivantes, que l’on saisi dans une console, après être allé dans le répertoire où est le package :

rpm -ivh programme.rpm

Pour installer un package.

rpm -Uvh programme.rpm

Pour mettre à jour.

rpm -e programme

Pour supprimer un package.

rpm -qa

Lister les packages installés.

Puis les archives :

Souvent au format .tar.gz ou .tar.bz2. Comme les rpm, il faut se placer dans le répertoire où est l’archive, et taper dans une console :

tar xvf archive.tar

Décompresse une archive .tar.

gunzip archive.gz

Décompresse une archive .gz.

bzip2 -d archive.bz2

Décompresse une archive .bz2.

tar zxvf archive.tar.gz

Décompresse une archive .tar.gz.

tar jxvf archive.tar.bz2

Décompresse une archive .tar.bz2.

Une fois l’archive décompressée, pour installer le programme, il faut taper les commandes suivantes, dans son répertoire (mais lisez les fichiers readme ou install pour de plus amples informations sur la façon d’installer ou de configurer tels ou tels logiciels) :

./configure
make
make install

Informations sur le système

Voici quelques commandes pour se renseigner sur son système :

arch

Permet de connaître l’architecture de son système (i386, i686, ppc...).

uname -r

Permet de connaître la version du noyau.

top

Permet de savoir quels sont les processus en cours, la mémoire, l’usage du processeur.

ps -aux

Permet de voir tous les processus qui tournent, ainsi que leur PID (Process ID, numéro d’identification d’un processus actif, le premier lancé sous GNU/Linux est le processus init, le « père » de tous les autres processus), leur utilisateur, la commande qui les lance, leur usage mémoire...

df -h

Donne l’utilisation de la mémoire (libre, occupée) sur les partitions montées.

env | more

Affiche les variables d’environnement.

who

Permet de savoir qui est connecté sur le système.

last

Affiche les dernières personnes connectées.

man programme ou commande

Permet d’afficher les pages de man (format standard sous GNU/Linux pour les pages de manuel) d’une commande ou d’un programme.

lsdev

Affiche le matériel installé.

more /proc/cpuinfo

Donne des informations sur le processeur.

scanpci

Pour voir les cartes PCI du système.

/sbin/fdisk -l

Affiche les partitions.

Sécuriser le système

Voici quelques conseils pour sécuriser un minimum son poste sous GNU/Linux. Ce n’est qu’un début car évidemment, les problèmes de sécurité sont complexes et il y aurait beaucoup à faire.

  • Lors de l’installation, il faut penser aux programmes que l’on utilisera, et n’installer que ceux nécessaires. Moins il y a de programmes installés, moins il y a de risques.
  • Après l’installation, vérifier ce qui a été installé (car certains programmes s’installent par défaut). Il faut aller regarder dans les scripts de /etc/xinetd.d pour voir quelles sont les applications démarrées suivant votre runlevel, et désactiver celles présentant des risques, ou inutiles. Il suffit d’éditer le script du service et de modifier disable. Pour activer ou désactiver un service au démarrage, faire :

/sbin/chkconfig -level 0123456 service on/off

Il vaut mieux désactiver les services tels que telnet, rwho, finger, httpd, sendmail, netfs, rusersd... Pour voir la liste de tous les services et leurs statuts, faire :

/sbin/chkconfig --list

  • Il faut aussi vérifier les fichiers /etc/passwd et /etc/group pour vérifier qu’il n’y ai pas de compte sans mot de passe. Il existe un programme (Shadow), qui permet de stocker les mots de passe dans un autre répertoire, et surtout, de les crypter pour qu’ils ne soient accessibles que par le root. Il est donc conseillé d’installer shadow, qui ensuite, se lance comme ceci :

/usr/sbin/pwconv

Pour vérifier que les mots de passe shadow sont activés, éditez le fichier /etc/passwd. S’il y a un x après le nom du compte, c’est que shadow est activé. S’il y a une *, c’est que le compte est désactivé.

  • Très important aussi, maintenir son système à jour, en téléchargeant sur le site de l’éditeur les patchs et correctifs (pour le système, mais aussi pour les programmes installés).

 Évidemment, installer (et bien configurer) un firewall, souvent basé sur Iptable, tel shorewall.

  • Surveiller les ports ouverts, pour vérifier qu’il n’y ai rien d’anormal, avec un scanner tel que Nmap.
  • Faire des contrôles de root-kit réguliers avec chkrootkit. Il permet de vérifier la présence de rootkits, des programmes malveillants utilisés par les pirates pour corrompre le système.
  • Utiliser Open Ssh pour crypter les connexions, car, sans cela, certains mots de passe circulent en clair.
  • Utiliser des mots de passe de 6 ou 8 caractères, en utilisant des minuscules, majuscules, symboles et chiffres. Ne pas prendre de mots du dictionnaire.
  • Utiliser un programme de vérification d’intégrité du système, tel Tripwire, pour vérifier qu’il n’y ai pas eu de modification du système par un intrus.
  • Penser à contrôler régulièrement les fichiers de log (généralement dans /var/log) pour être au courant de tout ce qui se passe sur son système.
  • On peut aussi installer un IDS (détection d’intrusion système) afin de pouvoir contrecarrer les tentatives d’intrusion.
  • Et enfin, il faut se tenir au courant des évolutions matérielles et logicielles, des nouvelles failles et virus et des moyens de s’en protéger.

Gérer son poste GNU/Linux

Les tâches d’administration d’un poste font partie des tâches de sécurisation.

Il faut bien gérer les utilisateurs, leurs différents groupes, les droits que chacun a sur les programmes, et aussi, les former sur les problèmes de sécurité.

Penser à réaliser régulièrement des sauvegardes de ses documents, des fichiers de configuration...

Trucs et astuces

Voici divers petits trucs à connaître :

  • Pour faire un raccourci sur le bureau pour un programme ou une commande (comme par exemble /sbin/reboot) :

Clic droit sur le bureau, « créer un nouveau », « lien vers une application », puis remplissez les cases utiles (chemin de l’exécutable, droits pour l’exécution de l’application).

  • Pour avoir le lecteur CD-ROM, ou une disquette, une partition en partage sur le bureau :

Clic droit sur le bureau, puis : « créez un nouveau », « CD-ROM » ou « disquette » ou « disque dur ».

  • Le pavé numérique ne s’allume pas toujours par défaut au démarrage, alors pour y remédier, il faut tout d’abord vérifier si vous avez le package numlockx. Si oui, faite « numlockx on » dans une console, sinon, il vous faudra l’installer.
  • Quelques commandes utiles pour gérer les répertoires (dans une console) :
cd pour ce déplacer
rm supprime un répertoire
mv déplace ou renomme
ls liste les répertoires du dossier
mkdir crée un dossier
  • La commande more sert à afficher un fichier, page par page, dans une console.
  • Pour rechercher un fichier, utilisez la commande « find » :

find / -name fichier_à_chercher - print

  • Pour agir sur un service :

/etc/rc.d/init.d/service start/stop/restart

  • Créer un alias pour une commande, si vous l’utilisez souvent, où qu’elle est longue à taper et que l’on a du mal à s’en rappeler : Par exemple, pour monter le CD-ROM, la commande est : mount /mnt/cdrom On peut remplacer ceci simplement par cdrom ou autre chose, en ajoutant dans le fichier /home/bashrc (mais cela dépend de votre shell) :

alias cdrom=”mount /mnt/cdrom”

  • Pour rediriger le résultat d’une commande ailleurs que sur la sortie standard (stdout, l’écran, stdin est l’entrée standard, le clavier, et stderr la sortie d’erreur), il suffit d’ajouter > et un nom de fichier par exemple :

ps aux > test.txt

  • Si vous avez besoin d’aspirer un site, le votre par exemple pour le sauvegarder utilisez :

wget -m adresse_du_site

  • Pour manipuler les modules : Tout d’abord, les modules, ce sont, en général, des drivers qui sont extérieurs au noyau (pour gagner en place et en « modularité »). Ils peuvent se charger en mémoire soit manuellement, soit automatiquement. Ils se situent souvent dans /lib/modules.
lsmod affiche les modules chargés à cet instant
insmod module charge le module
rmmod module décharge le module
modprob module charge le module, ainsi que les modules dont il dépend (les dépendances)

Les bases de l’éditeur Vi

Vi est un éditeur datant d’Unix, et il est encore présent sur toutes les plateformes GNU/Linux. Il est donc nécessaire d’en connaître les bases, car parfois, il est le seul éditeur disponible. C’est un éditeur plein écran, il n’y a donc pas d’interface graphique, ni même de menu. Mais il est interactif, car il communique avec l’utilisateur, grâce à la ligne d’état, qui affiche des messages.

Vi possède deux modes différents :

  1. Le premier, celui qui est actif par défaut à son lancement, est le mode commande. Toutes frappes de l’utilisateur sont interprétées comme des commandes.
  2. Le mode insertion, lui, interprète chaque frappe comme du texte à ajouter dans le fichier ouvert.

Pour passer du mode commande au mode insertion, il faut taper a (pour ajout) ou i (pour insertion). Inversement, pour quitter le mode insertion, taper esc. Vi peut être configuré pour s’adapter à l’utilisateur, ceci ce fait par la commande set. Lorsque l’on démarre Vi, en tapant simplement vi dans une console, ou vi fichier, les lignes vides apparaissent avec un   (tilde) en début.

Maintenant, voici quelques commandes de base :

Pour se déplacer dans un fichier, outre les flèches, on peut utiliser h, j, k, l.

Pour faire avancer l’écran, ctrl B.

 :help permet d’obtenir de l’aide
A ajoute du texte en fin de ligne
R remplace du texte à partir du curseur
R remplace un caractère
O ouvre une ligne sous la ligne courante pour ajout de texte.
U permet d’annuler une action
Maj h va à la première ligne
Maj l va à la dernière ligne
/mot cherche mot dans le fichier
 :n fichier ouvre fichier
 :q ! quitte sans sauvegarder
 :w enregistre
 :wq enregistre et quitte

Liens utiles

Documentation et news sur GNU/Linux et l’open source :

www.linux-kheops.com

www.trustonme.net

fr.tldp.org

www.linux-center.org (il y a aussi des programmes).

slashdot.org (en anglais, news sur l’informatique, la programmation et le libre).

linuxfr.org

www.lea-linux.org (très bon site pour les Linuxiens débutants, il y a tout : progs, tutoriaux, astuces...)

Philosophie GNU/Linux et Open Source :

www.gnu.org (site incontournable sur le mouvement GNU). www.france.fsfeurope.org (site incontournable, la Free Software Foundation).

www.stallman.org (site incontournable, le fondateur du mouvement libre, du projet GNU : Richard Stallman (R.M.S.).

www.aful.org

www.gnu.org/licenses/gpl.html (la licence GPL).

www.gnu.org/software/hurd/hurd.html (site du noyau officiel du projet GNU, le Hurd).

Distributions et programmes :

www.linuxiso.org (les distributions GNU/Linux).

www.framasoft.net (logiciels libres win...).

www.kde.org

www.gnome.org

www.mandrakelinux.com

www.redhat.com

freshmeat.net (répertoires de projets libres).

sourceforge.net (idem).

us1.samba.org/samba/index.html (site officiel de Samba).

Divers :

www.google.fr/linux

Glossaire

Compiler : C’est le fait de transformer un code source en binaire, directement exécutable et compréhensible par l’ordinateur. Ceci ce fait grâce à un compilateur.

Console : C’est un shell, une fenêtreavec un prompt, dans laquelle vous tapez les commandes. Le shell (il en existe plusieurs : bash, tcsh, ksh, ash..., le plus utilisé étant le shell bash) estle programme qui se charge d’exécuter vos commandes. Sous GNU/Linux, on parle aussideconsole virtuelle, au nombrede12.

Daemons : Ce sont des programmes chargés au démarrage.

Libre : Un logiciel libre est distribué avec son code source, que l’on peut modifier ou redistribuer selonles termes de la licence Gnu Public Licence (GPL), ou une licence de type BSD. C’est le principe de développement de GNU/Linux et d’une grande majoritédes applications livrées avec celui-ci.

Lien symbolique : C’est un concept d’Unix. Cela permet à un fichier d’apparaître à plusieurs endroits dans l’arborescence, sans qu’il ait été copié.

Noyau ou kernel : C’est leprogramme de base de GNU/Linux,qui gère l’ordinateur, les périphériques, le réseau... A la base, Linux n’est que le nom du noyau,les autres programmes venant du projet GNU (GNU is Not Unix). Mais tout le monde parle de Linux, alors que l’on devrait dire GNU/Linux.

Partition : Lorsqu’on doit utiliser un disque dur, il faut d’abordlestructureren une ou plusieurs sous-parties, afin d’y installer un système d’exploitation.

Point de montage : C’est le répertoire particulier (cela vient d’Unix) auquel est attaché un système de fichier, qu’il se trouve sur une disquette, un cd-rom ou un disque dur.

PID : C’est le Process ID, le numéro d’identification alloué par le noyau à chaque processus (puisque GNU/Linux est un système multi-tâches), et qui lui permet de le suivre et de communiquer avec lui. Chaque PID est unique.

Processus : Chaque programme qui tourne sous GNU/Linux est un processus.

Runlevels : Ce sont les différents niveaux d’exécution des programmes au démarrage.

Script : Un script est un programme écrit dans un langage interprété. Contrairement aux programmes écrits en langage compilé, les scripts sont traduits en langage machine au fur et à mesure de leur exécution.

Swap : C’est la mémoire virtuelle de GNU/Linux, qu’il utilise lorsque la mémoire vive est pleine.

Système d’exploitation, Operating System (OS) : C’est l’interface entre le matériel et les logiciels.

Système de fichier : C’est la manière dont sont structurées les données sur une partition, un cd-rom, une disquette. Pour GNU/Linux, on utilise généralement le type ext3 (qui est « journalisé », c’est à dire qu’il garde sur le disque un « journal » des opérations à effectuer, pour, ensuite, les effectuer, ce qui rend ce système plus fiable.

Documents joints

Enregistrer au format PDF
Marquer cet article: Delicious Technorati

Répondre à cet articleRépondre à l'auteur:André AniRecommander à un ami