bestimmte Dateien in Unterverzeichnissen löschen?

m00gy

Gast
Hallo Leute,

ich bin kein Terminal-Guru. Deshalb meine Frage an Euch:

Ich hab auf meinem NAS, auf das ich per Telnet zugreifen kann, meine MP3 Sammlung liegen. Nun hab ich da ziemlich viele Ordner und Unterordner. Und in einigen dieser Ordner liegen Dateien, die alle so anfangen:

._

Nun suche ich nach einer Möglichkeit, mit einem Befehl im Terminal alle Unterverzeichnisse nach Dateien mit dem o.g. Beginn zu suchen und diese zu löschen.

Kennt irgendein Terminal-Guru einen solchen Befehl? Ich tippe ja mal auf rm mit irgendwelchen schlau gesetzten Parametern?

Viele Grüße,
m00gy
 

DBertelsbeck

Tiefenblüte
Registriert
20.04.04
Beiträge
6.421
Diese Dateien sind für Mac OS notwendig. Warum willst Du die löschen ?
Die werden doch gar nicht angezeigt, im Finder, auf dem NAS aber schon.

rm ist der richtige Befehl, verbunden mit dem Joker '*' (also ._*) und -r (also auch in Unterverzeichnissen) und, ich glaube, -a (unsichtbare) wird das gehen.
Gib zuerst man rm ein, um die Beschreibung zu sehen und teste vorher mir ls.
 

stk

Grünapfel
Registriert
05.01.04
Beiträge
7.141
Moin,

nimm Dir die Systemeinstellung "BlueService" mal vor. Damit kannst du einstellen, auf welchen Laufwerken solche ._ Files unterdrückt, bzw. nachträglich ausgkehrt werden sollen.

Gruß Stefan
 

m00gy

Gast
Ja, ich weiß dass diese versteckten Dateien prinzipiell von Mac OS verwendet werden. In diesem Fall stören sie aber, da ich meine MP3-Sammlung auf der Netzplatte habe. Auf dem Netzserver (an dem die Platte hängt) läuft ein iTunes Streaming Server, der die MP3s direkt an meine Rechner schickt.

Diese vielen versteckten Dateien hat iTunes offensichtlich angelegt (als ich die CDs vor einiger Zeit auf dem Mac eingelesen habe, bevor ich sie dann vom Rechner auf die Netzplatte übertragen haben.) Der unschöne Effekt ist nun, dass der Steramin-Server meint, jedes MP3 zwei Mal zu haben - weil es eben zu jeder Datei die versteckte ._ Datei gibt. Deshalb müssen die ._ Dateien auf der Netzplatte verschwinden ;)

Danke, ich probier Deinen Hinweis mal aus.
 

m00gy

Gast
@stk
funktioniert das wohl auch auf Netzwerklaufwerken? Schau ich mal nach. Einen Großteil der Dateien hab ich jetzt schon per FTP von der Platte gefegt. Abervielleicht sind diese Blueservices eine Maßnahme, wenn ich demnächst neue Platten meiner Sammlung zufügen möchte...
 
Registriert
22.02.06
Beiträge
36
DBertelsbeck schrieb:
rm ist der richtige Befehl, verbunden mit dem Joker '*' (also ._*) und -r (also auch in Unterverzeichnissen) und, ich glaube, -a (unsichtbare) wird das gehen.
Gib zuerst man rm ein, um die Beschreibung zu sehen und teste vorher mir ls.
rm -r ._* loescht nicht rekursiv alle Dateien auf die das Pattern passt, die Option -r dient nur dazu Verzeichnisse rekursiv zu löschen.
Da ältere (unix) Versionen von find die -delete Option nicht kennen, hier eine Abwandlung von Rastafaris Lösung:
Code:
find "/In/diesem Ordner/hier bitte angeben/" -type f -name ._* -exec rm {} \;

-- edit: mal lieber noch die -type f Option hinzugefügt, bevor jemand aus Versehen Verzeichnisse löscht
 
Zuletzt bearbeitet:
  • Like
Reaktionen: 1 Person

m00gy

Gast
Rastafari und interpreter:
Vielen Dank, ihr habt mir sehr geholfen.