Linuxman - février 1999


INDEX

Mois suivant


19 2 1999
20 2 1999
21 2 1999
22 2 1999
23 2 1999
24 2 1999
25 2 1999
26 2 1999
27 2 1999
28 2 1999

 19 2 1999

Mots Clés : début, début.

23h41, j'ai l'idée de commencer un petit truc sur Linux pour le mettre sur ma page web, je pense tout d'abord à un rapport LaTeX bien structuré, mais à bien y réfléchir la structure c'est pas trop mon truc, et finalement je me dis que faire un manuel chronologique c'est pas une si mauvaise idée, même si bien sûr la recherche n'y est pas facilitée, mais de nos jours on fait des grep qui marchent très bien, et puis je rajouterai peut être deux trois mots clés avant les paragraphes histoire de faciliter les choses...

haut de page

Mots Clés : warly.

Donc pour faire bref, je suis Warly, et j'utilise depuis quelques mois (une quinzaine me semble t'il) Linux sur mon PC, ou mes PC devrais-je dire. Je suis loin d'être un expert en ce qui concerne Linux et c'est plus dans le but d'apprendre quelque chose moi-même que d'apprendre quelque chose à quelqu'un que j'ai décidé de commencer cette « Chronique»  on va dire.

haut de page

 20 2 1999

Mots Clés : quota, quotaon, quotaoff, quota.

Tiens! Hier j'ai appris une nouvelle commande : quota, qui permet de voir les quotas pour un utilisateur ou pour un groupe. La syntaxe est assez simple :
quota : liste les quotas pour l'utilisateur courant,
quota -g : liste les quotas pour le groupe auquel appartient l'utilisateur,
On ne peut savoir, sauf si on est super utilisateur, que les quotas nous concernant. En étant super utilisateur, par la commande quota user on connaît les quotas pour user. Quota se sert de /etc/fstab pour chercher les différents systèmes de fichiers. Les deux fichiers où sont spécifiés les quotas sont quota.user et quota.group. Les commandes utiles pour les quotas sont quotaon, quotaoff et edquota.

Pour plus d'information en ce qui concerne l'utilisation de quotas, consultez donc le mini HOWTO en anglais quota.en ou son équivalent en français quota.fr. Vous avez aussi bien sûr les pages man sur quota, quotaon, quotaoff et edquota.

haut de page

 21 2 1999

Mots Clés : couleur, color, X, couleur.

Bon comme on en apprend pas forcément tous les jours, de temps en temps il faut causer de trucs plus anciens, là il va être question de couleurs. Plus précisément du nombre de couleurs de mon serveur X. Parce que, pas toujours, mais il arrive que par défaut votre environnement graphique n'affiche que 256 couleurs. Ce qui est bien gênant quand on peut allègrement babasser en millions de couleurs... C'est le serveur X qui gère le mode graphique sous Linux, j'ai bien entendu parler de protocole Y ou autre, censés corriger les imperfections de X, mais je ne crois pas aujourd'hui qu'il y ait vraiment d'alternatives. Sous Linux, je connais XFree86, un serveur X gratuit, mais il y en a sûrement d'autres. C ela dit c'est quand même bien cool d'avoir plein de couleurs. Donc plusieurs solutions...

Si vous démarrez en mode texte (autrement appelé runlevel 3) et qu'il vous faut taper startx pour passer en graphique, les solutions que je connais pour modifier le nombre de couleurs sont :

taper startx -- -bpp 32 : le -- permet de préciser que l'on désire passer les arguments à X, -bpp est une option de X qui permet de définir une profondeur de couleur (bpp signifie bits per pixel, autrement dit le nombre de bits réservés pour coder la couleur d'un pixel, 8 = 256 valeurs, 16 = 65536, 24 = 16777216 et 32 c'est aussi 16777216 me semble-t'il mais codé un peu différemment, mais bon comme c'est plus, forcément c'est mieux).

