OVH Cloud OVH Cloud

recherche de fichiers

21 réponses
Avatar
vincent.verdon
Bonjour,

je cherche quels outils sont utilisables pour faire une recherche de
fichiers suivant leur extension sur une machine Linux. En fait il s'agit
d'un serveur Samba sur lequel je souhaite traquer régulièrement les
fichiers exécutables Windoze .exe qui y sont copiés, afin de les détruire.
Actuellement j'ai essayé une commande du genre :
ls -l -R /home | grep .exe > resultat
Puis je peux regarder dans mon fichier resultat.
J'obtiens bien la liste, mais sans le nom des répertoires. cela empèche
de pouvoir les effacer ensuite.

Pour résumer : y-a-t-il un outil pour obtenir la liste des fichiers
ayant un motif particulier (.exe) avec leur chemin ?
En plus, je souhaite avoir trace du propriétaire du fichier afin de lui
demander des comptes...

Merci de me lire, amicalement, Vincent Verdon

10 réponses

1 2 3
Avatar
DoMinix
wrote:
J'ai bien trouvé find...mais je n'arrive pas à m'en servir !




heuuu ... faut ouvrir une "fenetre de commande" avant !

:))

ok je ------------------>[] sort
(desolé)


--
dominix

Avatar
vincent.verdon
Hello !


J'ai bien trouvé find...mais je n'arrive pas à m'en servir !



Faut lire la doc de find. "man find" ne fonctionne pas chez vous ?
Je dois dire que j'aime beaucoup ce genre de réponse ! Bien sûr que j'ai

lu la man page, car j'essaie de ne pas trop déranger les gens en
principe. Mais mon petit niveau en info ne m'a pas permis de comprendre
!!! En fait, avec quelques exemples je pense que cela ira mieux. Merci
en tout cas de me répondre.



En gros, les arguments de find forment une liste de prédicat. Pour
chaque fichier, il vérifie les prédicats et arrête dès qu'il y en a un
qui devient faux.

Par exemple : find <rep> -name '*.exe' -print
Pour chaque fichier, il va regarder le prédicat -name avec son
argument pour voir si ça matche. Si oui, alors il va regarder le
prédicat -print, qui est toujours vrai, mais qui a un effet de bord :
il sort sur la sortie standard le nom et le chemin du fichier.

Il y a bien entendu plein d'autres prédicats, soit de test, soit
d'action. La liste est dans le man.




Avatar
Stephane Dupille
J'ai bien trouvé find...mais je n'arrive pas à m'en servir !
Faut lire la doc de find. "man find" ne fonctionne pas chez vous ?

Je dois dire que j'aime beaucoup ce genre de réponse !



Ben oui, c'était la seule réponse qui vaille.

Bien sûr que
j'ai lu la man page, car j'essaie de ne pas trop déranger les gens en
principe. Mais mon petit niveau en info ne m'a pas permis de
comprendre !!! En fait, avec quelques exemples je pense que cela ira
mieux. Merci en tout cas de me répondre.


Tu remarqueras quand même que j'ai donné quelques explications sur
le fonctionnement de find. Est-ce que c'est plus clair avec les
explications fournies ?

--
Moi je trouve qu'il est debile de vouloir detruir kekel ke chose
MG> Ta touche k est coincée ?
-+- G in GNU : dans le kk jusqu'au cou -+-



Avatar
vincent.verdon

J'ai bien trouvé find...mais je n'arrive pas à m'en servir !


Faut lire la doc de find. "man find" ne fonctionne pas chez vous ?


Je dois dire que j'aime beaucoup ce genre de réponse !



Ben oui, c'était la seule réponse qui vaille.


Bien sûr que
j'ai lu la man page, car j'essaie de ne pas trop déranger les gens en
principe. Mais mon petit niveau en info ne m'a pas permis de
comprendre !!! En fait, avec quelques exemples je pense que cela ira
mieux. Merci en tout cas de me répondre.



Tu remarqueras quand même que j'ai donné quelques explications sur
le fonctionnement de find. Est-ce que c'est plus clair avec les
explications fournies ?
Cela m'a bien aidé et je t'en remercie. Je ne souhaite pas polémiquer,

mais je trouve que parfois les gens manquent un peu de compréhension
dans les forums (c'est notamment une dérive que je remarque dans
fr.comp.lang.linux.configuration).
Merci et bien amicalement, Vincent Verdon

PS : j'apprécie au passage la réactivité de ce forum et le nombre de
réponses à ma question. Merci à tous !







Avatar
Stephane Dupille
Cela m'a bien aidé et je t'en remercie. Je ne souhaite pas polémiquer,
mais je trouve que parfois les gens manquent un peu de compréhension
dans les forums (c'est notamment une dérive que je remarque dans
fr.comp.lang.linux.configuration).


