Depuis mon utilisation de Windows, j'ai accumulé une bonne quantité de copies du système de fichiers et d'archives du système et des lecteurs de données. J'essaie de les distiller jusqu'aux parties utilisables tout en jetant tout ce qui est probablement sans valeur.
De regarder un tas de ces fichiers défiler pendant la copie, encore une fois, d'un lecteur d'attente vers un lecteur de travail, je pense que j'ai commencé une liste de démarrage des fichiers "bons" et "inutiles", mais je me demandais s'il y avait tout type de liste de fichiers faisant autorité (provenant d'un environnement antérieur à Windows) qui devrait être rejeté immédiatement comme inutile?
Gagnants: (Je sais que cette liste se transformerait probablement en désordre si des efforts étaient faits pour la rendre complète, donc ce n'est pas ce que je recherche, à moins qu'ils ne soient probablement entourés de conneries qui pourraient les détruire par inadvertance) ( modifier: Si la seule méthode est une méthode super complète basée sur une liste blanche, qu'il en soit ainsi. Je préférerais que ce ne soit pas le cas, mais les mendiants ne peuvent pas être des sélecteurs ... la plupart du temps. )
*.tar.*, *.rar, *.zip
*.mp(e)g, *.avi, *.mkv, *.wmv, *.asf
Losers: (Voici ce que je recherche vraiment)
*.exe, *.bat, *.dll, *.com, *.lnk
Je sais aussi qu'il y aura des exceptions. Comme les fichiers .exe du programme d'installation, utilisés pour installer quelque chose dans Wine. Aux fins de cette question, cette préoccupation n'en est pas une. Tous les fichiers en question sont des copies (de copies, peut-être encore plus de copies), donc les installateurs que je veux vraiment garder sont un endroit agréable, sûr et probablement protégé en écriture.
Réponses:
La façon la plus simple d'éliminer la poubelle serait probablement la date de création ou de dernière modification (vous devrez peut-être expérimenter pour déterminer laquelle est la meilleure) - utilisez simplement la date d'installation du système comme point de départ.
Selon le principe de Pareto, un simple filtre vous donnera probablement 80% de l'effet recherché.
(Bien sûr, vous pouvez, ou même devriez, combiner celui-ci avec les listes en noir et blanc que vous avez commencé à assembler.)
la source
find . -type f -mtime +572w -exec ls -l {} \;
regarder à travers la sortie et éventuellement de composer le temps de coupure cible, puis d'utiliser -delete au lieu de -exec pour supprimer en masse les indésirables. Suivi d'unfind . -empty -delete
pour effacer les répertoires et fichiers vides. Ensuite, en utilisant le nettoyage sélectif des noms de fichiers / extensions. De meilleures idées?find
drapeau utile ici est-newer
utilisé comme ceci:find /mnt/windowsfs \! -newer "/mnt/windowsfs/reference/filename" | xargs rm -f
Vous seul savez ce dont vous avez besoin / voulez garder. Cependant, vous pouvez, dans une certaine mesure , identifier les fichiers système Windows et autres fichiers de programme installés.
Installez Windows et ces programmes à nouveau dans une machine virtuelle, puis faites deux listes de tous les noms de fichiers dans la machine virtuelle;
Dans la machine virtuelle, faites la première liste du système nouvellement installé
dir /S /B /A-D C:\ >vmlist.1
Dans la machine virtuelle, faites la deuxième liste du système après les mises à jour
dir /S /B /A-D C:\ >vmlist.2
De retour dans * nix, fusionnez ces deux fichiers et supprimez les lignes en double.
sort -u vmlist.1 vmlist.2 >vmlist
La liste ressemblera maintenant à ceci (mais bien plus longtemps, bien sûr):
C:\name with 6 special chars [$.^|]
C:\Windows\System32\asr_fmt.exe
C:\Windows\System32\asr_ldm.exe
C:\Windows\System32\asr_pfu.exe
Maintenant, convertissez la liste en
regex
modèles adaptés àgrep
sed -r 's/\\/\//g; s/[]$.^|[]/\\&/g; s/^[[:alpha:]]:/^.*/; s/$/$/' vmlist >vmlist.rex
La liste des expressions régulières ressemblera à ceci.
^.*/name with 6 special chars \[\$\.\^\|\]$
^.*/Windows/System32/asr_fmt\.exe$
^.*/Windows/System32/asr_ldm\.exe$
^.*/Windows/System32/asr_pfu\.exe$
Faire une liste des fichiers contenus dans le répertoire d'archives cible
find '/my/archive/dir' -type f >arclist
Faites maintenant une sous-liste à partir
arclisl
de fichiers qui correspondent aux modèles d'expression régulière.<arclist grep -f vmlist.rex >arcmatches
arcmatches
contient les fichiers Windows correspondants. Vérifiez-les et supprimez-les lorsque vous êtes satisfait de ce que vous voyez. Voici la commande delete (remove).<arcmatches xargs -d'\n' rm -v
la source
Le
thumbs.db
fichier est inutile sur les systèmes de type Unix, pour autant que je sache.Il s'agit d'un fichier (probablement caché) créé pour mettre en cache les vignettes d'images sur les systèmes Windows. Étant donné que chaque dossier d'images obtient son propre
thumbs.db
lors de l'affichage des images du dossier, il peut y avoir un certain nombre de ces choses sur votre disque dur, selon le nombre de dossiers d'images.Je ne sais pas comment chacun et jamais * nix gère les vignettes, mais au moins dans mon cas (Ubuntu / GNOME), toutes les vignettes sont par défaut conservées ensemble en un seul endroit: le
.thumbnails/
dossier dans mon répertoire personnel (et dans des sous-dossiers comme.thumbnails/normal
et.thumbnails/large
) . Lorsque j'ai migré de Windows vers Linux, je me suis donc débarrassé de tous cesthumbs.db
fichiers.la source
Liste des fichiers Windows inutiles pour Unix
Pas
la source
Dans le répertoire racine de C: /, pagefile.sys devrait être un assez gros fichier dont vous n'avez plus besoin.
Dans la plupart des cas, l'ensemble de Windows-Dir n'est pas utile - sauf avec un émulateur, une machine virtuelle.
Les polices peuvent être une exception (* .ttf / * .TTF au moins).
la source