
Ich verwende ein benutzerdefiniertes Bash-Skript, das auf einem Linux-Computer ausgeführt wird, um Massenduplizierung von FAT32-formatierten USB-Laufwerken durchzuführen.
Ich muss Windows-Dateiattribute wie „versteckt“ beibehalten.
Ich verwende rsync
(oder dd
mit find
und mkdir
in einer neueren Version, um die E/A-Synchronisierung für bessere Stabilität und optimale Bandbreitennutzung zu erzwingen).
Ich habe blindlings Schalter für ausprobiert -X
, -A
die rsync
angeblich einige Dateiattribute beibehalten, aber sie scheinen für Windows-Dateiattribute nicht zu funktionieren.
Gibt es eine Möglichkeit, Windows-Dateiattribute in einer Linux-Umgebung zu lesen und zu schreiben?
Ich könnte sie nach dem Kopieren anwenden, wenn es keinen einfacheren Weg gibt.
Ich möchte kein dd
komplettes Quelldateisystem, da dies stark unoptimiert wäre, insbesondere wenn Sie Hunderte von Laufwerken beschreiben müssen. Manchmal haben die Laufwerke eine Kapazität von 16 GB und nur wenige GB an Dateien darauf – und ein Dummkopf dd
würde alle 16 GB kopieren, was viel zu lange dauern würde, als dass dies in der Produktion funktionieren würde.
Ich habe im Internet gesucht, aber es sieht so aus, als hätten erweiterte Linux-Attribute nichts mit Windows-Dateiattributen zu tun, und ich habe keine Möglichkeit gefunden, diese Informationen zu lesen und zu schreiben (oder sie einfach mit den Dateien zu kopieren).
Antwort1
Mir fallen mehrere Möglichkeiten ein, damit umzugehen.
Die erste ist die VerwendungWerkzeugeum die Dateien zu kopieren. Damit dies funktioniert, müssen SieDefinieren Sie „Laufwerke“(sagen wir A: für das Quelllaufwerk, B: für das Ziel), dann sollten Sie in der Lage sein, alles zu kopieren, wobei Attribute und Zeitstempel erhalten bleiben, und zwar mit
mcopy -s -p -m a: b:
(ungetestet).
Die zweite Möglichkeit besteht darin, die Attribute nachzubearbeiten fatattr
(in den meisten Distributionen verfügbar). Dabei werden gemountete Dateisysteme verarbeitet, sodass Sie Ihre Dateisysteme auf dieselbe Weise kopieren können wie bisher, dann fatattr
alle FAT-Attribute aller Quelldateien auflisten und analysieren, um fatattr
die Attribute der Zieldateien entsprechend festzulegen.