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...
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
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
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
Un peu mieux, pour éviter de forker un rm à chaque fichier : find /home -name '*.exe' -print | xargs rm Par contre, ça suppose que les noms de fichiers ne contiennent pas d'espace. Dans cas, il vaut mieux disposer des version GNU des outils find et xargs : find /home -name '*.exe' -print0 | xargs -0 rm
-- AB>Je trouve consternant ce refus de réponse, et je joins donc mon AB>indignation à celle de Philippe. Ça me semble un peu disproportionné comme sanction. -+- Greg in GNU : Seigneur, protégez neuneu de ses amis -+-
Un peu mieux, pour éviter de forker un rm à chaque fichier :
find /home -name '*.exe' -print | xargs rm
Par contre, ça suppose que les noms de fichiers ne contiennent pas
d'espace. Dans cas, il vaut mieux disposer des version GNU des outils
find et xargs :
find /home -name '*.exe' -print0 | xargs -0 rm
--
AB>Je trouve consternant ce refus de réponse, et je joins donc mon
AB>indignation à celle de Philippe.
Ça me semble un peu disproportionné comme sanction.
-+- Greg in GNU : Seigneur, protégez neuneu de ses amis -+-
Un peu mieux, pour éviter de forker un rm à chaque fichier : find /home -name '*.exe' -print | xargs rm Par contre, ça suppose que les noms de fichiers ne contiennent pas d'espace. Dans cas, il vaut mieux disposer des version GNU des outils find et xargs : find /home -name '*.exe' -print0 | xargs -0 rm
-- AB>Je trouve consternant ce refus de réponse, et je joins donc mon AB>indignation à celle de Philippe. Ça me semble un peu disproportionné comme sanction. -+- Greg in GNU : Seigneur, protégez neuneu de ses amis -+-
Stephane Dupille
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 ?
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.
-- c'est bien vrai : toujours vérifier que l'on aime le goût du sperme du monsieur avant de l'épouser. -+- Grrr in GNU : Comment l'esprit vint aux jeunnes filles -+-
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 ?
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.
--
c'est bien vrai : toujours vérifier que l'on aime le goût du sperme du
monsieur avant de l'épouser.
-+- Grrr in GNU : Comment l'esprit vint aux jeunnes filles -+-
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 ?
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.
-- c'est bien vrai : toujours vérifier que l'on aime le goût du sperme du monsieur avant de l'épouser. -+- Grrr in GNU : Comment l'esprit vint aux jeunnes filles -+-
Stephane Chazelas
On Wed, 30 Nov 2005 12:18:39 +0100, Stephane Dupille wrote:
Pourquoi ne pas simplement utiliser les fonctionalités POSIX: find /home -name '*.exe' -exec rm {} +
J'oublie toujours cette possibilité. D'autant plus que cela ne fonctionne pas sur le find que j'ai sur la machine décrite ci dessus...
-- je me connecte grâce à Wanadoo et je trouve que la durée de vie des messages qu'ils ont imposé est trop court. J'y vois presque une forme de censure basée sur une conservation réduite des traces écrites. -+- Ed in GNU : Et gravé dans le marbre, ça ne serait pas mieux ? -+-
Dans cas, il vaut mieux disposer des version GNU des outils
find et xargs :
GNU ou BSD.
Pourquoi ne pas simplement utiliser les fonctionalités POSIX:
find /home -name '*.exe' -exec rm {} +
J'oublie toujours cette possibilité. D'autant plus que cela ne
fonctionne pas sur le find que j'ai sur la machine décrite ci
dessus...
--
je me connecte grâce à Wanadoo et je trouve que la durée de vie des
messages qu'ils ont imposé est trop court. J'y vois presque une forme
de censure basée sur une conservation réduite des traces écrites.
-+- Ed in GNU : Et gravé dans le marbre, ça ne serait pas mieux ? -+-
Pourquoi ne pas simplement utiliser les fonctionalités POSIX: find /home -name '*.exe' -exec rm {} +
J'oublie toujours cette possibilité. D'autant plus que cela ne fonctionne pas sur le find que j'ai sur la machine décrite ci dessus...
-- je me connecte grâce à Wanadoo et je trouve que la durée de vie des messages qu'ils ont imposé est trop court. J'y vois presque une forme de censure basée sur une conservation réduite des traces écrites. -+- Ed in GNU : Et gravé dans le marbre, ça ne serait pas mieux ? -+-
Stephane Chazelas
On Wed, 30 Nov 2005 13:53:54 +0100, Stephane Dupille wrote:
Dans cas, il vaut mieux disposer des version GNU des outils find et xargs : GNU ou BSD.
Pourquoi ne pas simplement utiliser les fonctionalités POSIX: find /home -name '*.exe' -exec rm {} +
J'oublie toujours cette possibilité. D'autant plus que cela ne fonctionne pas sur le find que j'ai sur la machine décrite ci dessus...
-- Stephane
Stephane Dupille
Ah ? [gimli] ~> uname -sr FreeBSD 4.10-STABLE [gimli] ~> man find | egrep print0 | wc -l 0 grepper une page de man ne fonctionne pas forcement (pour les
parties soulignees ou en gras).
Oui.
Je ne sais pas pour 4.10-STABLE, mais 4.10-RELEASE et 4.9 l'ont:
Effectivement, je me suis planté et fourvoyé dans mon grep. Le find de 4.10-STABLE a bien le -print0, et l'option -X que je ne connaissais pas. OK, j'aurais appris un truc aujourd'hui.
Par contre le '+' à la place du ';' dans -exec ne fonctionne pas.
-- CQ> Pourquoi chercher des ténors derrière les barreaux, CQ> ils ont été libérés, non ? Mais que fait la DDT ? Le DDT, c'est pour éradiquer les moustiques, pas les ténors. -+- ED in : Guide du Neuneu Usenet - J'en perds le ténor -+-
Ah ?
[gimli] ~> uname -sr
FreeBSD 4.10-STABLE
[gimli] ~> man find | egrep print0 | wc -l
0
grepper une page de man ne fonctionne pas forcement (pour les
parties soulignees ou en gras).
Oui.
Je ne sais pas pour 4.10-STABLE, mais 4.10-RELEASE et 4.9 l'ont:
Effectivement, je me suis planté et fourvoyé dans mon grep. Le find
de 4.10-STABLE a bien le -print0, et l'option -X que je ne connaissais
pas. OK, j'aurais appris un truc aujourd'hui.
Par contre le '+' à la place du ';' dans -exec ne fonctionne pas.
--
CQ> Pourquoi chercher des ténors derrière les barreaux,
CQ> ils ont été libérés, non ? Mais que fait la DDT ?
Le DDT, c'est pour éradiquer les moustiques, pas les ténors.
-+- ED in : Guide du Neuneu Usenet - J'en perds le ténor -+-
Ah ? [gimli] ~> uname -sr FreeBSD 4.10-STABLE [gimli] ~> man find | egrep print0 | wc -l 0 grepper une page de man ne fonctionne pas forcement (pour les
parties soulignees ou en gras).
Oui.
Je ne sais pas pour 4.10-STABLE, mais 4.10-RELEASE et 4.9 l'ont:
Effectivement, je me suis planté et fourvoyé dans mon grep. Le find de 4.10-STABLE a bien le -print0, et l'option -X que je ne connaissais pas. OK, j'aurais appris un truc aujourd'hui.
Par contre le '+' à la place du ';' dans -exec ne fonctionne pas.
-- CQ> Pourquoi chercher des ténors derrière les barreaux, CQ> ils ont été libérés, non ? Mais que fait la DDT ? Le DDT, c'est pour éradiquer les moustiques, pas les ténors. -+- ED in : Guide du Neuneu Usenet - J'en perds le ténor -+-
David LE BOURGEOIS
find /home -name '*.exe' -print0 | xargs -0 rm
J'ajouterai l'option -type f au find, au cas où. Et l'option -r pour xargs permet de ne pas lancer un rm sans argument, si aucun fichier n'est trouvé.