Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum>Software>Terminal-Befehl: Löschen von defekten Dateien?

Terminal-Befehl: Löschen von defekten Dateien?

eMac Extreme29.10.1317:00
Hallo Zusammen!

Ich hab mal wieder ne recht spezielle Frage an Euch. Ein Freund hatte eine defekte Festplatte, die nur noch schwer zu lesen war. Der Finder hat ewig gebraucht beim Kopieren der ganzen Dateien, da viele Dateien bereits beschädigt waren. Der Kopiervorgang hat fast 2 Tage gedauert (bei 120GB).

Leider hat der Finder die defekten Dateien nicht gelöscht, sondern normal kopiert und jetzt sind die defekten Dateien (als 0kb-Dateien) somit im Backup vorhanden.

Weiß jemand von Euch, ob es einen Terminal-Befehl gibt, der alle defekten Dateien (bzw. die mit 0kb Dateigröße) löscht und die anderen, intakten Dateien schön auf die neue Festplatte kopiert?

P.S. Es ist eine ziemlich große Ordnerstruktur mit jeder Menge an Unterordnern.
0

Kommentare

Bitnacht29.10.1317:37
Dazu eignet sich eine Kombination aus „find“ und „rm“. Man kann beide hintereinanderschalten, aber ich empfehle in diesem Fall das nicht unmittelbar zu tun. Vorher mit "cd " und drag und drop in das richtige Verzeichnis wechseln. (Return). Und dann:
find ./ -size 0 >alle.txt

Dann „alle.txt“ anschauen, ob auch wirklich nur Dateien dabei sind, die man löschen will

Wenn alles stimmt, dann kann man mit
rm $(find . -size 0)

Das Löschen starten.

Und wenn es Fehlermeldungen gibt und man immer noch sicher ist, dann vielleicht ein
rm -f $(find . -size 0)

hinterher schicken.

Und falls die Rechte nicht reichen gibt es ein
sudo !!

in direkter Folge die Rechte für alle Dateien, die nur ein Superuser löschen darf.

(Das !! wird durch den letzten eingegebenen Befehl ersetzt - also Vorsicht!)
0
Bitnacht29.10.1317:43
Oh, meine Lösung kopiert nichts. Ich würde sie erst nach dem Kopieren benutzen.

Es ist auch absolut keine schlechte Idee vorher im Terminal mal „man find“ und „man rm“ einzugeben und sich das alles wirklich durchzulesen. Und dann auch noch „man cp“. Und vielleicht auch gleich „man bash“.
0
eMac Extreme29.10.1317:47
Vielen Dank für die ausführliche Erklärung, das hilft mir sehr! Kannst du mir noch sagen, wohin die txt-Datei gespeichert wird?

Und verstehe ich es richtig, dass das sudo vor den vorigen Befehl käme, um sich als Superuser zu authentifizieren?

Also so:
sudo
rm -f $(find . -size 0)
0
X-Jo29.10.1318:01
Was spricht gegen die einfache Methode?
0
smuehli
smuehli29.10.1318:32
Das war zu einfach

Im Ernst: eMac fragte ja gezielt nach einer Terminal Lösung.
0
eMac Extreme29.10.1318:36
Hahaha....wer hätte gedacht, dass man nach Dateigröße suchen kann. Manchmal ist es tatsächlich zu einfach! Aber immerhin weiß ich jetzt auch, wie es mit dem Terminal gehen kann.
0
almdudi
almdudi30.10.1300:34
eMac Extreme
Hahaha....wer hätte gedacht, dass man nach Dateigröße suchen kann.
Ei jeder, der sich jemals die Findersuche angeschaut hat.
Und es lohnt sich, da auch mal unter "Sonstige" reinzuschauen im Button links oben. Ausgesprochen vielfältig, was es da gibt (nicht daß man sich das merken könnte, aber gut zu wissen, daß man da auch nach ausgesprochen ausgefallenen Kriterien suchen kann - wobei ich mir überlege, wie oft z.B. jemand nach Bildern mit einem bestimmten Blendenwert suchen mag…).
0
X-Jo30.10.1310:33
Ich habe einen Intelligenten Ordner (man kann die Suchabfrage ja sogar speichern!), der alle Bilder mit Geo- (GPS)-Daten enthält. Der Finder kann mehr, als es äußerlich scheint.
0
PaulMuadDib30.10.1311:20
Das ganze OS kann mehr, als es äußerlich scheint. Offenbar bemerken dies nur wenige, wie es scheint. Ich rede von so Dingen, wie zum Beispiel: Wort markieren (doppelklicken), Cmd-E, Cmd-G (so oft man will), Programm wechseln, Cmd-G. Damit kann man leicht einen einzelnen Begriff finden.

Woran das liegt, kann ich nur vermuten. Besonders deutlich ist dies bei Win-Umsteigern. Da gibt es oft nix vergleichbares.
0

Kommentieren

Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.