Wie können Dateien mit demselben Namen in einem Ordner erstellt werden?

500
Blackwood

Das versuche ich nicht. Ich versuche, ein Problem herauszufinden, das bereits passiert ist.

Eines unserer LIDAR-Systeme im Feld hat ein Datenerfassungslaufwerk mit doppelten Dateien zurückgegeben. Jede einzelne Datei auf dem Laufwerk hatte ein zweites Duplikat mit genau demselben Namen, derselben Uhrzeit, demselben Datum und derselben Größe. Nach meinem besten Wissen sollte dies unmöglich sein.

Die Dateien werden auf einem Linux-PC (CentOS 7) geschrieben, jedoch auf NTFS gespeichert. Dies liegt daran, dass sie auf Windows-PCs verarbeitet werden. Wir haben diese Software bereits seit Jahren mit denselben Laufwerkstypen ausgeführt.

Ich versuchte darüber nachzudenken, wie das passieren könnte, aber ich konnte mir keine vorstellen. Wenn zwei Instanzen der Speichersoftware laufen würden, würden sie sich um dieselbe Datei streiten und nicht eine identische in dasselbe Verzeichnis schreiben. Das sollte unmöglich sein.

Ich dachte dann, dass es vielleicht ein Zufall war, wenn Windows File Explorer die Dateien anzeigt. Ich musste sie herausnehmen und in einen anderen PC stecken, und es zeigte immer noch dasselbe. Ich fragte mich dann, ob es versteckte Charaktere gab. Als sie die Daten an ihren Server übertrugen, erkannten sie jedoch, dass die Dateinamen identisch waren, und forderten sie auf, jedes Duplikat zu überspringen oder zu überschreiben.

Ich würde dies als Zufall abschreiben, aber der Kunde ist unnachgiebig dabei, dem auf den Grund zu gehen. Kann mir jemand einen Einblick oder sogar eine Theorie darüber geben, wie dies geschehen ist?

2
Ist die Groß- und Kleinschreibung in beiden Dateien gleich? Wenn Sie einen MD5-Vergleich durchführen, haben beide Dateien den gleichen Hashwert? Steven M. Vascellaro vor 6 Jahren 0
Was zeigt das `file`-Programm zu den beiden Dateien? AFH vor 6 Jahren 0
Ja, die Kapitalisierung war genau die gleiche. Ich habe nicht daran gedacht, einen MD5-Vergleich durchzuführen. Leider hat der Kunde die Laufwerke bereits neu formatiert, sodass ich jetzt keine machen kann. Wenn es noch einmal passiert, ist das mein erster Schritt. Blackwood vor 6 Jahren 0
Der Kunde hat die Laufwerke im Feld bereits neu formatiert. Leider hatte ich nie Zugang zu ihnen. Ich hatte nur Screenshots und Protokolldateien. Die Protokolle zeigten jedoch nichts Außergewöhnliches. Wenn es noch einmal passiert, probiere ich die MD5 und schaue sie mir auch mit dem `file`-Programm an. Bis dahin kann ich dem Kunden nur meine beste Theorie über das, was passiert ist, liefern. An diesem Punkt habe ich allerdings nicht viel. Blackwood vor 6 Jahren 0
Waren die Dateinamen unter Windows oder Linux identisch? Denken Sie daran, dass Windows dazu neigt, Dateierweiterungen zu unterdrücken. Wenn der Kunde es ernst meinte, dem Problem auf den Grund zu gehen, hätte er die Beweise aufbewahren müssen. AFH vor 6 Jahren 1
Unter Windows schienen die Dateinamen identisch zu sein. Die Dateierweiterungen wurden in den Screenshots angezeigt. Blackwood vor 6 Jahren 0
Ich lasse den Kunden auch wissen, dass dies geschehen sollte, um die Dateien direkt an mich zu senden. Blackwood vor 6 Jahren 0
Es könnte eine versteckte Erweiterung für eine der Dateien geben, z. B. `file.log` und` file.log.lnk` werden im Explorer identisch angezeigt, der Unterschied wird jedoch in `cmd` angezeigt. AFH vor 6 Jahren 2
Ich würde definitiv ein "dir / A" auf dem PC ausführen, um nach versteckten Erweiterungen oder ähnlichem zu suchen. Behalten Sie beim nächsten Mal nicht die Dateien, sondern das Dateisystem bei, indem Sie ein Image erstellen (selbst `dd` würde das tun). user1016274 vor 6 Jahren 0
Dies kann das Ergebnis einer Beschädigung der Dateisystem-Metadaten sein. Dateinamen und Ordnerspeicherorte sind nur Metadaten, die der FS verfolgt. Vielleicht ist eine Überprüfung mit Chkdsk oder fsck in Ordnung. Frank Thomas vor 6 Jahren 0
Da es sich nicht nur um Sidecar-Dateien handelte, kann davon ausgegangen werden, dass es sich bei einer Kopie jeweils um einen symbolischen Link oder ähnliches handelte. Beachten Sie auch, dass es sich bei NTFS um ein geschlossenes Format handelt, das nicht vollständig öffentlich dokumentiert ist und die Unterstützung für Linux Reverse Engineering war. Möglicherweise gibt es eine Software mit nahezu metallischem Zugriff, bei der Einschränkungen vermieden wurden. Yorik vor 6 Jahren 0

1 Antwort auf die Frage

2
xenoid

Ich habe gesehen, dass dies passiert ist: eine Datei hatte ein normales "a" (ASCII 0x61), die andere hatte ein sehr ähnlich aussehendes "kyrillisches Kleinbuchstabe a" (U + 0430). Es gibt viele Zeichen in der kyrillischen Schrift, die genau wie die beiden aussehen ("e", "o" sind zwei andere häufige) (*).

Eine Möglichkeit, das Problem (und den Fehler) zu identifizieren: diroder lsdie Ausgabe mit einem Hex-Editor abzulegen und zu betrachten (unter Linux können Sie auch das kürzere: verwenden ls * | hd).

Bei IIRC ist es auch möglich, das Unicode-Zeichen "ZERO WIDTH SPACE (U + 200B)" in einem Dateinamen zu verwenden.

(*) Ich habe einige im Text dieser Antwort versteckt ...