Chapitre 5

Chapitre 5

Les commandes utiles (cat, find, locate, grep)

cat | find |locate | grep


La commande cat:
La commande cat permet de visualiser le contenu d'un fichier, exactement comme la commande type sous MS-DOS.

Ex:

P133:[Jeep]:/proc# cat cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 5
model           : 2
model name      : Pentium 75 - 200
stepping        : 12
cpu MHz         : 133.638147
fdiv_bug        : no
hlt_bug         : no
sep_bug         : no
f00f_bug        : yes
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 1
wp              : yes
flags           : fpu vme de pse tsc msr mce cx8
bogomips        : 53.25

P133:[Jeep]:/proc# 
C'est assez simple, mais elle est un peu plus que ca, elle peut servir par exemple a regrouper le contenu de plusieurs fichier en un seul.

Ex:

P133:[Jeep]:/jeep# cat allo
Je dis allo
P133:[Jeep]:/jeep# cat bonjours
Bonjours a tous
P133:[Jeep]:/jeep# cat allo bonjours > contenu
P133:[Jeep]:/jeep# cat contenu
Je dis allo
Bonjours a tous
P133:[Jeep]:/jeep# 
Premierement je liste le contenu du fichier /jeep/allo, ensuite celui du fichier /jeep/bonjours, je regroupe le contenu des deux fichier dans le fichier /jeep/contenu avec la commande "cat allo bonjours > contenu" (ne pas oublier l'operateur de redirection >).

Une autre commande qui ressemble a cat est la commande more, la differance avec cat est qu'elle fait une pose a chaque ecran. Au bas de l'ecran elle marque "--More--(4%)" (le 4% signifie le pourcentage du texte defiler). Pour continuer a faire defiler appuyer ESPACE. Pour faire defiler une ligne a la fois utiliser ENTRER et pour remonter d'une ecran vers le haut utilisez "b". Pour quitter more on utilise "q".


La commande find:
Elle permet de chercher des fichier dans l'ordinateur. Le caractere generique * est accepter dans les noms de fichier. Le desavantage de cette commande c'est qu'elle est tres lente. Ici je montre une utilisation basique.

Ex:

P133:[Jeep]:/# find /root -name cercle
/root/programming/langageC/day1/cercle
/root/sources/cercle
P133:[Jeep]:/#
Le parametre /root signifie que le repertoire de base ou il doit chercher est /root et tout ses sous-repertoires (pour chercher dans tout l'ordinateur, utilisez /). Le parametre -name est le nom du fichier a chercher.
La commande locate:
Cette commande est semblable a find mais elle est beaucoup plus rapide et ne fonctionne pas de la meme maniere. Dans cette commande nous ne somme pas oubliger d'utiliser les caractere generique au debut ou a la fin d'un nom de fichier lorsqu'on veut le trouver. Mais par exemple, on peut l'utiliser etre (ex: r*ot).

Elle est assez bizard, parce qu'elle cherche les fichier et les repertoire, si on cherche un repertoire elle va lister tout les fichier dans ce repertoire.

Ex:

P133:[Jeep]:/# locate ldconfig
/sbin/ldconfig
/usr/man/man8/ldconfig.8.gz
P133:[Jeep]:/# 

La commande grep:
Voici une commande TRES utile, elle permet de chercher un mot precis dans un fichier et elle en sort la ligne au complet, ou encore chercher un mot dans le resulat de sortie d'un fichier.

Ex:

P133:[Jeep]:/jeep/txt# grep cibles unix.txt
des cibles, des dépendances et des règles.
        - Les cibles indiquent les noms des modules qui vont être
          les cibles, en fonction des dépendances correspondantes.
P133:[Jeep]:/jeep/txt# 
Si on veut chercher plusieurs mot consecutif encadrez les de "".

On peut aussi l'utiliser pour chercher dans la sortie d'une commande comme cat par exemple, si je fais "cat unix.txt | grep cible" ca va donner le meme resultat que dans l'exemple du haut. Explorez le manuel de grep (man grep) pour en apprendre plus sur cette commande vraiment utile.