5.Débuter en Console
Historiquement, Gnu/Linux s'utilise principalement depuis une console en mode texte. Le but de ce guide est de vous apprendre à vous orienter en ligne de commande, ou shell. Le shell est un interpréteur de commandes : il permet à l'utilisateur de dialoguer avec le système. C'est le programme généralement exécuté lorsqu'un utilisateur se connecte. Il affiche un "prompt" et attend les commandes de l'utilisateur. Le shell est aussi un langage de programmation interprété puissant. Il offre à l'utilisateur un environnement composé d'un ensemble de variables et d'alias et un langage de commandes.
5.1.Se logguer
Quand vous allumez l'écran de la machine, vous arrivez au prompt de login :
Debian GNU/Linux 3.0 lna.emtstvit tty1
lna.emtstvit login:
Pour vous logguer, vous avez le choix entre :
vous logguer en tant que root : tapez root, appuyez sur Entrée, ensuite tapez le mot de passe root et appuyez sur Entrée. Vous voyez alors apparaître un certain nombre de messages et enfin le prompt du root :
lna:~#
Quand vous êtes ainsi loggué en tant que root, vous avez tous les droits sur le système.
vous logguer en tant que simple utilisateur : tapez votre nom d'utilisateur, appuyez sur Entrée, ensuite tapez votre mot de passe et appuyez sur Entrée. Vous voyez alors apparaître un certain nombre de messages et enfin le prompt de l'utilisateur :
user@lna:~$
Quand vous êtes ainsi loggué en tant que simple utilisateur, vous n'avez que des droits limités sur le système.
Rappel : l'utilisation du compte root est réservée à la modification de la configuration du système, à l'installation de packages et aux rares tâches qui nécessitent les droits de root ; pour toutes les autres tâches, il faut utiliser un compte utilisateur. En effet, l'utilisation du compte root est dangereuse : une fausse manipulation peut détruire le système... ce qui est impossible en tant que simple utilisateur !
5.2.Syntaxe d'une commande Linux
Lorsque la connexion est établie, un prompt s'affiche à gauche de l'écran : il attend de votre part une commande, un ordre qu'il pourra interpréter et exécuter. Le prompt est spécifique à la machine.
Chaque commande saisie au clavier doit être validée par un "return" (Enter) pour être exécutée. Soit :
lna:~# commande -options <arguments>
avec:
commande : ce que l'on veut faire
options (facultatives) : comment on le fait
arguments (éventuels) : sur quoi on le fait (fichiers ..)
La commande doit être saisie impérativement en minuscules pour être reconnue.
5.3.Passer d'une console à une autre
Vous n'avez peut-être pas encore remarqué, mais vous disposez de plusieurs consoles. Au démarrage, vous arrivez sur la première console, appelée tty1. Vous pouvez passer à la deuxième console (appelée tty2) avec la combinaison de touches Alt-F2. Pour revenir à la première console, utilisez la combinaison de touches Alt-F1. Vous pouvez aussi utiliser Alt-Flèche Gauche et Alt-Flèche Droite pour passer d'une console voisine à l'autre. Par défaut, il y a 6 consoles.
Comme souvent, il existe un cas particulier: le terminal graphique (tty7 en général). Pour basculer d'un terminal graphique à un terminal texte, la combinaison de touches à utiliser est cette fois Ctrl-Alt-Fx.
5.4.Trouver de l'aide
La commande man (pour manual) fournit des informations (description, options, syntaxe) sur une commande Linux ou une application donnée (Ex: man ls, man emacs, man chmod).
lna:~# man macommande
La commande apropos indique le nom des commandes et applications indexées par le mot-clé donné.
lna:~# apropos mon-mot-clé
5.5. Répertoires et fichiers
Le système de fichiers (file system) est un arbre (organisation hiérarchique) dont les noeuds sont des répertoires (directories) et les feuilles des fichiers. Le fichier (chemin/nom) peut être désigné :
soit par un path absolu (chemin absolu), qui commence par le caractère "/" (racine de l'arbre) suivie de la liste des noeuds (sous-répertoires, séparés par le caractère "/"), qu'il faut suivre depuis la racine pour atteindre le fichier
lna:~# cd /mon/repertoire
soit par un path relatif : le fichier dans ce cas est désigné depuis le répertoire courant
lna:~# cd mon/repertoire
Chaque répertoire sous Unix à une fonction particulière :
|
/ |
C'est la racine du système (un raccourci facile serait de dire qu'il s'agit du C: de windows), à partir de laquelle tous les répertoires sont repérés, qu'ils soient distants, locaux ou situés sur une autre partition. |
|
/bin |
Contient les commandes de bases utilisables à partir du shell (grep, mount, cp ...). |
|
/boot |
contient les informations nécessaires au démarrage de la machine. |
|
/dev |
contient les fichiers spéciaux correspondant aux périphériques. |
|
/etc |
la plupart des fichiers de configuration. |
|
/home |
Il contient les répertoires personnels des utilisateurs. |
|
/lib |
contient les principales bibliothèques partagées (équivalent aux DLL de Windows |
|
/lost+found |
c'est là que sont entreposés les résultats des scandisk quand ils ont lieux. |
|
/mnt |
les répertoires utilisés pour monter temporairement un système de fichiers. /mnt/floppy pour la disquette, /mnt/cdrom pour le cdrom ... |
|
/opt |
Permet de reproduire une arborescence /usr complète à partir d'un nouveau répertoire. |
|
/proc |
un répertoire factice, dont les fichiers contiennent des infos sur l'état du système et des processus en cours d'exécution. |
|
/root |
le répertoire personnel et privé de l'administrateur système : root. |
|
/sbin |
Contient les commandes de base nécessaires a l'administration système (fsck, mke2fs ...) |
|
/tmp |
Répertoire libre d'utilisation pour des cntenus temporaires |
|
/usr |
C'est l'équivalent de C:\Programme Files\ Mais en plus ordonné. |
|
/usr/bin |
les exécutables (ils n'ont pas l'extension .exe) |
|
/usr/doc |
a documentation sur les applications installées. |
|
/usr/lib |
les bibliothèques partagées (DLL) non vitales. |
|
/usr/local |
une sous-hiérarchie qui contient des logiciels compilés sur place à partir des sources. Organisation similaire à /usr. |
|
/usr/man |
le manuel en ligne. Les fichiers sont compressés. |
|
/usr/sbin |
Des exécutables pour l'administration réseau et système |
|
/usr/share |
Des fichiers de données. |
|
/usr/src |
Les sources de certains logiciels, principalement le noyau de Linux (/usr/src/linux) |
|
/var |
des données fréquemment réécrites, comme les logs |
|
/var/lock |
Des fichiers qui servent à marquer l'utilisation de certaines ressources. |
|
/var/log |
Lee journaux (log) du système. |
|
/var/run |
principalement des infos sur les services en fonctionnement. |
|
/var/spool |
Les spools: tout ce qui est "de passage" en attendant d'être utilisé par un logiciel. Ca inclut entre autres le mail, les news, les files d'attente des imprimantes... |
Le home directory (~) est le répertoire d'accueil dans lequel on se trouve après avoir établi la connexion sur le compte.
Certains caractères ne sont pas autorisés dans le nom du fichier. Notamment, par exemple, le caractère espace, accepté dans les noms de fichiers sous Mac, joue le rôle de séparateur sous UNIX (il sépare commande, options et paramètres les uns des autres). Pour manipuler malgré tout un fichier qui contient ce type de caractère, le nom de ce fichier devra être encadré de guillemets (ex: rm "seq 23.dat"). En règle générale, il est préférable de se limiter aux caractères alphabétiques, numériques ainsi que "-" et "_".
5.6.Droits d'accès
5.6.1.Notion de droits
Les droits d'accès aux fichiers (appelés encore modes ou permissions) sont un point essentiel du système Unix. Ils permettent de définir des droits différents sur un même fichier selon la catégorie d'utilisateurs.
Ainsi les manipulations de fichiers sont restreintes selon les droits alloués à chaque fichier. A chaque catégorie d'utilisateur correspond des droits spécifiques sur un fichier.
Pour afficher à l'écran les droits alloués à un fichier, il faut utiliser la commande ls -l qui permet de lister les fichiers d'un répertoire avec toutes les informations connexes possibles dont les droits du fichier.
lna:~# ls -l
-rw-r--r-- 1 root test 98304 nov 6 2003 20055500d00.doc
-rwxr-xr-x 1 root test 735 fév 19 2003 copiemime.sh
-rwxr-xr-x 1 root test 694 fév 19 2003 copienotes.sh
-rwxrw-r-- 1 root test 16322 jan 26 11:06 dhcpd.conf
drwxr-xr-x 5 root test 4096 jan 16 08:43 Documents
drwxrwxr-x 3 root test 4096 fév 25 12:08 temp
En préfixe des droits (et ici en bleu) est affiché le type du fichier (d pour les répertoires et - pour les fichiers normaux et les exécutables).
On peut voir dans cet exemple que tous les fichiers sont du même propriétaire dont le nom est root. Ce propriétaire faisant partie du groupe appelé test.
5.6.2.Droits d'accès
Il existe trois niveaux d'accès à un fichier:
Lecture
l'accès en lecture autorise la lecture du fichier, c'est-à-dire qu'il est possible d'éditer ce fichier avec une application quelconque pour en voir le contenu. Cet accès est désigné par la lettre r (read).
Alloué à un répertoire, ce droit permet de lister les fichiers qu'il contient.
Écriture
l'accès en écriture permet de modifier un fichier et de le supprimer. Il est désigné par la lettre w (write).
Alloué à un répertoire, il autorise la modification et la suppression des fichiers qu'il contient quelques soient les droits d'accès des fichiers de ce répertoire (mêmes s'ils ne possèdent pas eux-même le droit en écriture).
Exécution:
l'accès en exécution permet à un fichier exécutable d'être lancé et à un répertoire d'être ouvert. Il est désigné par la lettre x (execute). Pour qu'un programme puisse être exécuté, il est indispensable que le droit en exécution sur ce fichier soit autorisé pour l'utilisateur qui souhaite le lancer (Ce droit en exécution est sans effet lorsqu'il est affecté à un fichier qui n'est pas un exécutable).
Quant à un répertoire, il est tout aussi indispensable que son droit en exécution soit autorisé pour qu'on puisse accèder aux fichiers qu'il contient.
5.6.3.Catégories d'utilisateurs
A un fichier on affecte les droits correspondants à trois catégories d'utilisateurs.
Propriétaire: le propriétaire d'un fichier est la personne qui le crée. Il est désigné par la lettre u (user).
Groupe: Un groupe d'utilisateur est un ensemble d'utilisateurs privilégiés ayant en général des permissions moindre que le propriétaire d'un fichier mais plus grandes que la catégorie qui suit. Cette catégorie est désignée par la lettre g (group).
Autres: Cette catégorie regroupe tous les utilisateurs qui ne sont ni le propriétaire d'un fichier ni faisant partir du même groupe que le propriétaire. On les désignent par la lettre o (other).
Ces droits sont répartis selon un modèle concentrique:

Un ensemble de propriétaires forme un groupe, qu'un ensemble de groupes forme la catégorie "autres". L'accès à un sous ensemble concentrique suppose a priori d'obtenir des droits supplémentaires.
5.6.4.Identification des droits
Identification globale
À chaque catégorie d'utilisateur on associe un triplet de droits : lecture, écriture et exécution. Lorsqu'un droit est alloué, on voit la lettre correspondante (r, w ou x). Si le droit est refusé, on voit un tiret (-):
rwxrw-r--
Dans cet exemple, le propriétaire dispose des droits de lecture, d'écriture et d'exécution, le groupe les droits de lecture et d'écriture, les autres ne disposent que du droit de lecture.
Combinaisons des droits
A chacune des 3 catégories d'utilisateur, on associe d'une des 8 combinaisons différentes possibles pour l'allocation des droits que le tableau ci-dessous récapitule.
|
Triplet |
Droits correspondants |
|---|---|
|
--- |
aucun |
|
--x |
exécution |
|
-w- |
écriture |
|
-wx |
écriture et exécution |
|
r-- |
lecture |
|
r-x |
lecture et exécution |
|
rw- |
lecture et écriture |
|
rwx |
lecture, écriture et exécution |
Les droits globaux d'un fichier sont identifiés par l'association de 3 triplets de droits (un par niveau). Le tableau suivant regroupe quelques unes de ces combinaisons possibles:
|
Droits globaux |
Description |
|---|---|
|
rwxr-xr-x |
Le propriétaire a tous les droits, et le groupe ainsi que les autres n'ont pas accès en écriture. |
|
rwxr--r-- |
Le propriétaire a tous les droits, et le groupe ainsi que les autres n'ont accès qu'en lecture. |
|
rwxr-x--- |
Le propriétaire a tous les droits, le groupe possède les droits de lecture et d'exécution alors que les autres n'ont aucun droit. |
|
rwx------ |
Le propriétaire a tous les droits mais le groupe et les autres aucun. |
|
rw-r--r-- |
Le propriétaire possède les droits de lecture, écriture mais pas exécution. Et le groupe et les autres ont le droit en lecture. |
|
rw-rw---- |
Le propriétaire et le groupe ont le droit en lecture et écriture mais les autres n'ont aucun droit. |
Il est offert au propriétaire d'un fichier (et seulement à lui seul) de modifier les droits du fichier. C'est-à-dire qu'il peut supprimer des droits ou bien en rajouter de nouveaux à chacune des trois catégories d'utilisateur (voir la commande chmod).
5.6.5.Remarques importantes
Exécutable: Un programme ne peut être exécuté que si le fichier exécutable coorespondant possède le droit d'exécution dans la catégorie à laquelle appartient l'utilisateur.
Répertoire: On ne peut accèder à un fichier que si les répertoires successifs constitutifs du chemin absolu de ce fichier possèdent le droit en exécution. Pour pouvoir lister les fichiers d'un répertoire, ce dernier doit être accessible en lecture.
Fichier: Le droit en exécution n'a aucune incidence sur un fichier non exécutable. Par contre, un script (c'est-à-dire un fichier texte contenant des commandes du Shell) doit avoir les droits en lecture et en exécution pour pouvoir être interprété et exécuté par le Shell.
5.6.6.Droits étendus
SUID
Lorsqu'un utilisateur lance un programme, ce programme s'approprie les droits de l'utilisateur pour la manipulation des fichiers et non pas ceux du propriétaire du fichier.
Mais il est quelque fois nécessaire de permettre à d'autres utilisateurs l'accès à des données normalement protégées. Ce droit SUID (s) permet de prêter à un utilisateur de façon temporaire, des droits supplémentaires par l'intermédiaire d'un programme (fichier exécutable).
En exécutant un programme possédant un droit SUID, un utilisateur s'approprie les droits du propriétaire du fichier exécutable durant le temps d'exécution du programme. Ces droits supplémentaires ne sont valables que sur les fichiers appelés par le programme et les opérations effectuées par le programme et que durant le temps d'exécution du programme.
Son utilité vient du fait qu'il n'est pas besoin d'accorder durablement des droits étendus à n'importe qui sur des fichiers sensibles. Puisque l'accès à ces fichiers est filtré par un programme qui est seul à prendre des initiatives sur ces fichiers.
SGID
Le droit SGID (g) fonctionne différemment selon qu'il est affecté à un fichier exécutable ou à un répertoire.
Exécutable: Sur un fichier exécutable, le SGID est similaire au droit SUID vu précédemment sauf qu'il donne à un utilisateur les droits du groupe auquel appartient le propriétaire de l'exécutable et non plus les droits du propriétaire.
Répertoire: Tout fichier créé porte les droits du masque de protection de son propriétaire. De plus, tout fichier porte un UID (identificateur de propriétaire) et un GID (identificateur de groupe). C'est-à-dire qu'un fichier est toujours identifié par le nom de son propriétaire ainsi que par le nom du groupe auquel appartient le propriétaire. Le droit SGID, lorsqu'il est affecté à un répertoire, casse cette logique. Puisque tout nouveau fichier créé dans un répertoire marqué par le SGID sera de groupe non pas celui du propriétaire du fichier mais celui du propriétaire du répertoire. Ainsi, tout fichier créé dans un répertoire portant le SGID, héritera du groupe du propriétaire du répertoire.
Sticky Bit
Le droit Sticky Bit (appelé aussi bit collant) est alloué à la catégorie autres d'un répertoire.
Il permet d'interdire à tout utilisateur (sauf root) de supprimer un fichier dont il n'est pas le propriétaire, quelque soient ses droits.
Si le répertoire en question est accessible en écriture par n'importe quel utilisateur (rwxrwxrwx), n'importe qui peut poser ce bit collant qui protège tous les fichiers d'une suppression ou modification de la part d'un utilisateur autre que son propriétaire.
Ce bit collant permet donc d'aller à l'encontre du droit en écriture d'un répertoire dont héritent les fichiers du répertoire. Il est représenté symboliquement par t.
5.7.Liste des commandes de base à connaître
|
cat |
Pour afficher le contenu d'un fichier:lna:~# cat monfichier |
|
cd |
Pour changer de répertoire: lna:~# cd /mon/repertoire (sous Linux, ~ représente le répertoire HOME de l'utilisateur) |
|
chgrp |
Pour changer le groupe d'appartenance d'un fichier: lna:~# chgroup mongroupe monfichier |
|
chmod |
Pour changer les droits d'accès d'un fichier: lna:~# chmod u=rw,g=r,o=r monfichier Les droits possibles sont r (lecture), w (écriture), x (exécution). Les droits sont changés pour l'utilisateur (u), le groupe (g), les autres (o) |
|
chown |
Pour changer l'utilisateur d'appartenance d'un fichier lna:~# chown monutilisateur monfichier |
|
cp |
Pour copier un fichier: lna:~# mv fichier-original fichier-final |
|
du |
Pour afficher la taille du répertoire: lna:~# du -h /mon/repertoire |
|
find |
Pour trouver un fichier: Pour changer le groupe d'appartenance d'un fichier lna:~# find /dans/ce/repertoire -name monfichier |
|
grep |
Pour trouver un mot dans un fichier: lna:~# grep monmot monfichier |
|
less |
Pour lister le contenu d'un fichier: lna:~# less monfichier |
|
ln |
Pour créer un raccourci vers un fichier: lna:~# ln fichier-original fichier-final |
|
mkdir |
Pour créer un répertoire: lna:~# mkdir /mon/repertoire |
|
ls |
Pour lister les fichiers d'un répertoire: lna:~# ls /mon/repertoire |
|
mv |
Pour déplacer un fichier: lna:~# mv fichier-original fichier-final |
|
rm |
Pour supprimer un fichier: lna:~# rm monfichier |
|
rmdir |
Pour supprimer un répertoire: lna:~# rmdir /mon/répertoire |
5.8.Philosophie de la ligne de commande
De nombreuses commandes lisent leurs données (entrée = input) à partir de l'entrée standard (stdin), par défaut le clavier, et écrivent leurs résultats (sortie = output) dans la sortie standard (stdout) et les erreurs dans la sortie-erreur standard (stderr), par défaut l'écran, selon le schéma :

Si l'on souhaite rediriger les entrées et sorties, la commande prendra la syntaxe suivante :
lna:~# commande [-options] [arguments] < input-file > output file
avec les métacaractères de redirection suivants :
|
< |
redirige l'entrée standard |
|
> |
redirige la sortie standard |
|
>> |
redirige et concatène la sortie standard |
|
>& |
redirige les sorties standard et erreur |
|
>>& |
redirige et concatène les sorties standard et erreur |
Dans le même esprit, le caractère "|" (opérateur pipe) redirige la sortie standard (sdtout) d'une commande dans l'entrée standard (stdin) d'une autre commande. Plusieurs commandes peuvent être combinées ainsi:
lna:~# commande1 [-options] [arguments] commande2 | ...
Quelques exemples:
|
(pwd; ls -l) > fichier.out |
écrit le nom du répertoire et le résultat de la commande ls dans fichier.out (le caractère ; permet d'enchaîner des commandes ) |
|
ls -lh > liste.archive |
Écrit la liste des fichiers du répertoire courant fans le fichier liste.archive |
|
grep -i dupont fichier > result |
Enregistre uniquement les lignes du fichier fichier contenant dupont dans le fichier result. |
|
cat file1 file2 >filen |
concatène deux fichiers (contenu de file2 apres file1) dans un troisième |
|
cat file2 >>file3 |
Ajoute le contenu de file2 à la fin de file3 |
|
who | sort |
tri et édite les utilisateurs connectés |
|
ls -lh | less |
édite page par page les noms de fichiers du répertoire |
5.9. Les petites commandes pratiques
|
bc |
une calculatrice en mode texte. |
|
cal |
affiche un calendrier du mois courant. cal 2003 affiche un calendrier de l'année 2003. |
|
date |
donne l'heure système. |
|
head -n <fichier> |
affiche les n 1ères lignes du fichier. |
|
pwd |
affiche le nom du répertoire courant. |
|
sort <fichier> |
trie un fichier. |
|
tail -n <fichier> |
affiche les n dernières lignes du fichier. |
|
tail -n <fichier> |
surveille les changements d'un fichier |
|
wc -l -w -c <fichier> |
retourne le nombre de lignes, de mots, de caractères dans le fichier indiqué. |
|
who |
affiche la liste des utilisateurs connectés. |
|
ctrl-l |
permet de rafraîchir l'affichage d'une application en console quand l'affichage est perturbé (par un message d'erreur par exemple). |
|
ctrl-r |
permet de rappeller une commande dans l'historique de la ligne de commande |
5.10.Compression, encodage, archivage
La compression d'un fichier vise à réduire la taille d'un fichier. Grossièrement, le taux de compression atteint est de 50-60 pourcent de la taille originelle.
|
gzip <fichier> |
Compression. Génère un fichier.gz. |
|
gunzip <fichier> |
Décompression d'un fichier.gz. |
|
tar cf <tarfile> <répertoire_à_tarer> |
Archive (tare) un ensemble de fichiers ou les fichiers d'un répertoire en un fichier.tar unique (=tarfile). |
|
tar xf <tarfile> |
Désarchive (éclate, restaure) un fichier.tar (tarfile) en n fichiers d'origine. |
6.TP1 – Ligne de commande
Allez dans votre HOME
Affichez le nom du répertoire courant
Créez un répertoire TP
Allez dans le répertoire créé
Affichez le contenu du répertoire courant
Décompressez l'archive du tp 1 dans le répertoire courant
Allez dans le répertoire lsg_cl/long-noms
Afficher le nombre de fichiers du répertoire courant
Afficher le nombre de fichiers finissant par "89"
Déplacez les fichiers finissant par "977" dans ~/TP/lsg_cl/long-noms.tmp
Listez le contenu de ce dernier répertoire
Supprimez ce dernier répertoire
Copiez le répertoire ~/TP/lsg_cl/long-noms vers ~/TP/lsg_cl/long-noms.tmp
Allez dans ce répertoire
Affichez la taille de ce répertoire
Supprimez tous les fichiers commençant par « je_suis_un_fichier »
Affichez la taille de ce répertoire
Allez dans le répertoire ~/TP/lsg_cl/invalide
Supprimez le fichier « doit etre supprime »
Supprimez le fichier « -h »
Allez dans le répertoire ~/TP
Trouvez quel fichier du répertoire recherche contient le terme «gagne»
Affichez la date
Concaténez la sortie de la commande date vers le fichier « date-courante »
Ajoutez la sortie de la commande cal vers le fichier « date-courante »
Affichez le contenu du fichier « date-courante »
Affichez les premières et dernières lignes du fichier « date-courante »
Afficher le contenu trié du fichier « atrier.txt »
Affichez le contenu trié du fichier « atrier.txt », uniquement les lignes contenant le mot "LIGNE"
Enregistez le contenu trié du fichier « atrier.txt », uniquement les lignes contenant le mot "LIGNE", dans le fichier « tri.txt »
Affichez avec le pager le contenu du fichier caché du répertoire « invalides »
Allez dans le répertoire parent
Compressez le répertoire lsg_cl dans l'archive « lsg_cl.tar.gz »
7.Top – Monitoring
Top est l'outil de monitoring le plus efficace sous Linux. Il permet d'un simple coup d'oeil de juger de l'état d'un serveur et de décider des mesures à prendre.
7.1.Description de l'application
L'application top se lance depuis la ligne de commande:
lna:~# top
10:13:44 up 4 days, 2:33, 1 user, load average: 0.12, 0.03, 0.01
18 processes: 17 sleeping, 1 running, 0 zombie, 0 stopped
CPU states: 0.0% user, 0.1% system, 0.0% nice, 99.9% idle
Mem: 61084K total, 42096K used, 18988K free, 10968K buffers
Swap: 0K total, 0K used, 0K free, 11324K cached
PID USER PRI NI SIZE RSS SHARE STAT %CPU %MEM TIME COMMAND
1 root 8 0 484 484 424 S 0.0 0.7 0:00 init
2 root 9 0 0 0 0 SW 0.0 0.0 0:00 keventd
3 root 19 19 0 0 0 SWN 0.0 0.0 0:00 ksoftirqd_CPU0
4 root 9 0 0 0 0 SW 0.0 0.0 0:00 kswapd
5 root 9 0 0 0 0 SW 0.0 0.0 0:00 bdflush
6 root 9 0 0 0 0 SW 0.0 0.0 0:00 kupdated
7 root 9 0 0 0 0 SW 0.0 0.0 0:02 kjournald
145 root 9 0 580 580 464 S 0.0 0.9 0:04 syslogd
148 root 9 0 528 528 380 S 0.0 0.8 0:00 klogd
157 root 9 0 508 508 444 S 0.0 0.8 0:00 inetd
164 root 9 0 1280 1280 1140 S 0.0 2.0 0:00 sshd
170 root 8 0 676 676 564 S 0.0 1.1 0:00 cron
173 root 9 0 468 468 408 S 0.0 0.7 0:00 getty
174 root 9 0 5064 5064 1976 S 0.0 8.2 0:00 miniserv.pl
947 root 9 0 1872 1872 852 S 0.0 3.0 0:01 named
955 root 10 0 1840 1840 1564 S 0.0 3.0 0:00 sshd
959 root 14 0 920 920 744 R 0.0 1.5 0:00 top
Les 5 premières lignes donnent un résumé de l'état de la machine, les suivantes affichent N processus en fonctionnement sur la machine.
la première ligne affiche l'heure (10h13m44s), le temps écoulé depuis que la machine a été démarrée (4 jours et 2h33), le nombre d'utilisateurs connectés (1), la charge moyenne sur 1, 5 et 10 minutes.
la deuxième ligne affiche le nombre de programmes en cours (18 dont 17 en attente, 1 en fonction, aucun zombie, aucun stoppé)
la troisième ligne affiche le taux d'occupation du processeur par des processus utilisateurs (0%), systèmes (0.1%), de faible priorité (0%) et le complément (99.9%)
les quatrième et cinquième lignes affichent des statistiques (voir la commande free).
Les lignes suivantes présentent un tableau de statistique des programmes: un programme par ligne.
7.2.Principaux raccourcis
|
h ou ? |
afficher l'aide(ainsi que la signification des champs) |
|---|---|
|
f |
ajouter / enlever des champs |
|
o |
déplacer des champs |
|
k |
tuer une tâche (suivi du pid) |
|
N |
tri par PID |
|
A |
tri par âge |
|
P |
tri par occupation du processeur |
|
M |
tri par mémoire occupée |
8.MC – Midnight Commander
Midnight Commander (MC) est le « couteau suisse » GNU pour la console Linux et autres environnements de terminaux. C'est l'équivalent linuxien des System Commander et PCTools.
8.1.Démarrage
|
démarrage de mc |
mc |
|---|---|
|
démarrage de mc forcé en couleurs si c'est possible |
mc -c |
8.2.Commandes standard
|
Aide. Naviguer avec les touches flèches à l'intérieur. de mc |
F1 |
|---|---|
|
Regarde le fichier courant. Colorisation de syntaxe pour les fichiers man. Appel lynx pour les fichiers html. / pour faire une recherche (comme dans vi), G pour aller au bout, g pour revenir au début. |
F3 |
|
Édition (interne ou externe). L'éditeur interne est assez pratique. |
F4 |
|
Copie un ou les fichiers courants du panel actif vers l'autre. |
F5 |
|
Permet de se balader dans les menus de mc par le clavier. |
F9 |
|
Quitte mc. |
F10 |
8.3.Raccourcis utiles
|
Envoie le nom du fichier courant sur la ligne de commande |
Esc Enter |
|---|---|
|
Sélectionne le fichier courant (le passe en jaune). |
Ins |
|
Sélectionne des fichiers avec une expression régulière. |
+ |
|
Sélectionne tous les fichiers du répertoire. |
* |
|
Changement des droits sur un fichier. |
Control-x c |
|
Envoi le nom du répertoire courant vers la ligne de commande. |
Control-x p |
|
Envoi le nom du répertoire du panel opposé vers la ligne de commande |
Control-x P |
|
Complétion du nom en train d'être tapé. |
Esc-Tab |
|
Commande précédente de l'historique. (On peut aussi cliquer sur [^] au bout de la ligne de commande |
Esc-p |
|
Lancement d'une commande dont le résultat sera montré dans le viewer de mc. Très utile pour les man, car la colorisation rend le man plus lisible. |
Esc-! |
8.4.Configuration de base
|
Options -> Configuration -> lynx-like motion |
utilisation des touches <- -> pour se déplacer dans les répertoires |
|---|---|
|
Options -> Configuration -> Pause after run : Always |
après le lancement d'une commande via la ligne de commande, attend un appui sur la barre d'espacement pour revenir à mc |
|
Options -> Configuration -> use internal edit |
permet d'utiliser la commande interne lors de l'édition ou un autre éditeur (à choisir en initialisant la variable d'environnement EDITOR) |
|
Options -> Learn keys |
permet à mc d'apprendre les touches si il ne les reconnaît pas. Très pratique. Attention cependant, si vous changer souvent de type de terminal, vous écrasez à chaque fois les codes. |
8.5.Système de fichiers virtuel
Sous mc, un site ftp ou une archive tar sont des répertoires comme les autres. Pour un fichier tar ou tgz (tar zipé), il suffit d'aller sur le fichier et de taper enter. Vous entrez alors dans l'archive, et vous pouvez sélectionner un ou plusieurs fichiers pour les copier dans le répertoire d'à côté, voir un fichier de l'archive avec F3, .... Toutes les opérations ne sont cependant pas possibles, puisque le système de fichiers est considéré comme étant en lecture seulement.
En ce qui concerne le ftp, vous faites :
cd !ftp://nom_de_l_utilisateur@nom_de_l_ordinateur.xx.yy
Une fenêtre apparaît alors vous demandant un mot de passe. Vous voyez ensuite les fichiers tout comme si vous étiez dans le répertoire ftp du serveur. Vous pouvez copier (envoyer ou recevoir un fichier du serveur ftp), visualiser un fichier, etc, etc. C'est certainement le moyen le plus simple d'envoyer un arbre de répertoire via ftp. F5 sur le répertoire à copier, et les sous répertoires sont envoyés récursivement, sans que vous vous en préoccupiez.
8.6.Captures d'écran

fig
1 - vue générale

fig
2 - édition d'un fichier

fig
3 - visualisation de fichiers

fig
4 - copie de fichier
9.TP2 – Outils Avancés
Lancez screen
Lancez top
Triez l'affichage par occupation mémoire
Créez une nouvelle console screen
Lancez mc
Revenez sur la première console
Trier par age
Créez une nouvelle console screen
Afficher les tâches en cours avec le pageur
Depuis top, tuer le pageur (signal 9)
Exploration de l'arborescence à l'aide de mc.
