1 Les commandes de base sous une console
1.1 man
La commande qui permet d’avoir de l’aide sur une autre commande. par exemple si vous voulez connaître la syntaxe exacte de la
commande ls (ci dessous), il suffit de taper : man ls
1.2 ls
La commande qui permet de lister le contenu d’un répertoire. Pour ma part j’utilise ls avec quelques paramètres pour
pour avoir des couleurs différentes en fonction du type des fichiers (répertoire, lien symbolique…) et pour voir les fichiers cachés (fichiers qui commence par un ‘.’).
bash$ ls -a --color
. .bash_history .xinitrc
.. .gnome .xsession
.Xauthority .gnome_private .xsession-errors
bash$ |
1.3 rm
La commande qui permet d’effacer un fichier. Voici un exemple a manipuler avec précaution. En effet, l’option -R permet d’effacer récursivement (c’est à dire tout ce qu’il y a dans les sous répertoire). * indique tout simplement de tout effacer.
bash$ ls
dir1 dir2 fichier_bidon
bash$ rm -R *
bash$ ls
bash$
|
1.4 cd
La commande qui permet de ce déplacer dans un autre répertoire.
1.5 mkdir
La commande pour créer un nouveau répertoire.
bash$ ls
bash$ mkdir test_dir
bash$ ls
test_dir
bash$
|
1.6 rmdir
La commande pour effacer un répertoire. Ce répertoire doit être
vide.
bash$ ls
test_dir
bash$ rmdir test_dir
bash$ ls
bash$
|
1.7 alias
Une commande utile qui permet de faire correspondre à une commande un autre nom. La commande alias sans paramètres affiche la liste des alias qui existe pour l’instant. Voici un exemple d’utilisation de alias. Après cela, la commande rm demandera confirmation à chaque fichier à effacer et la commande dir (qui n’existait pas avant) affiche le contenu d’un répertoire en couleur avec les fichiers cachés ainsi que les droits, taille…
bash$ alias
bash$ alias rm='rm -i'
bash$ alias dir='ls -a -l --color'
bash$ alias
alias dir='ls -a -l --color'
alias rm='rm -i'
bash$
|
1.8 more
Permet de faire défiler le contenu d’un fichier texte.
1.9 less
Comme « more » sauf qu’avec cette commande, on peut revenir en arrière dans le défilement du fichier.
1.10 ps
Permet de lister les processus actifs (voir les programmes qui sont actuellement lancés). Ici un exemple avec l’option a pour voir tout les processus.
bash$ ps a
PID TTY STAT TIME COMMAND
363 1 S 0:00 -bash
364 2 S 0:00 /sbin/mingetty tty2
365 3 S 0:00 /sbin/mingetty tty3
366 4 S 0:00 /sbin/mingetty tty4
367 5 S 0:00 /sbin/mingetty tty5
368 6 S 0:00 /sbin/mingetty tty6
392 1 S 0:00 sh /usr/X11R6/bin/startx
393 1 S 0:00 xinit /root/.xinitrc --
396 1 S 0:00 sh /root/.xinitrc
398 1 S 0:01 icewm
399 1 S 0:00 gnome-session
416 1 S 0:00 esd -nobeeps -as 30
471 1 S 0:02 panel --sm-config-prefix /panel.d/Session-a04972/ --sm-clien
513 1 S 0:00 gnome-terminal
515 1 S 0:00 gnome-pty-helper
516 p0 S 0:00 bash
832 p0 S 0:02 nedit index.html
5781 1 S 0:00 gnome-terminal
5782 1 S 0:00 gnome-pty-helper
5783 p1 S 0:00 bash
418 1 S 0:01 xscreensaver -no-splash -timeout 20 -nice 10 -lock-mode -xrm
9223 p1 S 0:00 su daniel
9224 p1 S 0:00 bash
9710 p1 R 0:00 ps a
bash$
|
1.11 top
Permet de voir les processus le plus gourmand en consommation processeur. En effet les processus sont classés et on ne visualise que les plus gourmands en ressource.
1.12 kill
Très utile car cette commande permet de d’arrêter un processus (programme) ce qui peut s’avérer nécessaire si celui-ci a planté.
bash$ nedit &
[1] 9450
bash$ ps
PID TTY STAT TIME COMMAND
9223 p1 S 0:00 su daniel
9224 p1 S 0:00 bash
9450 p1 S 0:00 nedit
9458 p1 R 0:00 ps
bash$ kill -9 9450
bash$ ps
PID TTY STAT TIME COMMAND
9223 p1 S 0:00 su daniel
9224 p1 S 0:00 bash
9498 p1 R 0:00 ps
[1]+ Killed nedit
bash$
|
1.13 df
Permet de voir combien d’espace disque dur est utilisé/libre sur chaque partition monté et où sont montées les partitions.
bash$ df
Filesystem 1024-blocks Used Available Capacity Mounted on
/dev/hda3 3199501 1467699 1566333 48% /
bash$
|
avec l’option -h le résultat est exprimé en Ko / Mo … la commande complète:
df -h
1.14 mount
Comme vous l’aurez compris, cette commande permet de monter une partition derrière un répertoire (seul le root peut faire cela sauf si des droits supplémentaire ont été rajoutés aux utilisateurs).
[root@daniel]# mount /dev/fd0 /mnt/floppy/ -t vfat
mount: block device /dev/fd0 is write-protected, mounting read-only
[root@daniel tp_GTR]#
|
1.15 umount
Pour démonter / éjecter.
[root@daniel tp_GTR]# umount /dev/fd0
[root@daniel tp_GTR]#
|
1.16 free
Permet de voir combien de mémoire est utilisé/libre et de voir combien de swap (mémoire sur le disque dur) est utilisé.
bash$ free
total used free shared buffers cached
Mem: 63140 56028 7112 44812 3332 29708
-/+ buffers/cache: 22988 40152
Swap: 104416 0 104416
bash$
|
1.17 id
Permet de savoir qui on est (le groupe et l’utilisateur). Dans l’exemple ci-dessous, je suis l’utilisateur user1 (uid) dans le group users (gid) et j’appartient aux groupes users et root (groups) en effet un utilisateur peut avoir les droits de plusieurs groupes
autres que son groupe « principale ».
[user1@daniel src]$ id
uid=500(user1) gid=100(users) groups=100(users),0(root)
[user1@daniel src]$
|
1.18 fuser
Lorsque l’on veut démonter un système de fichier, il se peut qu’un utilisateur l’utilise. Dans ce cas, on ne peut pas démonter le système de fichier. Il est alors utile de savoir qui est quelle commande est responsable. Pour cela on peut utiliser la commande fuser. Voici un exemple qui nous permet de voir qui utilise /mnt/cdrom et tous les fichiers est sous répertoires qu’il contient.
[daniel@daniel src]$ fuser -vm /mnt/cdrom
USER PID ACCESS COMMAND
/mnt/cdrom daniel 542 ..c.. bash
[daniel@daniel src]$ |
1.19 ifconfig
Pour connaître la configuration IP des interfaces réseaux, on peut utiliser la commande ifconfig -a. Souvent cette commande ce trouve dans le répertoire /sbin qui n’est généralement pas dans le PATH des utilisateurs autres que root. Ce qui veut dire que si on ne se trouve pas sur le compte root, il peut être nécessaire d’indiquer le chemin complet où trouver la commande dans le shell.
[daniel@daniel ~]$ /sbin/ifconfig -a
eth0 Link encap:Ethernet HWaddr 00:C0:6D:12:1F:B5
inet addr:172.16.0.2 Bcast:172.16.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:4 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:0 (0.0 b) TX bytes:11386 (11.1 Kb)
Interrupt:10 Base address:0xe400
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:168 errors:0 dropped:0 overruns:0 frame:0
TX packets:168 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:12177 (11.8 Kb) TX bytes:12177 (11.8 Kb)
[daniel@daniel ~]$ |
1.20 netstat
Netstat est une commande importante pour obtenir des informations sur le réseau IP.
Cette commande peut par exemple nous renseigner sur le routage
utilisé par la machine :
[daniel@daniel ~] netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
172.16.0.0 0.0.0.0 255.255.255.0 U 40 0 0 eth0
127.0.0.0 0.0.0.0 255.0.0.0 U 40 0 0 lo
0.0.0.0 172.16.0.254 0.0.0.0 UG 40 0 0 eth0
[daniel@daniel ~]
|
Elle peut aussi nous renseigner sur les connections en cours :
[daniel@daniel ~] netstat -a
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 *:swat *:* LISTEN
tcp 0 0 *:netbios-ssn *:* LISTEN
tcp 0 0 *:sunrpc *:* LISTEN
tcp 0 0 *:6000 *:* LISTEN
tcp 0 0 *:ndmp *:* LISTEN
tcp 0 0 *:ssh *:* LISTEN
tcp 0 0 *:ipp *:* LISTEN
tcp 0 0 daniel:ssh daniel:filenet-rpc ESTABLISHED
tcp 0 0 daniel:filenet-rpc daniel:ssh ESTABLISHED
udp 0 0 daniel:netbios-ns *:*
udp 0 0 *:netbios-ns *:*
udp 0 3108 daniel:netbios-dgm *:*
udp 0 0 *:netbios-dgm *:*
udp 0 0 *:ndmp *:*
udp 0 0 *:sunrpc *:*
udp 0 0 *:ipp *:*
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ACC ] STREAM LISTENING 2103 /tmp/.ICE-unix/1282
unix 2 [ ACC ] STREAM LISTENING 1498 /tmp/orbit-daniel/orb-3
512171761674798179
...
unix 2 [ ] DGRAM 829
unix 2 [ ] STREAM CONNECTED 582
[daniel@daniel ~]
|
Sur l’état des interfaces réseaux et les packets transmit :
[daniel@daniel ~] netstat -i
Kernel Interface table
Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0 1500 0 0 0 0 0 0 4 0 0 BMRU
lo 16436 0 812 0 0 0 812 0 0 0 LRU
[daniel@daniel ~]
|
Ou bien encore les statistiques sur les différents protocoles :
[daniel@daniel ~] netstat -s
Ip:
885 total packets received
0 forwarded
0 incoming packets discarded
879 incoming packets delivered
888 requests sent out
Icmp:
5 ICMP messages received
1 input ICMP message failed.
ICMP input histogram:
destination unreachable: 3
echo requests: 1
echo replies: 1
4 ICMP messages sent
0 ICMP messages failed
ICMP output histogram:
destination unreachable: 3
echo replies: 1
Tcp:
7 active connections openings
0 passive connection openings
0 failed connection attempts
0 connection resets received
2 connections established
807 segments received
808 segments send out
0 segments retransmited
0 bad segments received.
2 resets sent
Udp:
73 packets received
0 packets to unknown port received.
0 packet receive errors
73 packets sent
TcpExt:
ArpFilter: 0
3 TCP sockets finished time wait in fast timer
6 delayed acks sent
7 packets directly queued to recvmsg prequeue.
3 packets directly received from prequeue
196 packets header predicted
TCPPureAcks: 8
...
TCPMemoryPressures: 0
[daniel@daniel ~]
|
1.21 lsof
Un peu dans la même lignée que fuser mais en beaucoup plus précis, lsof permet de savoir quels sont les fichiers ouvert par les différents utilisateurs de la machine et par les différents programmes. Cette commande ce trouve rarement par défaut sur les machines, il convient alors de la rajouter sur le système.
Exécuté sous le compte d’un utilisateur, on peut seulement voir les fichiers ouvert par cet utilisateur (ou par les programmes
qu’il utilise). Sous le compte root, on peut voir les fichiers ouvert par n’importe qui. La notion de fichier est prise au sens large Unix (fichier, pipe, socket, device…). Le programme est souvent installé dans /usr/sbin et rarement dans le PATH des utilisateurs autres que root. Cette commande et toutefois le plus souvent utile pour connaître l’état des connections TCP sur la machine. Dans ce cas, il faut être sous le compte root et utiliser la commande comme suit :
[root@daniel ~] lsof | grep TCP
portmap 539 root 4u IPv4 796 TCP *:sunrpc (LISTEN)
sshd 621 root 3u IPv4 895 TCP *:ssh (LISTEN)
xinetd 643 root 3u IPv4 920 TCP *:swat (LISTEN)
cupsd 656 root 0u IPv4 1022 TCP *:ipp (LISTEN)
smbd 932 root 5u IPv4 1228 TCP *:netbios-ssn (LI
STEN)
miniserv. 967 root 4u IPv4 1277 TCP *:ndmp (LISTEN)
X 1042 root 1u IPv4 1372 TCP *:6000 (LISTEN)
ssh 1696 root 3u IPv4 6864 TCP daniel:filenet-rp
c->daniel:ssh (ESTABLISHED)
sshd 1697 root 4u IPv4 6865 TCP daniel:ssh->danie
l:filenet-rpc (ESTABLISHED)
telnet 1848 daniel 3u IPv4 27074 TCP daniel:32773->dan
iel:ssh (ESTABLISHED)
sshd 1849 root 4u IPv4 27075 TCP daniel:ssh->danie
l:32773 (ESTABLISHED)
[root@daniel ~]
|
1.22 rpm
Cette commande sert a installer, supprimer ou créer des packages (fichier se terminant par .rpm) RPM. Ces packages permettent
l’installation de n’importe quoi (et donc des programmes) sous les distributions de Linux de RedHat et de Mandrake (principalement).
Pour installer un package, il faut d’habitude être sous le compte de l’utilisateur root. Le fichier du package peut être passé en paramètre en relatif ou en absolue. L’installation d’un package ce fait comme suit (chemin relatif dans le répertoire courant) :
[root@daniel /mnt/cdrom/Mandrake/RPMS2] rpm -ivh xrally-1.1-1mdk.i586.rpm
xrally ##################################################
[root@daniel /mnt/cdrom/Mandrake/RPMS2]
|
Pour supprimer un package, il faut d’habitude être sous le compte de l’utilisateur root. Le nom du package correspond (en gros) au nom du fichier sans le .i586.rpm (i586 indique que ce package est fait pour des machines compatible avec les Pentium). La suppression d’un package ce fait comme suit (pas besoin du fichier du package) :
[root@daniel ~] rpm -e xrally-1.1-1mdk
[root@daniel ~]
|
Pour lister les packages installés sur la machine, il faut procéder comme suit (ici, pas besoin d’être sous le compte root) ATTENTION, il y a souvent beaucoup de packages installés :
[~] rpm -q -a
libtermcap2-2.0.8-28mdk
setup-2.1.9-42mdk
info-install-4.0-20mdk
...
auth_ldap-1.4.7-1mdk
traceroute-1.4a5-14mdk
[~]
|
2 Configuration de la machine
C’est dans le répertoire /etc/ que l’on trouve la plus part des fichiers de configuration de la machine. On peut cependant utiliser des logiciels pour configurer la machine. Je conseille linuxconf si il est installé. Pour le lancer, il suffit de taper dans une console : linuxconf.
3 Les commandes de base sous XWindow (mode graphique)
Pour la configuration du serveur X (mode graphique), tout ce trouve dans le fichier /etc/X11/XF86Config pour en connaître la syntaxe, il suffit de taper sous une console : man XF86Config. Mais le plus pratique reste encore d’utiliser une logiciel qui s’occupe de générer ce fichier comme par exemple : XF86Setup, xf86config ou Xconfigurator (le plus simple).
Pour démarrer le serveur X il suffit de taper : startx dans une console.
Encore une chose. Il se peut que l’ordinateur démarre directement en mode graphique il ne faut pas alors taper la commande startx.
Un petit truc. Pour ne pas avoir le BIP lorsque l’on fait une erreur, il suffit de taper la commande xset -b dans une console.