He acumulado, desde mi tiempo en Windows, una buena cantidad de copias retenidas del sistema de archivos y archivos del sistema y unidades de datos. Estoy tratando de destilarlos a las partes utilizables mientras descarto todo lo que probablemente no tenga valor.
Al ver un montón de dichos archivos desplazarse mientras copiaba, una vez más, desde una unidad de retención a una unidad de trabajo, creo que tengo una lista de inicio de archivos "buenos" e "inútiles", pero me preguntaba si hay ¿Algún tipo autorizado de lista de archivos (que provenga de un entorno anterior de Windows) que debe descartarse inmediatamente como inútil?
Ganadores: (Sé que esta lista probablemente se convertiría en un desastre si se hiciera algún esfuerzo para que sea completa, por lo que no es lo que estoy buscando, a menos que probablemente estén rodeados de basura que podría destruirlos inadvertidamente) ( editar: si la ÚNICA forma es un método súper completo basado en una lista blanca, que así sea. Preferiría que ese no fuera el caso, pero los mendigos no pueden elegir ... la mayoría de las veces. )
*.tar.*, *.rar, *.zip
*.mp(e)g, *.avi, *.mkv, *.wmv, *.asf
Perdedores: (Esto es lo que realmente estoy buscando)
*.exe, *.bat, *.dll, *.com, *.lnk
También sé que habrá excepciones. Al igual que los archivos .exe del instalador, se utilizan para instalar algo en Wine. Para los propósitos de esta pregunta, esta preocupación no es una. Todos los archivos en cuestión son copias (de copias, posiblemente de incluso más copias), por lo que los instaladores que realmente quiero conservar están en un lugar agradable, seguro y probablemente protegido contra escritura.
Respuestas:
Probablemente, la forma más sencilla de eliminar la basura sería la fecha de creación o última modificación (es posible que deba experimentar para determinar cuál es mejor): solo use la fecha en que se instaló el sistema como punto de partida.
Según el principio de Pareto, ese filtro simple probablemente le proporcionará el 80% del efecto que busca.
(Por supuesto, puede, o incluso debería, combinar este con las listas en blanco y negro que ha comenzado a armar).
fuente
find . -type f -mtime +572w -exec ls -l {} \;
mirar a través de la salida y posiblemente marcar el tiempo de corte objetivo, y luego usar -delete en lugar de -exec para eliminar en masa los mensajes no deseados. Seguido con unfind . -empty -delete
para borrar directorios y archivos vacíos. A continuación, utilice el nombre de archivo selectivo / depuración de extensión. ¿Alguna idea mejor?find
bandera útil aquí se-newer
usa así:find /mnt/windowsfs \! -newer "/mnt/windowsfs/reference/filename" | xargs rm -f
Solo tú sabes lo que necesitas / quieres conservar. Sin embargo, puede, hasta cierto punto , identificar los archivos del sistema de Windows y otros archivos de programa instalados.
Instale Windows y esos programas nuevamente en una máquina virtual, luego haga dos listas de todos los nombres de archivo en la VM;
En la máquina virtual, haga la primera lista del sistema recién instalado
dir /S /B /A-D C:\ >vmlist.1
En la VM, haga la segunda lista del sistema después de las actualizaciones.
dir /S /B /A-D C:\ >vmlist.2
De vuelta en * nix, combine estos dos archivos y elimine las líneas duplicadas.
sort -u vmlist.1 vmlist.2 >vmlist
La lista ahora se verá así (pero mucho más larga, por supuesto):
C:\name with 6 special chars [$.^|]
C:\Windows\System32\asr_fmt.exe
C:\Windows\System32\asr_ldm.exe
C:\Windows\System32\asr_pfu.exe
Ahora convierta la lista en
regex
patrones adecuados paragrep
sed -r 's/\\/\//g; s/[]$.^|[]/\\&/g; s/^[[:alpha:]]:/^.*/; s/$/$/' vmlist >vmlist.rex
La lista de expresiones regulares se verá así.
^.*/name with 6 special chars \[\$\.\^\|\]$
^.*/Windows/System32/asr_fmt\.exe$
^.*/Windows/System32/asr_ldm\.exe$
^.*/Windows/System32/asr_pfu\.exe$
Haga una lista de archivos contenidos en el directorio de archivo de destino
find '/my/archive/dir' -type f >arclist
Ahora haga una sub-lista de
arclisl
los archivos que coinciden con los patrones de expresiones regulares.<arclist grep -f vmlist.rex >arcmatches
arcmatches
contiene los archivos de Windows coincidentes. Verifíquelos y elimínelos cuando esté satisfecho con lo que ve. Aquí está el comando eliminar (eliminar).<arcmatches xargs -d'\n' rm -v
fuente
El
thumbs.db
archivo es inútil en sistemas similares a Unix, que yo sepa.Es un archivo (probablemente oculto) creado para almacenar en miniatura las imágenes en miniatura en los sistemas Windows. Dado que cada carpeta de imágenes tiene su propio
thumbs.db
aspecto al visualizar las imágenes de la carpeta, es posible que haya algunas de estas cosas en su disco duro, dependiendo de la cantidad de carpetas de imágenes.No sé cómo cada * nix trata con las miniaturas, pero al menos en mi caso (Ubuntu / GNOME), todas las miniaturas se mantienen juntas de forma predeterminada en un solo lugar: la
.thumbnails/
carpeta en mi directorio de inicio (y en subcarpetas como.thumbnails/normal
y.thumbnails/large
) . Cuando migré de Windows a Linux, por lo tanto, eliminé todos esosthumbs.db
archivos.fuente
Lista de archivos de Windows que son inútiles para Unix
Pasos
fuente
En el directorio raíz de C: /, pagefile.sys debería ser un archivo bastante grande que ya no necesita.
En la mayoría de los casos, todo el directorio de Windows no es útil, excepto con un emulador, una máquina virtual.
Las fuentes pueden ser una excepción (* .ttf / * .TTF al menos).
fuente