• Re: Ne supprimer que les liens symboliques

    From Pierre Malard@21:1/5 to All on Mon May 13 11:00:01 2024
    --Apple-Mail=_B4E78CEB-AF5E-47D1-B611-9AF28F68BB33
    Content-Transfer-Encoding: quoted-printable
    Content-Type: text/plain;
    charset=utf-8

    Bonjour,

    Le find est tout à fait correct mis-à-part qu’il manquerait l’indication de la racine. Si tu veux être certain duplique le répertoire racine avec un :
    # rsync -Aavx MonRep/ MonRep-Sauve/

    Du coup tu peux lancer ton find sans risques :
    # find -P MonRep -type l -exec /bin/rm -f {} \;

    Si tout est bon tu peux supprimer la sauvegarde :
    # \rm -Rf MonRep-Sauve

    Bonne journée

    Le 13 mai 2024 à 10:14, benoit <benoitlst@protonmail.ch> a écrit :


    Bonjour,

    Pour mon usage perso, j’ai écrit un petit script qui crée des liens symbolique vers des fichiers dans un répertoire donné.

    Mais j’aimerais que ce script me propose de supprimer les liens symboliques déjà existants dans ce répertoire.



    rm -f *
    ou
    unlik

    Ca risque de supprimer des fichiers qui se trouveraient là or je ne veux supprimer que des liens symboliques et surtout pas les fichiers pointé ni des fichier ordinaires.

    Je ne comprends pas pourquoi unlik malgré son nom, supprime tous les fichiers et pas uniquement les liens symboliques.

    Suis-je obligé de passer par find ?


    find -P -type l -exec rm {} \;

    -P ne JAMAIS suivre un lien symbolique

    -type l ne trouver que des liens symboliques

    C’est correct ?

    Quelles sont les autres options ?



    Merci d'avance



    --

    Benoît



    --
    Pierre Malard
    Responsable architectures système CDS DINAMIS/THEIA Montpellier
    IRD - UMR Espace-Dev - UAR CPST - IR Data-Terra
    Maison de la Télédétection
    500 rue Jean-François Breton
    34093 Montpellier Cx 5
    France

    Tél : +33 626 89 22 68

    « Il faut créer en même temps les élites et les débouchés, le syndica-
    lisme et les usines. Faire l'un sans l'autre, c'est travailler pour le
    malheur du peuple. »
    Romain Gary - "Les racines du ciel"
    |\ _,,,---,,_
    /,`.-'`' -. ;-;;,_
    |,4- ) )-,_. ,\ ( `'-'
    '---''(_/--' `-'\_) πr

    perl -e '$_=q#: 3|\ 5_,3-3,2_: 3/,`.'"'"'`'"'"' 5-. ;-;;,_: |,A- ) )-,_. ,\ ( `'"'"'-'"'"': '"'"'-3'"'"'2(_/--'"'"' `-'"'"'\_): 24πr::#;y#:#\n#;s#(\D)(\d+)#$1x$2#ge;print'
    - --> Ce message n’engage que son auteur <--


    --Apple-Mail=_B4E78CEB-AF5E-47D1-B611-9AF28F68BB33
    Content-Transfer-Encoding: quoted-printable
    Content-Type: text/html;
    charset=utf-8

    <html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Bonjour,<div class=""><br class=""></div><div class="">Le find
    est tout à fait correct mis-à-part qu’il manquerait l’indication de la racine. Si tu veux être certain duplique le répertoire racine avec un :</div><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><div class=""><font
    face="Courier New" class=""># rsync -Aavx MonRep/ MonRep-Sauve/</font></div></blockquote><div class=""><br class=""></div><div class="">Du coup tu peux lancer ton find sans risques :</div><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;"
    class=""><div class=""><font face="Courier New" class=""># find -P MonRep -type l -exec /bin/rm -f {} \;</font></div></blockquote><div class=""><br class=""></div><div class="">Si tout est bon tu peux supprimer la sauvegarde :</div><blockquote style="
    margin: 0 0 0 40px; border: none; padding: 0px;" class=""><div class=""><font face="Courier New" class=""># \rm -Rf MonRep-Sauve</font></div></blockquote><div class=""><br class=""></div><div class="">Bonne journée</div><div class=""><div><br class=""><
    blockquote type="cite" class=""><div class="">Le 13 mai 2024 à 10:14, benoit &lt;<a href="mailto:benoitlst@protonmail.ch" class="">benoitlst@protonmail.ch</a>&gt; a écrit :</div><br class="Apple-interchange-newline"><div class=""><div class=""><br
    class="webkit-block-placeholder"></div><p class=""><span style="font-family: Arial, sans-serif; font-size: 14px; line-height: normal; font-weight: 400;" class="">Bonjour,</span></p><p class=""><span style="font-family: Arial, sans-serif; font-size: 14px;
    line-height: normal; font-weight: 400;" class="">Pour mon usage perso, j’ai écrit un petit script qui crée des liens symbolique vers des fichiers dans un répertoire donné.</span><br class=""></p><p class=""><span style="font-family: Arial, sans-
    serif; font-size: 14px; line-height: normal; font-weight: 400;" class="">Mais j’aimerais que ce script me propose de supprimer les liens
    symboliques déjà existants dans ce répertoire.</span></p><p class=""><br class=""></p><p style="margin-bottom:0cm" class=""><span style="font-family: Arial, sans-serif; font-size: 14px; line-height: normal; font-weight: 400;" class="">rm
    -f * </span><br class=""></p><p style="margin-bottom:0cm" class=""><span style="font-family: Arial, sans-serif; font-size: 14px; line-height: normal; font-weight: 400;" class="">ou</span><br class=""></p><p style="margin-bottom:0cm" class=""><span style="
    font-family: Arial, sans-serif; font-size: 14px; line-height: normal; font-weight: 400;" class="">unlik</span></p><div style="margin-bottom: 0cm;" class=""><br class="webkit-block-placeholder"></div><p style="margin-bottom:0cm" class=""><span style="font-
    family: Arial, sans-serif; font-size: 14px; line-height: normal; font-weight: 400;" class="">Ca
    risque de supprimer des fichiers qui se trouveraient là or je ne veux supprimer que des liens symboliques et surtout pas les fichiers
    pointé ni des fichier ordinaires.</span></p><div class=""><br class="webkit-block-placeholder"></div><p class=""><span style="font-family: Arial, sans-serif; font-size: 14px; line-height: normal; font-weight: 400;" class="">Je
    ne comprends pas pourquoi unlik malgré son nom, supprime tous les
    fichiers et pas uniquement les liens symboliques.</span></p><p style="margin-bottom:0cm" class=""><span style="font-family: Arial, sans-serif; font-size: 14px; line-height: normal; font-weight: 400;" class="">Suis-je
    obligé de passer par find&nbsp;?</span></p><p class=""><br class=""></p><p class=""><span style="font-family: Arial, sans-serif; font-size: 14px; line-height: normal; font-weight: 400;" class="">find -P -type l -exec rm {} \;</span></p><p class=""><span
    style="font-family: Arial, sans-serif; font-size: 14px; line-height: normal; font-weight: 400;" class="">-P ne JAMAIS suivre un lien symbolique
    </span></p><p class=""><span style="font-family: Arial, sans-serif; font-size: 14px; line-height: normal; font-weight: 400;" class="">-type l ne trouver que des liens symboliques
    </span></p><p class=""><span style="font-family: Arial, sans-serif; font-size: 14px; line-height: normal; font-weight: 400;" class="">C’est correct&nbsp;?</span></p><p class=""><span style="font-family: Arial, sans-serif; font-size: 14px; line-height:
    normal; font-weight: 400;" class="">Quelles sont les autres options&nbsp;?</span></p><p class=""><span style="font-family: Arial, sans-serif; font-size: 14px; line-height: normal; font-weight: 400;" class=""><br class=""></span></p><p class=""><span
    style="font-family: Arial, sans-serif; font-size: 14px; line-height: normal; font-weight: 400;" class="">Merci d'avance</span></p><p class=""><span style="font-family: Arial, sans-serif; font-size: 14px; line-height: normal; font-weight: 400;" class=""><
    br class=""></span></p><p class=""><span style="font-family: Arial, sans-serif; font-size: 14px; line-height: normal; font-weight: 400;" class="">--</span></p><p class=""><span style="font-family: Arial, sans-serif; font-size: 14px; line-height: normal;
    font-weight: 400;" class="">Benoît<br class=""></span></p><div style="" class=""><br class=""></div></div></blockquote></div><br class=""><div class="">
    <div dir="auto" style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; word-
    wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div dir="auto" style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space:
    normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div dir="auto" style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); letter-
    spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"
    class=""><div dir="auto" style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration:
    none; word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -
    webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space:
    normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div style="margin: 0px; font-size: 10px; font-family: &quot;Courier New&quot;;" class="">--&nbsp;</div><
    div style="margin: 0px; font-size: 10px; font-family: &quot;Courier New&quot;;" class=""><div style="margin: 0px;" class="">Pierre Malard</div><div style="margin: 0px;" class="">Responsable architectures système CDS DINAMIS/THEIA Montpellier</div><span
    style="font-size: x-small;" class="">IRD - UMR Espace-Dev - UAR CPST - IR Data-Terra</span><br class=""><div style="margin: 0px;" class="">Maison de la Télédétection</div><div style="margin: 0px;" class="">500 rue Jean-François Breton</div><div style=
    "margin: 0px;" class="">34093 Montpellier Cx 5</div><div style="margin: 0px;" class="">France</div><div class=""><br class=""></div><div class=""><div style="margin: 0px;" class="">Tél : +33 626 89 22 68</div></div><div class=""><br class=""></div></div>
    <div style="margin: 0px; font-family: Times;" class="">&nbsp;&nbsp; «&nbsp;<i class="">Il faut créer en même temps les élites et les débouchés, le syndica-</i></div><div style="margin: 0px; font-family: Times;" class=""><i class="">&nbsp; &nbsp;&
    nbsp;lisme et les usines. Faire l'un sans l'autre, c'est travailler pour le</i></div><div style="margin: 0px; font-family: Times;" class=""><i class="">&nbsp; &nbsp;&nbsp;malheur du peuple.&nbsp;</i>»</div><div style="margin: 0px; font-family: Times;"
    class="">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Romain Gary - "Les racines du ciel"</div><div style="margin: 0px; font-size: 10px; font-family: &quot;
    Courier New&quot;;" class="">&nbsp;&nbsp;&nbsp;|\&nbsp; &nbsp; &nbsp;&nbsp;_,,,---,,_</div><div style="margin: 0px; font-size: 10px; font-family: &quot;Courier New&quot;;" class="">&nbsp;&nbsp;&nbsp;/,`.-'`'&nbsp; &nbsp;&nbsp;-.&nbsp;&nbsp;;-;;,_</div><
    div style="margin: 0px; font-size: 10px; font-family: &quot;Courier New&quot;;" class="">&nbsp;&nbsp;|,4-&nbsp;&nbsp;) )-,_. ,\ (&nbsp;&nbsp;`'-'</div><div style="margin: 0px; font-size: 10px; font-family: &quot;Courier New&quot;;" class="">&nbsp;'---''(_
    /--'&nbsp;&nbsp;`-'\_) &nbsp; πr</div><div style="margin: 0px; font-size: 10px; font-family: Courier; min-height: 12px;" class=""><br class=""></div><div style="margin: 0px; font-size: 10px; font-family: &quot;Courier New&quot;;" class="">perl -e '$_=q#:
    3|\ 5_,3-3,2_: 3/,`.'"'"'`'"'"' 5-. &nbsp;;-;;,_: &nbsp;|,A- &nbsp;) )-,_. ,\ ( &nbsp;`'"'"'-'"'"': '"'"'-3'"'"'2(_/--'"'"' &nbsp;`-'"'"'\_): 24πr::#;y#:#\n#;s#(\D)(\d+)#$1x$2#ge;print'</div><div style="margin: 0px; font-size: 10px; font-family: &quot;
    Courier New&quot;;" class="">- --&gt; Ce message n’engage que son auteur &lt;--</div></div></div></div></div></div></div>
    </div>




























    <br class=""></div></body></html> --Apple-Mail=_B4E78CEB-AF5E-47D1-B611-9AF28F68BB33--

    -----BEGIN PGP SIGNATURE-----
    Version: GnuPG/MacGPG2 v2.2
    Comment: GPGTools - http://gpgtools.org

    iQIzBAEBCgAdFiEE0KHTJ+AWKhmI+acm/pSWHuad/BgFAmZB1hsACgkQ/pSWHuad /BjTjBAAkyb1bjT4qVLkRnnPtyPbvcRTxYeRxoAf90NwgRuOMO0cfkKPUaaDmhKT LxkusckH+EaE7t5ce1fSlvNDqOF4ggwB3BEtNjheq04A39amjVlTxQ8cXsNzt06k aLMkB88fj9AJiGZztB0+m5btVYy/Nk4PYFgLx8KzpLfv6jaQAuONZ0XC8zMMNWxS eu7LmyxJEtMMSYXTzlVOFdSXAxxAEPzr/s9dhpObjKoyWnjcBz7daHregIHK+Wd1 hMzuCuTE/Ab5zl2iMvin4HBerg9kB/fXLZ4rVPOdBOUjAhwSD4z5Vo23sOUfD64l VV3SxAQtaRdvUZcvlxmiiZyG9dqnzVnYW92bW4ee6pVvvXf7o5o69BYoMSP/PALF xKbsedlzsgixHA39hwOQkdYLBwSTpW54l4794CIVFnmiNyfwepLMSGiQ2rzmVde9 VETRiaxol6v9jRrC5tdtLqrfjVyAvaslskK/Pl21x3Rr4DFKvhJ9gTU8RR0C2+AZ +Q5kxux3rP7BwHug2tyFWqkAFd8KTye+LfGQSl8J061oU+oFUxip7YFRvLjAtA6B /ARlDhFt3OnrYyJZDgPseCkVGabPHFbnGfNprYZuiv4H++8/voUB815QPhFpUWb8 JHbgOvVO9ycEt23TCE2FblIyHsKqXip4CSvAF6EKR3YM9kP0HE0=
    =XWJ2
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)