I.T.A.G (DTS1)

Ce forum incha allah aura pour but d aider les etudiant de la DTS1 a en plus savoir cotee cours et tt que sa soit reseau ou devlopment
 
AccueilPortailFAQRechercherS'enregistrerMembresGroupesConnexion

Partagez | 
 

 Retrouver un fichier ("find")

Aller en bas 
AuteurMessage
ultrasur
moderateur
moderateur
ultrasur

Messages : 200
Date d'inscription : 11/02/2008
Age : 31

MessageSujet: Retrouver un fichier ("find")   Jeu 14 Fév - 4:21

1- La commande find
Exemple simple : comment trouver un fichier portant un nom donné ?

[delcros@mistra delcros]$ find / -name linux-test2 -print

/home/delcros/linux-test2

(Un peu long n'est ce pas pour trouver la reponse dans tout cette grosse arborescence ? :-) )

En general on recherche rarement un fichier depuis la racine.

Décomposition de la commande de l'exemple :
"/" indique que nous voulons chercher à partir de la racine notre fichier.
"-name " est l'option qui indique ici que nous voulons spécifier le nom d'un fichier.
"-print" demande à find d'afficher le résultat.
Pour chercher tous les fichiers commencant par "linux-tes" et définir à partir de quel répertoire on souhaite effectuer la recherche on utilise cette syntaxe :
[delcros@mistra delcros]$find /home/delcros -name 'linux-tes*' -print

Le nombre d'options de find est impressionnant. En voici quelques unes :
-type permet d'indiquer le type de fichier que l'on recherche. Si vous cherchez seulement un répertoire et non pas un fichier vous pourrez utilisez cette option :
[delcros@mistra delcros]$find /usr -type d -name bin -print

Ici, on demande à find de trouver les répertoires (l'argument "d" (comme "directory") de l'option -type indique que l'on cherche un répertoire) du nom de "bin" à partir du répertoire /usr.

-exec ou -ok permet d'exécuter une commande sur les fichiers trouvés. La différence entre -exec et -ok est que la deuxième vous demandera pour chaque fichier trouvé si vous souhaitez réellement réaliser l'opération :
[delcros@mistra delcros]$find -name 'linux-tes*' -print -ok rm {} \;

./linux-test
rm ... ./linux-test ? y

[delcros@mistra delcros]$

Dans l'option -exec, la paire d'accolades se substitue aux fichiers trouvés, et l'anti-slash lié au point virgule forme une séquence d'échapemment.

On peut dire que cette présentation de find est assez sommaire, mais j'espère qu'elle vous laisse deviner ses capacités.

2- La commande locate

La commande locate a la même mission que find. Pourtant vous verrez qu'en utilisant la commande locate, le fichier sera trouvé beaucoup plus rapidement. Pourquoi ? Parce que locate ne va pas chercher le fichier dans toute l'arborescence des répertoires mais va localiser la position du fichier dans une base de données qui contient la liste des fichiers existants. Cette base de données est en général automatiquement générée une fois par jour par le système grâce à une commande appelée updatedb. Sur un système Linux Redhat, cette base de donnée se trouve dans le répertoire /usr/lib et se nomme locatedb.

La syntaxe est donc simple:

[delcros@mistra delcros]$ locate nom_du_fichier

Bien que la commande locate soit très intéressante, elle ne possède pas la puissance des options de find. De plus, si vous créez des fichiers pendant la journée et que vous les recherchez avec la commande locate, il n'est pas sûr que la base de donnée ait été remise à jour. Bref, locate est un complément de find.

3-La commande which

which vous permet simplement de connaître le chemin d'un exécutable. Exemple:

[delcros@mistra delcros]$ which ls
/bin/ls
[delcros@mistra delcros]$
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.realmadridclub.net
 
Retrouver un fichier ("find")
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Comment renommer un "lien"
» 1986, enquete sur la Disparition du "Manureva" d'alain Colas
» Que faire des "objets" après un rituel?
» "groupe infinitif" ou "proposition infinitive"?
» Etes-vous aussi "laxophobes" (diarrhée)?

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
I.T.A.G (DTS1) :: Systemes d exploitations :: Linux&Unix-
Sauter vers: