Ich habe seit meiner Zeit mit Windows eine gute Anzahl von überlagerten Dateisystemkopien und Archiven von System- und Datenlaufwerken gesammelt. Ich versuche, sie auf die verwendbaren Teile zu reduzieren, während ich alles verwerfe, was wahrscheinlich wertlos ist.
Ich glaube, ich habe eine Starterliste mit "guten" und "nutzlosen" Dateien gestartet, aber ich habe mich gefragt, ob es eine solche Liste gibt, die beim erneuten Kopieren von einem Haltelaufwerk auf ein Arbeitslaufwerk vorbeigefahren ist Gibt es eine maßgebliche Liste von Dateien (die aus einer früheren Windows-Umgebung stammen), die sofort als nicht sinnvoll verworfen werden sollten?
Gewinner: (Ich weiß, dass diese Liste wahrscheinlich zu einem Durcheinander führen würde, wenn Anstrengungen unternommen würden, um sie umfassend zu gestalten. Daher sind diese nicht das, wonach ich suche, es sei denn, sie wären wahrscheinlich von Mist umgeben, der sie versehentlich zerstören könnte.) ( Bearbeiten: Wenn der EINZIGE Weg eine super umfassende Methode auf der Basis einer weißen Liste ist, soll es so sein. Ich würde es vorziehen, wenn dies nicht der Fall wäre, aber Bettler können keine Wahl sein ... die meiste Zeit. )
*.tar.*, *.rar, *.zip
*.mp(e)g, *.avi, *.mkv, *.wmv, *.asf
Verlierer: (Das ist es, wonach ich wirklich suche)
*.exe, *.bat, *.dll, *.com, *.lnk
Ich weiß auch, dass es Ausnahmen geben wird. Wie die EXE-Dateien des Installationsprogramms, mit denen etwas in Wine installiert wird. Für die Zwecke dieser Frage ist dieses Anliegen keines. Alle fraglichen Dateien sind Kopien (von Kopien, möglicherweise sogar von noch mehr Kopien), daher sind die Installationsprogramme, die ich wirklich behalten möchte, an einem schönen, sicheren und wahrscheinlich schreibgeschützten Ort.
Antworten:
Der wahrscheinlich einfachste Weg, den Papierkorb auszusortieren, ist das erstellte oder zuletzt geänderte Datum (möglicherweise müssen Sie experimentieren, um festzustellen, welches besser ist). Verwenden Sie einfach das Datum, an dem das System installiert wurde, als Ausgangspunkt.
Nach dem Pareto-Prinzip erhalten Sie mit diesem einfachen Filter wahrscheinlich 80% des gewünschten Effekts.
(Natürlich können oder sollten Sie diese mit den Schwarz-Weiß-Listen kombinieren, mit deren Zusammenstellung Sie begonnen haben.)
quelle
find . -type f -mtime +572w -exec ls -l {} \;
, indem ich die Ausgabe durchschaue und möglicherweise die Ziel-Cutoff-Zeit einwähle und dann -delete anstelle von -exec verwende, um die unerwünschten Elemente massenweise zu löschen. Gefolgt von afind . -empty -delete
, um leere Verzeichnisse und Dateien zu löschen. Verwenden Sie dann das selektive Scrubben von Dateinamen / Erweiterungen. Irgendwelche besseren Ideen?find
Flagge hier wird-newer
wie folgt verwendet:find /mnt/windowsfs \! -newer "/mnt/windowsfs/reference/filename" | xargs rm -f
Nur Sie wissen, was Sie behalten müssen / wollen. Sie können jedoch bis zu einem gewissen Grad Windows-Systemdateien und andere installierte Programmdateien identifizieren.
Installieren Sie Windows und diese Programme erneut in einer virtuellen Maschine und erstellen Sie dann zwei Listen aller Dateinamen in der VM.
Erstellen Sie in der VM die erste Liste des neu installierten Systems
dir /S /B /A-D C:\ >vmlist.1
Erstellen Sie in der VM die zweite Liste des Systems nach Aktualisierungen
dir /S /B /A-D C:\ >vmlist.2
Führen Sie diese beiden Dateien in * nix zusammen und entfernen Sie doppelte Zeilen.
sort -u vmlist.1 vmlist.2 >vmlist
Die Liste sieht jetzt so aus (aber natürlich viel länger):
C:\name with 6 special chars [$.^|]
C:\Windows\System32\asr_fmt.exe
C:\Windows\System32\asr_ldm.exe
C:\Windows\System32\asr_pfu.exe
Konvertieren Sie nun die Liste in
regex
Muster, die für geeignet sindgrep
sed -r 's/\\/\//g; s/[]$.^|[]/\\&/g; s/^[[:alpha:]]:/^.*/; s/$/$/' vmlist >vmlist.rex
Die Regex-Liste sieht folgendermaßen aus.
^.*/name with 6 special chars \[\$\.\^\|\]$
^.*/Windows/System32/asr_fmt\.exe$
^.*/Windows/System32/asr_ldm\.exe$
^.*/Windows/System32/asr_pfu\.exe$
Erstellen Sie eine Liste der Dateien im Zielarchivverzeichnis
find '/my/archive/dir' -type f >arclist
Nun machen Sie eine Unterliste von
arclisl
Dateien , die die Regex Muster entsprechen.<arclist grep -f vmlist.rex >arcmatches
arcmatches
enthält die übereinstimmenden Windows-Dateien. Überprüfen Sie sie und löschen Sie sie, wenn Sie mit dem, was Sie sehen, zufrieden sind. Hier ist der Befehl zum Löschen (Entfernen).<arcmatches xargs -d'\n' rm -v
quelle
thumbs.db
Soweit ich weiß, ist die Datei auf Unix-ähnlichen Systemen unbrauchbar.Es handelt sich um eine (wahrscheinlich versteckte) Datei, die zum Zwischenspeichern von Miniaturansichten von Bildern auf Windows-Systemen erstellt wurde. Da jeder Bildordner
thumbs.db
beim Anzeigen der Bilder des Ordners seinen eigenen erhält , befinden sich abhängig von der Anzahl der Bildordner möglicherweise einige dieser Dinge auf Ihrer Festplatte.Ich weiß nicht, wie jeder * nix mit Thumbnails umgeht, aber zumindest in meinem Fall (Ubuntu / GNOME) werden alle Thumbnails standardmäßig an einem Ort zusammengehalten: dem
.thumbnails/
Ordner in meinem Home-Verzeichnis (und in Unterordnern wie.thumbnails/normal
und.thumbnails/large
) . Bei der Migration von Windows auf Linux habe ich daher alle diesethumbs.db
Dateien entfernt.quelle
Liste der Windows-Dateien, die für Unix unbrauchbar sind
Schritte
quelle
Im Stammverzeichnis von C: / sollte pagefile.sys eine ziemlich große Datei sein, die Sie nicht mehr benötigen.
In den meisten Fällen ist das gesamte Windows-Verzeichnis nicht nützlich - außer mit einem Emulator, einer virtuellen Maschine.
Schriftarten können eine Ausnahme sein (mindestens * .ttf / * .TTF).
quelle