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 repertoire.
Pour ma part j'utilise ls avec quelques paramêtres pour
pour avoir des couleurs différentes en fonction du type
des fichiers (repertoire, 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 precaution. En effet, l'option -R permet d'effacer recursivement
(c'est à dire tout ce qu'il y a dans les sous repertoire). *
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 tuer 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$
|
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.
[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. Souvant
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
souvant installé dans /usr/sbin et rarement dans le PATH des
utilisateurs autres que root. Cette commande et toutefois le
plus souvant 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 souvant 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 gené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.
Site créé avec SPIP. Conçu pour être visionné avec Mozilla