Odkąd korzystałem z systemu Windows, zgromadziłem sporą liczbę przechowywanych kopii systemu plików i archiwów dysków systemowych i danych. Staram się destylować je do użytecznych części, odrzucając wszystko, co może być bezwartościowe.
Po obejrzeniu, jak kilka wspomnianych plików przewija się podczas kopiowania, po raz kolejny z dysku twardego na dysk służbowy, myślę, że mam już listę startową „dobrych” i „bezużytecznych” plików, ale zastanawiałem się, czy istnieje jakąkolwiek autorytatywną listę plików (pochodzących ze środowiska Windows wcześniej), które należy natychmiast odrzucić jako nieużyteczne?
Zwycięzcy: (Wiem, że ta lista prawdopodobnie zamieniłaby się w bałagan, gdyby dołożono wszelkich starań, aby była kompleksowa, więc nie są to, czego szukam, chyba że byliby otoczeni przez badziewia, który mógłby ich nieumyślnie zniszczyć) ( edytuj: Jeśli TYLKO sposób jest bardzo wszechstronną metodą opartą na białej liście, niech tak będzie. Wolałbym, gdyby tak nie było, ale żebracy nie mogą wybierać ... przez większość czasu. )
*.tar.*, *.rar, *.zip
*.mp(e)g, *.avi, *.mkv, *.wmv, *.asf
Przegrani: (To jest to, czego naprawdę szukam)
*.exe, *.bat, *.dll, *.com, *.lnk
Wiem też, że będą wyjątki. Podobnie jak pliki .exe instalatora, używane do instalowania czegoś w Wine. Dla celów tego pytania ta obawa nie jest jedna. Wszystkie pliki, o których mowa, to kopie (kopii, być może jeszcze większej liczby kopii), więc instalatory, które naprawdę chcę zachować, są gdzieś ładne, bezpieczne i prawdopodobnie chronione przed zapisem.
Odpowiedzi:
Prawdopodobnie najprostszym sposobem na usunięcie śmieci byłaby data utworzenia lub ostatniej modyfikacji (być może trzeba będzie poeksperymentować, aby ustalić, która z nich jest lepsza) - wystarczy użyć daty instalacji systemu jako punktu początkowego.
Zgodnie z zasadą Pareto, prosty filtr prawdopodobnie zapewni ci 80% oczekiwanego efektu.
(Oczywiście możesz, a nawet powinieneś połączyć tę z czarno-białymi listami, które zacząłeś gromadzić.)
źródło
find . -type f -mtime +572w -exec ls -l {} \;
przejrzenie danych wyjściowych i ewentualnie wybranie docelowego czasu odcięcia, a następnie użycie opcji -delete zamiast opcji -exec w celu masowego usunięcia niepożądanych. Następniefind . -empty -delete
usunięto puste katalogi i pliki. Następnie za pomocą selektywnego czyszczenia plików / rozszerzeń. Jakieś lepsze pomysły?find
tu jednej użytecznej flagi-newer
:find /mnt/windowsfs \! -newer "/mnt/windowsfs/reference/filename" | xargs rm -f
Tylko Ty wiesz, czego potrzebujesz / chcesz zachować. Można jednak do pewnego stopnia zidentyfikować pliki systemowe Windows i inne zainstalowane pliki programów.
Zainstaluj system Windows i te programy na nowo na maszynie wirtualnej, a następnie utwórz dwie listy wszystkich nazw plików na maszynie wirtualnej;
Na maszynie wirtualnej utwórz pierwszą listę nowo zainstalowanego systemu
dir /S /B /A-D C:\ >vmlist.1
Na maszynie wirtualnej utwórz drugą listę systemu po aktualizacjach
dir /S /B /A-D C:\ >vmlist.2
Z powrotem w * nix, scal te dwa pliki i usuń zduplikowane linie.
sort -u vmlist.1 vmlist.2 >vmlist
Lista będzie teraz wyglądać tak (ale oczywiście o wiele dłużej):
C:\name with 6 special chars [$.^|]
C:\Windows\System32\asr_fmt.exe
C:\Windows\System32\asr_ldm.exe
C:\Windows\System32\asr_pfu.exe
Teraz przekonwertuj listę na
regex
wzorce odpowiednie dlagrep
sed -r 's/\\/\//g; s/[]$.^|[]/\\&/g; s/^[[:alpha:]]:/^.*/; s/$/$/' vmlist >vmlist.rex
Lista wyrażeń regularnych będzie wyglądać tak.
^.*/name with 6 special chars \[\$\.\^\|\]$
^.*/Windows/System32/asr_fmt\.exe$
^.*/Windows/System32/asr_ldm\.exe$
^.*/Windows/System32/asr_pfu\.exe$
Zrób listę plików zawartych w docelowym katalogu archiwum
find '/my/archive/dir' -type f >arclist
Teraz utwórz listę podrzędną z
arclisl
plików pasujących do wzorców wyrażeń regularnych.<arclist grep -f vmlist.rex >arcmatches
arcmatches
zawiera dopasowane pliki systemu Windows. Sprawdź je i usuń, gdy będziesz zadowolony z tego, co widzisz. Oto polecenie usuwania (usuwania).<arcmatches xargs -d'\n' rm -v
źródło
O
thumbs.db
ile wiem, plik jest bezużyteczny w systemach uniksopodobnych.Jest to (prawdopodobnie ukryty) plik utworzony w celu buforowania miniatur obrazów w systemach Windows. Ponieważ każdy folder obrazów ma swój własny wygląd
thumbs.db
podczas przeglądania obrazów tego folderu, na dysku twardym może być sporo takich rzeczy, w zależności od liczby folderów obrazów.Nie wiem, jak każdy * nix radzi sobie z miniaturami, ale przynajmniej w moim przypadku (Ubuntu / GNOME) wszystkie miniatury są domyślnie przechowywane razem w jednym miejscu:
.thumbnails/
folder w moim katalogu domowym (oraz w podfolderach takich jak.thumbnails/normal
i.thumbnails/large
) . Kiedy przeprowadziłem migrację z systemu Windows do systemu Linux, pozbyłem się wszystkich tychthumbs.db
plików.źródło
Lista plików Windows, które są bezużyteczne dla Uniksa
Kroki
źródło
W katalogu głównym C: / pagefile.sys powinien być dość dużym plikiem, którego już nie potrzebujesz.
W większości przypadków cały katalog Windows nie jest użyteczny - z wyjątkiem emulatora, maszyny wirtualnej.
Czcionki mogą być wyjątkiem (przynajmniej * .ttf / * .TTF).
źródło