Ca fait longtemps que je n'y ait pas mis les pieds, mais ça fait
longtemps que c'est comme ça. En fait, il suffit d'essayer de se
mettre à la place de ceux qui répondent pour comprendre. Autant la
première fois on fait l'effort de répondre, mais au bout de la dixième
question identique en quinze jours, alors que la réponse se trouve
dans la doc, soit on s'enerve, soit on ne répond pas, et dans les deux
cas, le newbie innocent ne comprend pas ce qu'il lui arrive. C'est
humain.

En général je réponds un RTFM, car il a néanmoins cet avantage
pédagogique qui est de rediriger vers la doc, mais je donne au moins
un début d'explication car les man sont fait pour être des aides
mémoires plus que des manuels d'apprentissage. Surtout qu'en anglais
c'est pas toujours évidents, et certains mans sont proprement
incompréhensibles (j'ai un souvenir ému du premier "man tar" que
j'avais lu, je n'ai jamais rien bité).

Merci et bien amicalement, Vincent Verdon


De rien! Est-ce que maintenant tu maîtrise les subtilités des find,
xargs, des -exec avec ou sans plus ? Et est-ce que tu connais les
différentes entre les find standards, les versions GNUs et BSD ?

PS : j'apprécie au passage la réactivité de ce forum et le nombre de
réponses à ma question. Merci à tous !


<troll>
C'est encore un forum bien, ici. Il ne te reste plus qu'à laisser
tomber linux pour passer sur un vrai Unix : un BSD. Ce qui te
permettera d'aller sur fcob. Un vrai forum d'hommes.
</troll>

--
(Pour mesurer l'intelligence dans fufe) Facile: un test de Turing. Tu
prends une personne dans un groupe sensé, une personne dans fufe. Dès
que tu arrives à repérer le trolleur tu détruis le groupe.
-+- Ol in Guide du Neuneu Usenet : Maffacre à la fufonneuse -+-

Avatar
vincent.verdon


wrote:

Bonjour,

je cherche quels outils sont utilisables pour faire une recherche de
fichiers suivant leur extension sur une machine Linux. En fait il
s'agit d'un serveur Samba sur lequel je souhaite traquer régulièrement
les fichiers exécutables Windoze .exe qui y sont copiés, afin de les
détruire.
Actuellement j'ai essayé une commande du genre :
ls -l -R /home | grep .exe > resultat



find /home -name '*.exe' -ls
find /home -name '*.exe' -exec rm {} ;



J'ai essayé cette syntaxe avec bonheur, mais j'ai une question :
Je ne comprends pas à quoi servent les caractères et ; de l'option
-exec. Pour moi permet de protéger le caractère suivant, mais là je ne
vois pas !

Amicalement, Vincent Verdon


Avatar
Bruno-L


find /home -name '*.exe' -ls
find /home -name '*.exe' -exec rm {} ;




J'ai essayé cette syntaxe avec bonheur, mais j'ai une question :
Je ne comprends pas à quoi servent les caractères et ; de l'option
-exec. Pour moi permet de protéger le caractère suivant, mais là je ne
vois pas !



le ; est nécessaire pour terminer la commande du -exec. puisque find
n'est pas sensé savoir combien de parametres suivent cette commande.
donc:
find /home -name '*.exe" -exec cp {} /trash ;
la commande cp a 2 parametres.

le rm, je sais pas ;-), chez moi ca fonctionne sans .

Amicalement, Vincent Verdon



Avatar
FAb
Bruno-L writes:


le rm, je sais pas ;-), chez moi ca fonctionne sans .


Ça outre-passe un éventuel alias sur rm pour éviter les «rm -i» ou «mv».

Voilà.
FAb

Avatar
Stephane Chazelas
On 12 Dec 2005 12:24:21 +0100, FAb wrote:
Bruno-L writes:


le rm, je sais pas ;-), chez moi ca fonctionne sans .


Ça outre-passe un éventuel alias sur rm pour éviter les «rm -i» ou «mv».
[...]


En l'occurrence aucun shell n'expanderait un alias ici, ca
n'aurait pas plus de sens d'ecrire:

echo rm

pour eviter que "rm" ne soit transformé en "rm -i" par exemple.

Avec zsh (et zsh uniquement a ma connaissance), on peut definir
des alias globaux:

$ alias -g 'rm=rm -i'
$ echo rm
rm -i

mais evidemment, on ne l'utiliserait pas pour aliaser rm de
cette facon.

Exemple typique d'alias -g:

alias -g ...=../..
alias -g ....=../../..
cd ...

ou

alias -g '${1+"$@"}="$@"'

pour contourner ce probleme bien connu de non compatibilité avec
Bourne/POSIX.

--
Stephane


Avatar
Pascal Bourguignon
FAb writes:

Bruno-L writes:


le rm, je sais pas ;-), chez moi ca fonctionne sans .


Ça outre-passe un éventuel alias sur rm pour éviter les «rm -i» ou «mv».


Ce qui est ridicule, car les alias ne sont pas sustitués dans des arguments!
Essaye:

alias rm='Je suis idiot'
echo rm
echo rm

--
__Pascal Bourguignon__ http://www.informatimago.com/

"Specifications are for the weak and timid!"


1 2 3