Home | Linux | Réseaux | Developpement | Divers | FAQ | Forum | Guestbook | Musique |

 

FAQ - Foire Aux Questions

Table des matières

1 ls en couleur

Pour avoir le ls en couleur vous devez ajouter cette ligne dans le fichier /etc/profile : alias ls='ls -color=tty -F -b -T 0' Pour l'activer : ./etc/profile

2 Supprimer les fichiers core - fichiers crées lors de plantages

find / -name core -exec rm -f "{}" ';'

3 Démarer 2 sessions X en même temps

Cette manipulation est possible uniquement si vous disposez de 64 Mo de RAM ou plus, sinon laissez tomber. On dispose de 7 consoles sous Linux, accessible par la combinaison ALT+Fx (x allant de 1 à 7) lorsque l'on se trouve en console et CTRL+ALT+Fx sous X11. Loggez vous et lancez startx si vous ne vous trouvez pas dans le cas d'une invite X11. Puis faites CTRL+ALT+F1, loggez vous puis executez la commande suivante :
$ startx -- :1
Le 1 correspond à la console virtuelle utilisée, ce qui signifie CTRL+ALT+F8, etc...

4 J'ai oublié mon mot de passe Root ...

A l'invite de Lilo tapez linux single, puis après chargement tapez la commande suivante pour le changer $ passwd puis rebooter.

5 Comment créer plusieurs répertoires en une fois ?

Quelques fois nous avons besoin de créer 2 ou 3 répertoires, dans le cas de répretoires descendant l'option p nous le permet :
$ mkdir -p snake/tmp/archive

6 Comment fermer votre station Linux sans être Root ?

Les personnes ne bootant pas en run-level 5 (invite de login graphique) sont contrainte de faire appel à l'adiministrateur (détenant le mot de passe root) pour qu'il ferme leur station. Voici la solution à ce problème pour que les utilisateurs puissent fermer leur station.
En tant que root, éditer le fichier /etc/inittab et recherchez les lignes suivantes :
# Trap CTRL-ALT-DELETE 
ca::ctrlaltdel:/sbin/shutdown -t3 -r now
Remplacez le -r par -h
# Trap CTRL-ALT-DELETE 
ca::ctrlaltdel:/sbin/shutdown -t3 -h now
Après avoir rebooté la machine l'utilisateur pourra fermer sa station tout seul.

7 Comment faire ignorer à Linux les ping recus

Quelques fois nous avons besoin d'isoler un serveur. Avec cette commande, dissimulez votre serveur des petits malins. Pour ignorer les ping :
# echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
Pour répondre aux ping :
# echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all

8 Savoir quelles librairies sont requises pour un programme

1) Localiser le programme :
En bash : type votreprogramme
En tcsh : which votreprogramme

2) Trouver les librairies requises :
ldd /le/chemin/vers/votre/programme
Exemple :

[snake@tux snake]$ type perl
perl is /usr/bin/perl
[snake@tux snake]\$ ldd /usr/bin/perl
libnsl.so.1 => /lib/libnsl.so.1 (0x4001b000) 
libdl.so.2 => /lib/libdl.so.2 (0x40032000) 
libm.so.6 => /lib/libm.so.6 (0x40035000) 
libc.so.6 => /lib/libc.so.6 (0x40054000) 
libcrypt.so.1 => /lib/libcrypt.so.1 (0x40172000) /lib/ld-linux.so.2 
=> /lib/ld-linux.so.2 (0x40000000)

9 Programme en shell compressant tous les fichiers .txt de plus de 10 kilo-octets d'un répertoire.

#!/bin/sh
for i in $(find $* - name "*.txt");
  do
    if [$(wc -o $i) -ge 100240];
      gzip $i
    fi
  done

10 Programme en shell changeant les noms des fichiers JPEG (extention .jpg) en image-n.jpg dans un répertoire.

#!/bin/sh
                           
n = 0
                           
for i in $ (find $* -name "*.jpg");
  do
    mv $i $(dirname $i)/image-$n.jpg
    n = $ (expr $n + i )
  done

