Vous trouverez ici une courte introduction au système Linux. Console, ligne de commande et autres petits utilitaires sont au programme. Alors bonne lecture !

Histoire

Au début des années 90, un jeune étudiant finlandais Linus Benedict Torvaldsa a voulu mettre au point son propre système d’exploitation. L’idée consistait à  développer un système de type Unix fonctionnant sur les processeurs d’architecture 80386 (si vous préférez sur un pc!). Andrew Tanenbaum fut le créateur de Minix, un système de base pouvant fonctionner sur les 80386, et c’est dans cette continuité que Linus B. Torvaldsa a décidé d’améliorer le projet en étendant les nombreuses possibilités de Minix: c’est la naissance de Linux. La mise à  disposition du noyau (cœur du système) numéroté 0.1 à  eu lieu en 1991, mais c’est seulement en 1992 que la version véritablement stable a vu le jour. L’originalité de ce système repose d’une part sur le fait qu’il est non commercial et d’autre part qu’un grand nombre de programmeurs (développeurs) participe à  ce projet.

Aujourd’hui, beaucoup de distributions Linux existent: Debian, Fedora, FreeBSD, Gentoo, Knoppix, Mandriva (fusion de Conectiva et MandrakeSoft), Red Hat, Suse, Slackware, Ubuntu ,…, etc. Vous n’avez que l’embarras du choix ! à€ noter que si vous débutez sous Linux, je vous conseille fortement l’installation d’une Mandrake ou d’une Knoppix (elle ne nécessite même pas d’installation !)

La console

La console ou terminal est un environnemment texte dans lequel un utilisateur demande l’execution de programmes ou fait des requêtes. Il existe plusieurs types de console: terminal, xterm, konsole, gnome-console, les terminaux virtuels, etc… Les terminaux virtuels sont obtenus à  l’aide des combinaisons CTRL+ALT+F1, CTRL+ALT+F2, CTRL+ALT+F3,etc …La console présentée dans la figure suivante est un gnome-terminal.

La ligne

nadir@ipowerht:~/Desktop/these $

est ce qu’on appelle le prompt, nadir est l’utilisateur (user) et ipowerht est le nom de la machine. Le tilde ˜ représente le répertoire courant de l’utilisateur nadir, en l’ occurence /home/nadir autrement dit le prompt nous indique clairement dans quel répertoire nous sommes situés, ici nous sommes dans /home/nadir/Desktop/these. Quant au dollar $, il signifie que nous sommes sous le contrôle de l’interpréteur de commande: le shell (coquille) BASH.

Alors le BASH c’est quoi au juste? Ce n’est rien d’autre qu’un programme {/bin/bash} qui va interpréter les commandes que vous allez taper et les executer si elles ne comportent pas d’erreur. En particulier, le BASH respecte la casse, une minuscule n’est pas une majuscule en locurence toto ce n’est pas TotO !

J’évoquais dans le paragraphe précédent le tilde ˜ représentant /home/nadir, évidemment si le user jean ouvre une console, le tilde représenté est alors équivalent à  /home/jean. Chaque user possède un répertoire dans “la maison” /home, une manière imagée de comprendre cela serait de dire que tout les utilisateurs vivent dans /home et ils possèdent chacun leur “chambre”, celle de nadir /home/nadir, celle de jean /home/jean. évidemment, jean ne peut pas rentrer dans la chambre de nadir puisque la chambre de ce dernier est privée, elle lui est propre et vice versa. Néanmoins , nadir peut partager sa chambre avec jean ou une partie de sa chambre, nous verrons plus tard comment.

Commandes de base

man

C’est la commande à  ne pas oublier !!! man c’est l’abréviation de manuel. En pratique si vous faites

nadir@ipowerht:~/Desktop/these $ man ls

la console vous renverra un tas d’information sur la commande ls. On pourra également faire appel à  une aide plus condensée en utilisant help comme suit:

nadir@ipowerht:~/Desktop/these $ ls --help

ls

ls permet de lister le contenu d’un répertoire

nadir@ipowerht:~/Desktop/these $ ls

chapitres  these.mtc   these.mtc6        thloria.cls
CRfem.aux  these.mtc1  these.pdf         tlfloat.sty
figures    these.mtc2  these.ps          tlhypref.sty
these.bmt  these.mtc3  these.tex         tlnatbib.sty
these.dvi  these.mtc4  these.tex~        TL-user.pdf
these.flg  these.mtc5  these.tex.backup

il est possible d’utiliser plusieurs options avec la commande ls je vous renvoie donc au manuel ! On retiendra par exemple l’option -l

nadir@ipowerht:~/Desktop/CV $ ls -l

