Salut

J'utilise cette technique pour faire un rm -rf * (sauf cerrtains fichier)

En premier lieu il faut rendre actif l'exclusion (!) par la commande:

:~# shopt -s extglob

(Je vous laisse chercher dans le man car je ne me rappelle plus des details
et des termes)

ensuite on supprime les fichiers avec la commande:

:~# rm -rf !(index.html)
=> suppression de tous les fichier SAUF index.html)

et apres on peut desactiver l'exclusion si on le souhaite en faisant:

:~# shopt -u extglob


La commande rm peut etre TRES dangeureuse, donc rester toujours TRES
prudent en l'utilisant ;-)

Voila, en esperant que ca vous servira

Cordialement
Hugues


Le 12 juin 2018 à 10:22, Bernard Isambert <b...@taranig.net> a écrit :

> Le 11/06/2018 à 23:10, Raphaël POITEVIN a écrit :
>
>> Benoit B <benoit...@gmail.com> writes:
>>
>> Comment fait-on pour supprimer tout (rm -fr *) sauf une liste de
>>> fichiers ?
>>>
>>
>> Une solution serait de faire un chmod -w sur les fichiers à conserver
>> avant le rm et de refaire un chmod +w après. Attention, je ferais rm -r
>> et non rm -rf.
>>
>> Avec cette méthode :
> --> si on fait "rm -rf", les fichiers sont effacés purement et simplement
> (sauf si on n'a pas le droit w sur le répertoire parent, mais alors on ne
> pourra rien effacer).
> --> si on fait "rm -r", la question "effacer le fichier protégé en
> écriture" est posée pour chaque fichier. Ça peut être fastidieux s'il y en
> a beaucoup et ça ne peut pas être mis dans un script non interactif.
>
> --
> Bernard.
> 20 ans d'utilisation de Debian. Comme le temps passe...
>
>

Répondre à