staging.inyokaproject.org

Originalfile hinter Softlink löschen?

Status: Ungelöst | Ubuntu-Version: Ubuntu 22.10 (Kinetic Kudu)
Antworten |

rs1302

Anmeldungsdatum:
4. Februar 2016

Beiträge: 57

Hallo,

Ich verbinde mich per ssh auf nein NAS und möchte auf "Commandline" die Originalfiles hinter Softlinks löschen.

Ich habe auf einer Backupplatte gemischte Bilder, in denen ich spezielle nach definierten Kriterien suche und für jedes Ergebnis einen Softlink in einem alternativen Folder erstelle. Danach kann ich die Bilder sichten und falsche raus löschen. Die reslichen Softlink-Bilder möchte ich nun löschen. Also einerseits den Softlink - das ist kein Problem - und auch die Hardlinks, also die Originalfiles hinter den Softlinks.

Gibt es dafür einen einfachen Befehl oder eine Option in "rm" ?

Ich habe mir ein kleines Skript geschrieben das nach dem einzelnen Dateinamen des Softlinkordners im Originalordner sucht und selektiv löscht. Das sollte funktionieren, aber gibt es keinen einfacheren und sichereren Weg als eine delete-Schleife über einen Ordner zu jagen?

1
2
3
4
5
6
7
#!/bin/bash
BilderDir='/share/alt/a/'
linkDir='/share/alt/dan1/'
for seachFile in $linkDir; do
fullFileName=$(basename $seachFile);
find $BilderDir -iname "$fullFileName"  -delete
done

rklm Team-Icon

Projektleitung

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 12527

So ungefähr:

1
2
3
for lnk in ...; do
  rm "$(readlink -ve "$lnk")" && rm "$lnk"
done

realpath ist ein anderes Tool, das man nehmen kann.

Antworten |