modifier le fichier /etc/X11/XF86Config qui contient les paramètres de l'affichage. Soit à la main avec un bon éditeur (vi ou autre), soit avec Xconfigurator ou xf86config. Il faut ajouter la ligne DefaultColorDepth bpp-number pour spécifier le nombre de bits par pixel par défaut.

Si vous démarrez directement en mode graphique (runlevel 5), vous pouvez toujours modifier le fichier XF86Config ou éditer le fichier /etc/X11/xdm/Xservers et ajouter l'argument -bpp 32 à la ligne :0 local /usr/X11R6/bin/X.

haut de page

Mots Clés : chmod, chmod.

Je me suis toujours demandé à quoi servaient les 3 premiers bits des permissions, je comprends maintenant un peu mieux leur utilité, même si ce n'est pas encore totalement clair. Tout d'abord un petit rappel sur chmod qui permet de changer les permissions d'un fichier ou répertoire. J'utilise généralement le codage octal parce que les options textes je les assimile pas. Donc, voilà les 12 bits définissant les permissions d'un fichier:
1 : set UID : donne les droits du propriétaire à l'exécutable ou au répertoire.
2 : set GUID : donne les droits du groupe à l'exécutable ou au répertoire.
3 : C'est lui qui me pause problème : la définition c'est « save program text on swap device ». Je pense que c'est une mesure de sécurité pour garder une copie du programme dans le swap. Mais je n'en suis pas sûr.
4 : droit de lecture du propriétaire.
5 : droit d'écriture du propriétaire.
6 : droit d'exécution (ou d'ouverture pour les répertoires) du propriétaire.
7 : droit de lecture du groupe
8 : droit d'écriture du groupe
9 : droit d'exécution (ou d'ouverture pour les répertoires) du groupe
10 : droit de lecture des autres utilisateurs.
11 : droit d'écriture des autres utilisateurs.
12 : droit d'exécution (ou d'ouverture pour les répertoires) des autres utilisateurs.

Autrement dit, si je fais un chmod 4755 supercoolscriptsupercoolscript est un petit script et bien il s'exécutera avec mes droits, sera lisible, modifiable et exécutable par moi, et lisible et exécutable par le groupe et les autres.

haut de page

 22 2 1999

Mots Clés : proc, information, proc.

Si jamais vous voulez avoir des infos sur votre système, un répertoire bien cool c'est /proc. /proc est un pseudo système de fichier donnant des infos sur le système. Les répertoires qui ont pour nom un numéro représente en fait un process du système. Par exemple, voilà le listing de mon /proc là, tout de suite : ./          ../               1/             1164/         1200/          1201/
1202/       1203/             1207/          1208/         1210/          1213/
1214/       1221/             2/             237/          246/           257/
268/        279/              290/           3/            302/           313/
324/        336/              345/           369/          380/           397/
406/        419/              420/           421/          422/           423/
424/        425/              427/           429/          430/           442/
518/        522/              530/           531/          532/           533/
534/        535/              543/           546/          547/           548/
549/        550/              559/           560/          564/           612/
613/        619/              620/           621/          622/           723/
788/        789/              790/           791/          792/           793/
794/        821/              bus/           cmdline       cpuinfo        devices
dma         filesystems       fs/            ide/          interrupts     ioports
kcore       kmsg              ksyms          loadavg       locks          meminfo
misc        modules           mounts         net/          partitions     pci
scsi/       self@             slabinfo       sound         stat           swaps
sys/        tty/              uptime         version

Si par exemple je prends le process 1200, /proc/1200 contient :

cmdline  cwd      exe     maps     root     statm  
cpu      environ  fd      mem      stat     status