11 Programme permettant de rajouter une entête au modèle RCS à des fichiers C

Exemple d'entête :
                          
\*
  Programme : nom du fichier C
  Date : date du jour
  Id : $Id$
\*

Exemple complet :

#!/bin/sh
                           
if [$# -eq 0]; then
  REP=./
fi
                             
REP=$REP $*
TMP=/tmp/$(basename $0).$$

for f in $(find $REP -name "*.c");
  do
    cat > $TMP << EOF
    \*
    Programme : $(basename $f)
    Date : $(date)
    Id : $Id$
    \*
   
    EOF
                                 
    cat $f >> $TMP
    mv $TMP $f
  done

12 Programme sed effaçant toutes les lignes de commentaires (au style C++) d'un fichier C ou C++

sed -e "s/.*//g"

13 Programme en awk permettant de compter le nombre de mot d'un fichier

BEGIN {c = 0};
{c = c+NF;}
END {print c}

14 Programme awk affichant les lignes 5 à 10 d'un fichier

awk 'NR==5, NR==10 {print NR " : " $0}' fichier

15 Ajouter un alias (VirtualHost) à une carte ethernet et ainsi qu'au serveur Apache

Editer /etc/hosts et ajouter l'entrée correspondante :
192.168.1.5 tartempion.chezoim.fr tartempion

Créer le fichier /etc/sysconfig/network-scripts/ifcfg-eth0:0 (eth0:0 seconde IP de la premiere carte ; eth0:1 troisième @IP de la première carte, etc...)

DEVICE=eth0:0
USERCTL=no
ONBOOT=yes
BOOTPROTO=none
BROADCAST=192.168.255.255
NETWORK=192.168.1.0
NETMASK=255.255.255.0
IPADDR=192.168.1.5
Editer le fichier /etc/httpd.conf et ajouter l'entrée correspondante :
NameVirtualHost tartempion.chezoim.fr

<Directory /public/>
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>

<VirtualHost tartempion.chezoim.fr>
ServerAdmin root@chezoim.fr
DocumentRoot /public/test
ServerName tartempion.chezoim.fr
ErrorLog /public/test/error.log
TransferLog /public/test/access.log
</VirtualHost>
Un reboot est necessaire.

16 Afficher les fichiers modifiés aujourd'hui

$ find / -ctime 0

17 Découper un fichier pour le mettre sur disquette

$ split -b 1457664 filename part.

filename est le nom du fichier à découper,
part. est le préfixe de sortie.
Les fichiers s'appelleront part.aa, part.ab,..., -b 1456664 demande à split de couper le fichier en blocs de 1456664 octets ce qui correspond à la capacité d'une disquette 1.44MO.
Le recollage se fait de la manière suivante (une fois les fichiers regroupés dans un même dossier):

$ cat part.* > filename

18 Rechercher une chaine de caractère dans un ensemble de répertoires/fichiers

find /apache -exec grep -q "chaine à rechercher" '{}' \; -print

19 Supprimer les lignes vides (ou ne contenant que des espaces) dans un fichier

$ sed '/^[[:space:]]*$/d' /tmp/toto > /tmp/result

20 Changer le chemin d'un point de montage

Créer un répertoire pour le nouveau chemin :

$ mkdir /apache

Dans /etc/fstab remplacer l'ancien chemin par le nouveau :

/dev/hdb2 /var/www ext2 rw 0 2

deviendra :

/dev/hdb2 /apache ext2 rw 0 2

21 Memo sed

Supprimer les lignes commençant par un commentaire type Shell #
$ sed '/^#/d' httpd.conf.default > httpd.new

Supprimer les lignes vides ou ne contenant que des espaces
$ sed '/^[[:space:]]*$/d' httpd.new > httpd.new2

Remplacer plusieurs lignes vides consécutives par une seule
$ sed '/./,/^$/!d' httpd.new > httpd.new2

Site hébergé officiellement chez Linux France - © 1999 2005