total 96
-rw-r--r--  1 nadir nadir     8 2005-03-29 11:08 cvnadir.aux
-rw-r--r--  1 nadir nadir  4488 2005-03-29 11:08 cvnadir.dvi
-rw-r--r--  1 nadir nadir  4514 2005-03-29 11:08 cvnadir.log
-rw-r--r--  1 nadir nadir 63856 2005-03-29 11:08 cvnadir.pdf
-rw-r--r--  1 nadir nadir  6778 2005-03-29 11:08 cvnadir.tex

Quelques explications:

  • total 96 signifie que le répertoire CV occupe 96 blocs
  • la première colonne fournit des informations sur les droits ;
  • la seconde représente 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; si vous vous rappelez , c’est l’histoire du partage de fichier entre jean et nadir
  • la cinquième indique la taille du fichier en octets.
  • la sixième donne la date et l’heure de la dernière modification du fichier.
  • la dernière le nom du fichier.

pwd

Cette commande permet de retrouver dans quel répertoire je me trouve

nadir@ipowerht:~/Desktop/CV $ pwd
/home/nadir/Desktop/CV

cd

cd pour Change Directory ou si vous préférez Changement de Répertoire Déplacement à  la racine du système

nadir@ipowerht:~/Desktop/CV $ cd /

Déplacement dans le répertoire var de la racine

nadir@port-soualem:/$ cd /var

Déplacement dans le répertoire courant www

nadir@port-soualem:/var$ cd www

Déplacement dans le répertoire /usr/bin

nadir@port-soualem:/var/www$ cd /usr/bin/

Reculer d’une branche vers la racine

nadir@port-soualem:/usr/bin$ cd ..

Déplacement dans mon répertoire personnel

nadir@port-soualem:/usr$ cd ~

Déplacement dans le répertoire personnel de l’utilisateur jean

nadir@port-soualem:~$ cd ~jean

mkdir

Cette commande permet de créer un réperoire (Make Directory)

nadir@ipowerht:~/Desktop/CV $ mkdir Photos /

créera le répertoire Photos dans le repértoire ~/Desktop/CV

cp

Cette commande permet de copier des fichiers. Copier le fichier cvnadir.tex dans cv.tex (Duplication)

nadir@port-soualem:/$ cp cvnadir.tex cv.tex

Copier le fichier cvnadir.tex dans le répertoire ~/Desktop/CV

nadir@port-soualem:/$ cp cvnadir.tex ~/Desktop/CV

Copier les fichiers du répertoire analyse dans le répertoire algebre

nadir@port-soualem:/$ cp analyse/ algebre/

Copier tous les fichiers du répertoire analyse - y compris les sous-répertoires dans le répertoire algebre

nadir@port-soualem:/$ cp -R analyse/ algebre/

mv

La commande mv permet de renommer un fichier ou de le déplacer dans un répertoire. Ainsi la commande suivante renommera le fichier cvnadir.tex en cv.tex

nadir@port-soualem:/$ mv cvnadir.tex cv.tex

Pour déplacer le fichier cv.tex dans le répertoire /home/nadir/fac, on procède comme suit:

nadir@port-soualem:/$ mv cv.tex /home/nadir/fac

cat

Cette commande permet d’afficher le contenu d’un fichier

nadir@port-soualem:/$ cat note.txt
Moyenne:=08/20;
Min:=01.5/20;
Max:=15/20;

si vous avez 2 fichiers file1, file2

nadir@port-soualem:/$ cat file1 file2

vous renverra le contenu des 2 fichiers, on parle de concaténation, c’est un 2 en 1 si vous préférez! évidemment, on peut généraliser cela à  plus de 2 fichiers.

less

Lorque les fichiers sont de grande taille, on voit clairement que la commande cat n’est plus approprié, puisque le texte affiché défile trop rapidement. La commande less permet de faire défiler le contenu du fichier à  son rythme !

nadir@port-soualem:/$ less cv.tex

rm

rm comme Remove, cette commande permet d’effacer des fichiers

nadir@port-soualem:/$ rm cv.tex

effacera le fichier cv.tex on peut également effacer le contenu d’un répertoire:

nadir@port-soualem:/$ rm -R analyse/

effacera tous les fichiers et sous répertoire de analyse, ainsi que le répertoire analyse lui même.

rmdir

rmdir comme Remove Directory, cette commande d’effacer des répertoire vides

nadir@port-soualem:/$ rmdir CANUM05/

Pour conclure, j’ai ajouté un bref index vous permettant d’aller directement sur les commandes de base.

Index

cat

cd

cp

less

ls

man

mkdir

mv

pwd

rm

rmdir