Avatar von Nalathni
  • Nalathni

mehr als 1000 Beiträge seit 09.09.2004

Re: Casefold Feature

Wenn ich z.B. mit find eine Datei namens dokument.pdf dann soll genau diese gefunden werden, nicht Dokument.pdf und auch nicht dokument.PDF. Wenn ich das nicht will, kann ich das dem find mitteilen. Und so geht es auch bei vielen anderen Tools (grep,..)

Und das bleibt auch weiter so. Auch in einem case-insensitiven Dateisystem hat jede Datei eine konkrete Schreibweise, die bestehen bleibt, so lange man die Datei nicht explizit umbenennt (also genau wie bei case-sensitiven Dateisystemen).

Man kann seine Datei also ebenfalls wahlweise DoKuMeNt.PDF oder dOkUmEnT.pdf nennen, und man kann mit find weiterhin mittels -name oder -iname case-sensitiv oder case-insensitiv nach solchen Dateien suchen¹.

Aber es wird eben verhindert, dass die beiden Dateien DoKuMeNt.PDF und dOkUmEnT.pdf im selben Verzeichnis existieren können, weil sie dort als identisch gelten.

Auf meinem System gibt es eine Handvoll solcher Kollisionen, insbesondere in den Directories /usr/include/linux/netfilter (dort gibt es z.B. die unterschiedlichen Dateien xt_mark.h sowie xt_MARK.h) und /usr/lib/x86_64-linux-gnu/xtables (dort gibt es z.B. die unterschiedlcihen Bibliotheken libxt_mark.so sowie libxt_MARK.so) oder auch /lib/firmware/radeon, d.h. das komplette Dateisystem könnte man hier nicht einfach case-insensitiv machen.

Ich könnte mir aber vorstellen, das eigene Home-Directory case-insensitiv zu machen, weil man so eben davor bewahrt wird, versehentlich Dateien zu erzeugen, die sich nur in ihrer Schreibweise unterscheiden (sagen wir mal FileNameChecker.java und FilenameChecker.java). Und da sehe ich eigentlich keinen Nachteil, denn in meinen eigenen Verzeichnissen würde ich solche Verwirrungen sowieso vermeiden wollen.

________________________________________

¹ Das lässt sich leicht ausprobieren, indem man einen fat-formatierten USB-Stick mountet (also ein case-insensitives Dateisystem). Wenn sich dort z.B. eine Datei namens DoKuMeNt.PDF befindet, findet find . -name "dokument.pdf" die Datei nicht, find . -iname "dokument.pdf" aber schon. Find beachtet die konkrete Schreibweise also auch bei case-insensitiven Dateisystemen, und das ist auch gut so.

Bewerten
- +