qui sont toutes les caractéristiques de mon process 1200. Par exemple, si je fais cat cmdline (ce sont des pseudo fichiers que l'on ne peut pas éditer, faire un cat est une bonne solution).

warly@warly 1200$ cat cmdline
pine

Et voilà, c'est pine, trop cool !

Dans /proc se trouvent aussi tout un tas de fichiers bien intéressants, par exemple cpuinfo :

warly@warly /proc$ cat cpuinfo
processor      : 0
vendor_id      : AuthenticAMD
cpu family     : 5
model          : 6
model name     : AMD-K6tm w/ multimedia extensions
stepping       : 2
cpu MHz        : 225.004367
fdiv_bug       : no
hlt_bug        : no
sep_bug        : no
f00f_bug       : no
fpu            : yes
fpu_exception  : yes
cpuid level    : 1
wp             : yes
flags          : fpu vme de pse tsc msr mce cx8 sep mmx
bogomips       : 448.92

qui donne des infos sur le CPU. Ou meminfo :

warly@warly /proc$ cat meminfo
        total:    used:    free:  shared: buffers:  cached:
Mem:  97992704 95711232  2281472 48553984  2244608 38608896
Swap: 502075392  7049216 495026176
MemTotal:     95696 kB
MemFree:       2228 kB
MemShared:    47416 kB
Buffers:       2192 kB
Cached:       37704 kB
SwapTotal:   490308 kB
SwapFree:    483424 kB

Il y en a plein d'autres, y'a qu'à essayer...

haut de page

 23 2 1999

Mots Clés : linuxhq, web, documentation, linuxhq.

Bon évidemment, si on veut apprendre quelques trucs sous Linux, il vaut mieux surfer un minimum, parmi les multiples sources d'informations qui existent, je n'en citerai que quelques-unes, les plus utiles à mon goût, mais j'en oublie sûrement de très bien.

Forum :
fr.com.os.linux.*
comp.os.linux.*

ça en fait déjà pas mal.

Sites web :

www.linuxhq.com qui pointe sur de nombreux autres sites très bien.
www.redhat.com qui a des mailings listes pas trop mal.

Archives
w3.rufus.org : base de données de RPM, les packages de la RedHat.
ftp.lip6.fr : pas mal de trucs aussi.

Vous pouvez aussi jeter un coup d'oeil au fichier /usr/src/linux/Documentation/Changes qui contient pas mal de pointeurs.

haut de page

 24 2 1999

Mots Clés : rpm, package, rpm.

Alors, pour installer vos packages, vous faite quoi ?rpm -iU package.rpm bien sûr. C'est en gros les arguments de rpm qui servent le plus. Avec deux autres, rpm -qa qui liste tous les packages installés, et rpm -e package qui efface un package. Il y a aussi les options --nodeps et --force, mais c'est pas super cool de les utiliser. On en a besoin quand en essayant d'installer un package on se prend des failing dependencies dans la tronche. Alors si on veut vraiment installer le package tout en sachant qu'il y ait des chances pour que ça foire à mort on peut utiliser --nodeps. Il arrive aussi qu'un package soit en conflit avec d'autres déjà installés, c'est alor s là l'argument --force qui est bien utile. Personnellement, je déconseille l'utilisation de ces arguments : les cas où ils sont indispensables sont extrêmement rares.

haut de page

 25 2 1999

Mots Clés : grep, kill, awk, grep.

Tiens, une petite ligne de commande bien cool qui peut servir parfois. Bon, imaginons que vous vouliez configurer xbuffy pour vous avertir quand un mail arrive, alors vous tapez xbuffy -bg black -fg yellow -geometry 100x20+10+10, puis encore deux ou trois commandes du même type... Évidemment après vous voulez les quitter, parce que tous ces xbuffy aux couleurs et formes différentes ça fait pas très sérieux sur votre bureau. Bon alors vous tapez un ps ou ps a ou ps u username pour trouver les numéros de process (PID ), et vous tapez des kill 12323 à tour de bras. Bon, vous vous dites quand même qu'il doit y avoir plus simple. Effectivement, il y a plus simple. Par exemple kill `ps u username | grep xbuffy | awk '{ print $1 }'` est déjà un truc pas mal, sauf que le grep xbuffy de la sortie de ps u username sort aussi le grep xbuffy, et forcément ce process n'existe plus quand on essaie de le killer... La solution est toute simple, il suffit de faire un grep [0-9]\ xbuffy à la place (ou grep [0-9] xbuffy qui revient au même, le tout étant de mettre un numéro devant pour ne pas prendre le grep. Autre solution plus facile à taper, c'est de faire un grep -v grep en plus pour virer le grep. Donc au final on obtient :

kill `ps u username | grep xbuffy | grep -v grep | awk '{ print $1 }'`

haut de page

 26 2 1999

Mots Clés : runlevel, inetd, httpd, http, runlevel.

Bon, vous êtes bien cool assis devant votre babasse, il fait chaud, votre copine est sortie, le bonheur total quoi. Tiens un petit top pour jeter un coup d'oeil au système... Y'a quand même pas mal de RAM qu'est bouffée, c'est terrible, bon aller, vous tapez un 'M' dans votre top pour voir ce qui bouffe le plus de mémoire... HA ! Mais c'est quoi tout ces httpd qui me bouffent deux Megas à l'unité !!! Pas vrai ça, rien demandé moi au serveur http !! Bon, il doit quand même y avoir moyen de ne le lancer que quand on fait une requête. Effectivement il y a moyen. Par défaut le serveur http, httpd, est lancé au démarrage de la machine, or la plupart d'entre nous n' utilisons pas de serveur http, mais virer apache du disque c'est quand même pas cool, parce que c'est quand même la classe d'avoir un serveur http a disposition. Bon, la solution se trouve dans l'utilisation d'inetd. Tout d'abord il faut dire au système de ne pas lancer httpd au démarrage. Cela se passe dans le répertoire /etc/rc.d, c'est là que sont définies toutes les tâches à exécuter quand on change de runlevel. Un runlevel est un contexte d'exécution on va dire, même si je suis pas trop expert. Disons que les plus utiles sont le runlevel :
0 : c'est quand on arrête le système (halt)
1 : c'est le mode mono-utilisateur (quand vous tapez linux single au prompt de LILO)
3 : c'est le mode multi utilisateurs en mode texte
5 : pareil en mode graphique
6 : quand on reboote

Chaque fois que l'on quitte un runlevel pour entrer dans un autre, des tâches sont tuées et d'autres exécutées. C'est ce qu'on retrouve dans les répertoires /etc/rc.f/rcX.d où X est le numéro du runlevel. Dans ces répertoire figurent des Kxxnom_du_process et des Sxxnom_du_process. Et bien les Ktruc c'est ce qu'on tue (kill) et les Struc c'est ce qu'on lance (start). Ce sont des liens vers le répertoire /etc/rc.d/init.d qui contient tous les scripts de lancement. Le plus simple pour éditer tout ça c'est d'utiliser le control-panel ou linuxconf. Mais on peut aussi le faire à la main.

Bon voilà, donc avec le control-panel et le runlevel editor vous enlevez http de tous les runlevels où il apparaît. Voilà.

Maintenant il vous reste à configurer inetd pour qu'il se charge de lancer httpd quand vous faite une requête sur le port 80 de votre babasse (ou le port de votre serveur http si c'est pas 80). Rien de plus simple, il suffit de rajouter la ligne :
                      http    stream  tcp     nowait  root    /usr/sbin/httpd http
à la fin du fichier /etc/inetd.conf

haut de page

 27 2 1999

Mots Clés : Xclient, xinitrc, xsession, netrc, screenrc, bashrc, profile, Xdefault, login, logout, mailcap, configuration, bash_login, Xclient.

Bon, dans votre $HOME directory, si vous faites un ls -la, vous vous prenez une flopée de fichiers cachés dans la tronche sans trop savoir ce qu'ils font, alors je fais faire un petit tour pour voir ce qu'il y a d'intéressant dans ces fichiers :

warly@warly warly$ ls -la
total 1669
drwx------  24 warly    warly       2048 Feb 27 20:02 .
drwxr-xr-x   7 root    root         1024 Feb 20 11:35..
-rw-r--r--   1 warly    warly      18174 Dec 25 16:58 .FVWM2-errors
-rwxr-xr-x   1 warly    warly        481 Feb 17 22:25 .Xclients
-rw-r--r--   1 warly    warly       3820 Dec 25 18:54 .Xdefaults
-rw-rw-r--   1 warly    warly       1573 Feb  5 11:12 .acrorc
-rw-r--r--   1 warly    warly       1496 Feb 23 23:09 .addressbook
-rw-r--r--   1 warly    warly       3653 Feb 23 23:09 .addressbook.lu
-rw-r--r--   1 warly    warly      12868 Feb 27 08:37 .bash_history
-rw-r--r--   1 warly    warly         49 Dec 27 17:40 .bash_logout
-rw-r--r--   1 warly    warly        220 Dec 27 17:40 .bash_profile
-rw-r--r--   1 warly    warly       3548 Feb 13 23:13 .bashrc
-rw-r--r--   1 warly    warly        650 Dec 25 16:58 .cshrc
-rw-r--r--   1 warly    warly        547 Dec 25 16:58 .emacs
-rw-------   1 warly    warly        448 Feb 11 19:15 .fetchmailrc
-rw-r--r--   1 warly    warly      18624 Dec 27 17:36 .fvwm2rc
-rw-r--r--   1 warly    warly       7790 Dec 25 16:58 .gcalrc
drwxrwxr-x  11 warly    warly       1024 Feb 20 11:00 .gimp
drwx------   2 warly    root        1024 Dec 28 09:08 .gnome
drwx------   2 warly    root        1024 Dec 28 09:08 .gnome_private
-rw-r--r--   1 warly    warly        111 Dec 25 16:58 .inputrc
-rw-rw-r--   1 warly    warly          2 Feb 27 08:37 .kaudioserver
drwxr-xr-x   3 warly    warly       1024 Feb 17 23:16 .kde
drwxr-xr-x   3 warly    warly       1024 Feb 13 23:13 .kde.kdesave
-rw-rw-r--   1 warly    warly       1686 Feb 27 11:54 .kderc
-rw-rw-r--   1 warly    warly        752 Feb 13 23:25 .kderc.kdesave
drwxrwxr-x   3 warly    warly       1024 Feb 19 22:20 .kpackage
-rw-rw-r--   1 warly    warly          5 Feb 27 11:54 .kss-install.pid.warly.warly.org
-rw-rw-r--   1 warly    warly          5 Feb 13 23:29 .kss.pid
-rw-r--r--   1 warly    warly        424 Feb  2 10:34 .login
-rw-r--r--   1 warly    warly         51 Dec 25 16:58 .logout
-rw-rw-r--   1 warly    warly         65 Jan 19 22:26 .mailcap
drwx------   2 warly    warly       1024 Jan 10 14:30 .mp3menu
-rw-------   1 warly    warly        448 Jan  9  1998 .netrc
drwx------   5 warly    warly       1024 Feb 27 16:07 .netscape
-rw-rw-r--   1 warly    warly        656 Feb 27 15:59 .newsrc
-rw-------   1 warly    warly          0 Feb 25 21:51 .newsrc-news
-rw-------   1 warly    warly        549 Feb 24 22:31 .newsrc-news.wanadoo.fr
-rw-rw-r--   1 warly    warly       7884 Feb 27 20:02 .pine-debug1
-rw-rw-r--   1 warly    warly       7915 Feb 27 19:04 .pine-debug2
-rw-rw-r--   1 warly    warly       7893 Feb 27 18:25 .pine-debug3
-rw-rw-r--   1 warly    warly       7799 Feb 27 15:59 .pine-debug4
-rw-rw-r--   1 warly    warly      10560 Feb 27 20:02 .pinerc
-rw-r--r--   1 warly    warly        340 Dec 25 16:58 .profile
-rw-r--r--   1 warly    warly        174 Dec 25 16:58 .profile.ksh
-rw-rw-r--   1 warly    warly       3336 Dec 25 18:54 .screenrc
-rw-rw-r--   1 warly    warly         70 Feb 11 18:59 .signature
-rw-r--r--   1 warly    warly        756 Dec 25 16:58 .sofficerc
-rwxr-xr-x   1 warly    warly         51 Dec 25 16:58 .sversionrc
-rw-r--r--   1 warly    warly       4096 Dec 25 16:58 .user.rdb
-rw-r--r--   1 warly    warly         10 Dec 25 16:58 .wm_style
-rw-r--r--   1 warly    root           8 Feb 27 08:37 .wmrc
-rw-rw-r--   1 warly    warly         11 Jan  9  1998 .xamprc
-rw-rw-r--   1 warly    warly        684 Feb 13 20:40 .xboing-scores
-rw-r--r--   1 warly    warly       2305 Dec 25 16:58 .xemacs-options
-rw-r--r--   1 warly    warly        274 Dec 25 16:58 .xftpcache
-rw-r--r--   1 warly    warly        763 Dec 25 16:58 .xftprc
-rwxr-xr-x   1 warly    warly        593 Feb 17 23:16 .xinitrc
-rw-r--r--   1 warly    warly         19 Dec 25 16:58 .xserverrc.old
-rw-------   1 warly    warly      36513 Feb 27 20:19 .xsession-errors
-rwxr-xr-x   1 warly    warly        593 Dec 25 16:58 .xsession.kdesave

Oups, pas très lisible tout ça, voyons avec un ls -d .* (le -d c'est pour ne pas lister le contenu des répertoires) :

warly@warly warly$ ls -d .*
.                        .kaudioserver                            .pinerc
..                       .kde                                     .profile
.FVWM2-errors            .kde.kdesave                             .profile.ksh
.Xclients                .kderc                                   .screenrc
.Xdefaults               .kderc.kdesave                           .signature
.acrorc                  .kpackage                                .sofficerc
.addressbook             .kss-install.pid.warly.warly.org         .sversionrc
.addressbook.lu          .kss.pid                                 .user.rdb
.bash_history            .login                                   .wm_style
.bash_logout             .logout                                  .wmrc
.bash_profile            .mailcap                                 .xamprc
.bashrc                  .mp3menu                                 .xboing-scores
.cshrc                   .netrc                                   .xemacs-options
.emacs                   .netscape                                .xftpcache
.fetchmailrc             .newsrc                                  .xftprc
.fvwm2rc                 .newsrc-news                             .xinitrc
.gcalrc                  .newsrc-news.wanadoo.fr                  .xserverrc.old
.gimp                    .pine-debug1                             .xsession-errors
.gnome                   .pine-debug2                             .xsession.kdesave
.gnome_private           .pine-debug3
.inputrc                 .pine-debug4

Bon, ben allons-y :

.FVWM2-errors : fichier généré par fvwm2. fvwm2 est un gestionnaire de fenêtres (windows manager). Le serveur X affiche des fenêtres et des objets graphiques mais ne possède que des fonctions très sommaires quant à leur placement interactif. Les gestionnaires de fenêtres permettent d'utiliser la souris pour déplacer des fenêtres, créer des bureaux virtuels, etc... Il y a de très nombreux gestionnaires de fenêtres et chacun choisira à sa guise.

  

.Xclients : suivant les distributions vous aurez ce fichier ou pas, son utilité est un peu la même que .xsession. C'est un script exécuté par /etc/X11/xdm/xsession lors du chargement du mode graphique en runlevel 5. Certains gestionnaires de bureau comme KDE s'en servent pour lancer leur interface. Vous pouvez mettre dans un de ces fichiers les programmes que vous voulez être automatiquement lancés à l'initialisation de votre environnement graphique. Cependant, des gestionnaires de fenêtres, comme par exemple KDE ou Afterstep, conservent les programmes actifs lors de votre déconnexion et les reexécutent à votre début de session, rendant inutile de rajouter des commandes dans ces fichiers.

.XDefault : contient les préférences quant à l'affichage de vos programmes préférés, si par exemple vous appréciez assez fortement que votre emacs se lance avec comme couleur de fond du gris foncé et autres personnalisations, vous pouvez ajouter ces lignes à votre .Xdefault :

emacs*Background: DarkSlateGray
emacs*Foreground: Wheat
emacs*pointerColor: Orchid
emacs*cursorColor: Orchid
emacs*bitmapIcon: on
emacs*font: fixed
emacs.geometry: 80x25

.acrorc : de manière générale tous les fichier se terminant par «rc» sont des fichiers de configuration, celui-ci est celui d'acrobat reader.

.addresbook : comme son nom l'indique, c'est le carnet d'adresse par défaut de pine, gestionnaire de courrier.

.bash_history : quand un nouveau shell est lancé, son historique de commandes est initialisé avec ce fichier. On peut les lister avec la commande history ou avec !num_de_command, ou !premier_caractères_de_la_commande.

.bash_logout : exécuté quand vous quittez bash.

.bash_profile : exécuté au démarrage de bash.

.bashrc : fichier de configuration de l'interpréteur de commande (shell) bash.

.cshrc : fichier de configuration de l'interpréteur de commande (shell) csh.

.fvwm2rc, .wmrc, .emacs, .xamprc, .pinerc, .kderc... : divers fichiers de configuration.

.k* : fichier de configuration de kde.

.login : fichier exécuté au démarrage de csh ou tcsh (interpréteurs de commandes au même titre que bash).

.logout : fichier exécuté lors de la fin d'exécution de csh ou tcsh.

.mailcap : fichier contenant des informations pour l'affichage de fichiers attachés dans les mails, il existe aussi un fichier global dans /etc/mailcap. Pour chaque type d'attachement spécifie la commande à exécuter, par exemple xv pour les images, lynx pour HTML...

.netrc : utilisé par ftp pour se loguer automatiquement sans que l'utilisateur ait à rentrer son mot de passe et login, par exemple la ligne :
machine castor.supercool.com login warlo password Mon_pass
permet, en tapant ftp castor.supercool.com, de se loguer sans avoir à taper son login et mot de passe. Évidemment vaut mieux le mettre en 600 si on ne veut pas avoir d'ennuis.

.profile : chargé par bash au démarrage au même titre que .bash_profile ou .bash_login.

.screenrc : contient des infos sur les différents terminaux disponibles et leurs caractéristiques, il existe aussi /etc/screenrc.

.signature : utilisé par pas mal de gestionnaires de courrier comme le fichier standard contenant la signature ajoutée au bas des mails.

.xinitrc : exécuté quand du runlevel 3 on tape startx pour passer en runlevel 5 (graphique). A une utilité similaire à .xsession ou .Xclients. Contient les programmes que l'on veut lancer au démarrage en tâche de fond et le gestionnaire de fenêtres en dernier généralement, mais lui pas en tâche de fond, forcément. Par exemple :

xterm -bg rgb:FF/FF/FF -fg black -geometry 80x25+100+100 &
xemacs &
xterm -e pine &
fvwm2 -cmd fvwmrc.m4 (pas en arrière plan puisque on veut l'utiliser)

haut de page

 28 2 1999

Mots Clés : vi, vi.

Bon alors l'éditeur vi (prononcer « vi ail », enfin à l'anglaise quoi), vous l'utilisez ou pas ? Bon au début la première fois qu'on le lance et qu'on est obligé de faire un kill dans un autre xterm on se dit « plus jamais ça ». Et puis les hasards de la vie font qu'à l'occasion d'un stage il se trouve que le seul éditeur léger disponible c'est vi, alors bon on fait un petit effort. Certains d'entre vous préféreront pico (utilisé entre autre par le gestionnaire de courrier pine) ou bien emacs, qui après tout n'est pas si gros que ça. Mais bon vi c'est standard, et un unix sans vi c'est pas un unix... Et à bien regard er c'est quand même super pratique. Personnellement je ne connais qu'un nombre très restreint de commandes, mais ça suffit pour tout ce dont j'ai besoin, de toute façon, pour de l'édition lourde, j'utilise emacs voire xemacs. Bon, ben pour éditer un fichier il faut taper vi nom_du_fichier. Voilà les principales commandes (enfin principales je sais pas mais ce sont celles que je connais quoi) :

Généralement sous Linux c'est vim qui est installé et pas vi, vim c'est pour « Vi IMproved ». Vous avez accès à une aide en tapant :help. Mais en fait ça change rien pour vous, tapez quand même vi.

Il faut savoir que dans vi on ne se positionne pas en mode édition par défaut. Il y a trois principaux mode, le mode édition, le mode commande et le mode recherche.

Toute commande du mode commande débute par : (deux points).

Pour quitter le mode insertion, il faut taper ESC (Échap).

:q : permet de quitter. Si vous avez fait des modifications, il va vous raller après, alors tapez :q! et là ça le calmera (le point d'exclamation signifie qu'on sait très bien que l'on a pas sauvé mais qu'il se trouve que là on en avait pas besoin alors il va pas commencer à nous prendre la tête alors que ça fait que 30 secondes que l'on a commencé à l'utiliser)

:w : écrit le fichier, le sauve quoi.

On peut combiner les commandes, par exemple :wq sauve le fichier et quitte. (ou ZZ).

En ce qui concerne les commandes pour l'édition :

i : permet de passer en mode insertion, les caractères que l'on va taper se placeront devant le caractère courant.

a : permet de passer en mode ajout, les caractères se placeront après le caractère courant.

r : remplacement, remplace le caractère courant par celui que vous allez taper.

R : remplace tant que vous ne tapez pas ESC.

u : undo (annule les dernières commandes).

O : insère une ligne avant la ligne courante et passe en mode insertion.

o : insère une ligne après la ligne courante et passe en mode insertion.

Les commandes permettant de se déplacer

G : va sur la dernière ligne du fichier

num_de_ligne G : va sur la ligne num_de_ligne.

$ : va en fin de ligne.

^ : va en début de ligne.

Les commandes de recherche.

Ces commandes commencent par « / » (slash).

/texte_a_la_walegainne : recherche dans le texte la première occurrence de texte_a_la_walegainne. On peut poursuivre la recherche en tapant n ou ? pour aller dans l'autre sens. On peut aussi rechercher des expressions régulières, si vous savez pas ce que c'est je vous expliquerai un jour :-).

:g/texte/s//coucou/ : remplace toutes les premières occurrences de texte dans chaque ligne par coucou.

Commande cool : . : point, répète la dernière commande.

Commandes d'effacement.

D : détruit la fin de ligne courante

dd : détruit la ligne courante

x : efface le caractère courant.

Remarque : en ajoutant un nombre devant ces commandes, la commande est répétée ce nombre de fois, ceci est valable pour la majorité des commandes de vi.

Copier Coller

nom_du_registre : enregistre le ou les prochains caractères détruits dans le registre nom_du_registre (un chiffre ou une lettre de l'alphabet).

nom_du_registrep : recopie le contenu du registre nom_du_registre après le curseur.

nom_du_registreP : recopie le contenu du registre nom_du_registre avant le curseur.

Bon évidemment, on peut faire des tonnes d'autres trucs mais avec ça je me débrouille pour toutes les opérations courantes d'éditions limitées.

haut de page

Mois suivant

Valid HTML 4.0!

Warly Home Page   Generated 2000-07-02, 11h31   Mail
Copyright © 1999,2000 Florent Villard (warly@bigfoot.com)
This site was created with daily (tar.gz, rpm)