Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Bei der Groß-/Kleinschreibung wird ermittelt, ob Großbuchstaben (FOO.txt) und Kleinbuchstaben (foo.txt) in einem Dateinamen oder Verzeichnis als unterschiedliche Zeichen behandelt werden (case-sensitive) oder als gleichwertig (case-insensitive).
- Schreibweise beachten: FOO.txt ≠ foo.txt ≠ Foo.txt
- Groß-/Kleinschreibung nicht beachtet: FOO.txt = foo.txt = Foo.txt
Unterschiede in der Groß-/Kleinschreibungsempfindlichkeit zwischen Windows und Linux
Beim Arbeiten mit Linux- und Windows-Dateien und Verzeichnissen müssen Sie möglicherweise anpassen, wie die Groß-/Kleinschreibung behandelt wird.
Standardverhalten:
- Das Windows-Dateisystem behandelt Datei- und Verzeichnisnamen unabhängig von der Groß- und Kleinschreibung. FOO.txt und foo.txt werden als gleichwertige Dateien behandelt.
- Das Linux-Dateisystem behandelt Datei- und Verzeichnisnamen als case-sensitive, d. h. sie unterscheiden zwischen Groß- und Kleinbuchstaben. FOO.txt und foo.txt werden als unterschiedliche Dateien behandelt.
Das Windows-Dateisystem unterstützt das Festlegen der Groß-/Kleinschreibsensibilität mit Attribut-Flags für jedes Verzeichnis. Während das Standardverhalten keine Beachtung der Groß-/Kleinschreibung vorsieht, können Sie ein Attributkennzeichen zuweisen, um ein Verzeichnis für Groß-/Kleinschreibung zu sensibilisieren, sodass das Verzeichnis Linux-Dateien und -Ordner erkennt, die sich nur durch Groß-/Kleinschreibung unterscheiden.
Dies kann besonders bei der Montage von Laufwerken an das Windows-Subsystem für Linux (WSL)-Dateisystem zutreffen. Beim Arbeiten im WSL-Dateisystem wird Linux ausgeführt, daher werden Dateien und Verzeichnisse standardmäßig groß-/kleinschreibungssensitiv behandelt.
Hinweis
Wenn Sie in der Vergangenheit Dateien hatten, deren Name sich nur in der Groß- und Kleinschreibung unterschied, konnten diese Dateien nicht von Windows aufgerufen werden, da Windows-Anwendungen das Dateisystem als Groß- und Kleinschreibung nicht beachtend behandeln und nicht zwischen Dateien unterscheiden konnten, deren Namen sich nur in der Groß- und Kleinschreibung unterscheiden. Während im Windows-Datei-Explorer beide Dateien angezeigt werden, wird unabhängig davon, welche Option Sie auswählen, nur eine geöffnet.
Ändern der Groß-/Kleinschreibung von Dateien und Verzeichnissen
In den folgenden Schritten wird erläutert, wie Sie ein Verzeichnis im Windows-Dateisystem ändern, sodass die Groß-/Kleinschreibung beachtet wird und Dateien und Ordner erkannt werden, die sich nur nach Groß-/Kleinschreibung unterscheiden.
Warnung
Einige Windows-Anwendungen gehen davon aus, dass das Dateisystem nicht zwischen Groß- und Kleinschreibung unterscheidet und verwenden daher nicht die richtigen Buchstaben, um auf Dateien zu verweisen. Es ist z. B. nicht ungewöhnlich, dass Anwendungen Dateinamen transformieren, um groß- oder kleinbuchstaben zu verwenden. In Verzeichnissen, die als case-sensitive markiert sind, bedeutet dies, dass diese Anwendungen nicht mehr auf die Dateien zugreifen können. Wenn Windows-Anwendungen neue Verzeichnisse in einer Verzeichnisstruktur erstellen, in der Sie Dateien verwenden, die Groß-/Kleinschreibung beachten, sind diese Verzeichnisse nicht Groß-/Kleinschreibung-sensitiv. Dies kann die Arbeit mit Windows-Tools in Verzeichnissen, in denen Groß-/Kleinschreibung relevant ist, erschweren. Gehen Sie daher vorsichtig vor, wenn Sie die Einstellungen für die Groß-/Kleinschreibung des Windows-Dateisystems ändern.
Überprüfen der Aktuellen Groß-/Kleinschreibung
Um zu überprüfen, ob bei einem Verzeichnis die Groß-/Kleinschreibung im Windows-Dateisystem beachtet wird, führen Sie den folgenden Befehl aus:
fsutil.exe file queryCaseSensitiveInfo <path>
Ersetzen Sie <path>
durch Ihren Dateipfad. Für ein Verzeichnis im Windows-Dateisystem (NTFS) sieht das <path>
wie folgt aus: C:\Users\user1\case-test
Oder wenn Sie sich bereits im user1
Verzeichnis befinden, können Sie einfach folgendes ausführen: fsutil.exe file setCaseSensitiveInfo case-test
Ändern der Groß-/Kleinschreibung
Die Unterstützung für die Groß-/Kleinschreibungssensitivität pro Verzeichnis wurde in Windows 10, Build 17107, eingeführt. In Windows 10, Build 17692, wurde die Unterstützung aktualisiert, um die Groß-/Kleinschreibungsempfindlichkeitskennzeichnung für ein Verzeichnis aus WSL einzuschließen und zu ändern. Die Groß-/Kleinschreibung wird mithilfe eines erweiterten Attributs offengelegt, das system.wsl_case_sensitive
genannt wird. Der Wert dieses Attributs ist 0 für Verzeichnisse, die unabhängig von Groß-/Kleinschreibung sind, und 1 für Verzeichnisse, die abhängig von Groß-/Kleinschreibung sind.
Wenn Sie die Groß-/Kleinschreibung eines Verzeichnisses ändern, müssen Sie erhöhte Berechtigungen ausführen (als Administrator ausführen). Das Ändern der Kennzeichnung "Groß- und Kleinschreibung" erfordert außerdem die Berechtigungen "Attribute schreiben", "Dateien erstellen", "Verzeichnisse erstellen" und "Unterordner und Dateien löschen" auf dem Verzeichnis. Weitere Informationen hierzu finden Sie im Abschnitt zur Problembehandlung.
Um ein Verzeichnis im Windows-Dateisystem so umzustellen, dass es case-sensitive ist (FOO ≠ foo), führen Sie PowerShell als Administrator aus und verwenden Sie den folgenden Befehl:
fsutil.exe file setCaseSensitiveInfo <path> enable
Führen Sie PowerShell als Administrator aus und nutzen Sie den folgenden Befehl, um ein Verzeichnis im Windows-Dateisystem zurück auf den standardmäßigen groß-/kleinschreibungsunabhängigen Wert (FOO = foo) zu setzen.
fsutil.exe file setCaseSensitiveInfo <path> disable
Ein Verzeichnis muss leer sein, um das Attribut "Groß-/Kleinschreibungskennzeichnung" in diesem Verzeichnis zu ändern. Sie können das Kennzeichen "Groß-/Kleinschreibung" nicht für ein Verzeichnis deaktivieren, das Ordner/Dateien enthält, deren Namen sich nur in der Groß-/Kleinschreibung unterscheiden.
Groß-/Kleinschreibungsvererbung
Beim Erstellen neuer Verzeichnisse übernehmen diese Verzeichnisse die Beachtung der Groß- und Kleinschreibung von ihrem übergeordneten Verzeichnis.
Warnung
Es gibt eine Ausnahme zu dieser Vererbungsrichtlinie, wenn sie im WSL 1-Modus ausgeführt wird. Wenn eine Distribution im WSL 1-Modus ausgeführt wird, werden die Flags für die Groß-/Kleinschreibung pro Verzeichnis nicht übernommen. Verzeichnisse, die in einem Groß-/Kleinschreibungsverzeichnis erstellt werden, sind selbst nicht automatisch groß-/kleinschreibungsempfindlich. Sie müssen jedes Verzeichnis explizit als groß-/kleinschreibungssensitiv kennzeichnen.
Groß-/Kleinschreibungsoptionen zum Mounten eines Laufwerks in die WSL-Konfigurationsdatei
Die Groß-/Kleinschreibung kann beim Einbinden eines Laufwerks im Windows-Subsystem für Linux mithilfe der WSL-Konfigurationsdatei gesteuert werden. Jede Linux-Distribution, die Sie installiert haben, kann über eine eigene WSL-Konfigurationsdatei verfügen, die genannt /etc/wsl.conf
ist. Weitere Informationen zum Bereitstellen eines Laufwerks finden Sie unter "Erste Schritte beim Einbinden eines Linux-Datenträgers in WSL 2".
So konfigurieren Sie die Option für die Berücksichtigung der Groß-/Kleinschreibung in der Datei wsl.conf
beim Einrichten eines Laufwerks:
- Öffnen Sie die Linux-Verteilung, die Sie verwenden möchten (dh. Ubuntu).
- Ändern Sie die Verzeichnisse so lange, bis Sie den
etc
Ordner sehen (möglicherweise müssen Sie vomcd ..
Verzeichnis aus nach oben navigieren). - Listen Sie die Dateien im
etc
Verzeichnis auf, um festzustellen, ob einewsl.conf
Datei bereits vorhanden ist (verwenden Sie denls
Befehl, oderexplorer.exe .
um das Verzeichnis mit dem Windows-Datei-Explorer anzuzeigen). - Wenn die
wsl.conf
Datei noch nicht vorhanden ist, können Sie sie mit:sudo touch wsl.conf
oder durch Ausführensudo nano /etc/wsl.conf
erstellen, wodurch die Datei beim Speichern im Nano-Editor erstellt wird. - Die folgenden Optionen stehen Ihnen zur Verfügung, um sie zu Ihrer
wsl.conf
Datei hinzuzufügen:
Standardeinstellung: dir
zur Aktivierung der Unterscheidung zwischen Groß- und Kleinschreibung pro Verzeichnis.
[automount]
options = case = dir
Die Groß-/Kleinschreibung ist nicht verfügbar (bei allen Verzeichnissen auf bereitgestellten NTFS-Laufwerken spielt die Schriftgröße keine Rolle): off
[automount]
options = case = off
Behandeln Sie alle Verzeichnisse auf dem NTFS-Laufwerk als case-sensitiv: force
[automount]
options = case = force
Diese Option wird nur für Montagelaufwerke auf Linux-Distributionen unterstützt, die als WSL 1 ausgeführt werden und möglicherweise einen Registrierungsschlüssel erfordern. Um einen Registrierungsschlüssel hinzuzufügen, können Sie diesen Befehl über eine Eingabeaufforderung mit erhöhten Rechten (Administrator) verwenden: reg.exe add HKLM\SYSTEM\CurrentControlSet\Services\lxss /v DrvFsAllowForceCaseSensitivity /t REG_DWORD /d 1
.
Sie müssen WSL neu starten, nachdem Sie Änderungen an der wsl.conf
Datei vorgenommen haben, damit diese Änderungen wirksam werden. Sie können WSL mithilfe des Befehls neu starten: wsl --shutdown
Tipp
Um ein Laufwerk (das das DrvFs-Dateisystem-Plug-In verwendet, um den Datenträger unter /mnt verfügbar zu machen, z. B. /mnt/c, /mnt/d usw.) mit einer bestimmten Groß-/Kleinschreibungseinstellung für ALLE Laufwerke zu mounten, verwenden Sie /etc/wsl.conf
wie oben beschrieben. Verwenden Sie /etc/fstab
die Datei, um die Standard-Bereitstellungsoptionen für ein bestimmtes Laufwerk festzulegen.
Weitere WSL-Konfigurationsoptionen finden Sie unter Konfigurieren der Starteinstellungen für den Startvorgang je Distro mit wslconf.
Ändern der Groß- und Kleinschreibungsempfindlichkeit auf einem Laufwerk, das in eine WSL-Distribution eingehängt ist
NTFS-formatierte Laufwerke, die in einer WSL-Distribution bereitgestellt werden, unterscheiden standardmäßig nicht zwischen Groß- und Kleinschreibung. Um die Groß-/Kleinschreibung für ein Verzeichnis auf einem Laufwerk zu ändern, das an eine WSL-Distribution eingehängt ist (z.B. Ubuntu), führen Sie die gleichen Schritte wie oben für das Windows-Dateisystem aus. (EXT4-Laufwerke sind standardmäßig auf Groß-/Kleinschreibung empfindlich).
Um die Groß- und Kleinschreibung im Verzeichnis (FOO ≠ foo) zu aktivieren, verwenden Sie den Befehl:
fsutil.exe file setCaseSensitiveInfo <path> enable
Um die Unterscheidung zwischen Groß- und Kleinschreibung in einem Verzeichnis zu deaktivieren und zur standardmäßigen Groß- und Kleinschreibung zurückzukehren (FOO = foo), verwenden Sie den folgenden Befehl:
fsutil.exe file setCaseSensitiveInfo <path> disable
Hinweis
Wenn Sie das Flag für die Groß- und Kleinschreibung bei einem vorhandenen Verzeichnis eines bereitgestellten Laufwerks ändern, während WSL läuft, stellen Sie sicher, dass WSL keine Verweise auf dieses Verzeichnis hat, da die Änderung sonst nicht wirksam wird. Dies bedeutet, dass das Verzeichnis nicht von WSL-Prozessen geöffnet werden darf, einschließlich der Verwendung des Verzeichnisses (oder seiner Nachfolger) als aktuelles Arbeitsverzeichnis.
Konfigurieren der Groß- und Kleinschreibungsempfindlichkeit mit Git
Das Git-Versionssteuerungssystem verfügt auch über eine Konfigurationseinstellung, die verwendet werden kann, um die Groß-/Kleinschreibung für die Dateien anzupassen, mit denen Sie arbeiten. Wenn Sie Git verwenden, können Sie die git config core.ignorecase
Einstellung anpassen.
Geben Sie Folgendes ein, um Git auf Groß- und Kleinschreibung zu achten (FOO.txt ≠ foo.txt):
git config core.ignorecase false
Um git so festzulegen, dass die Groß-/Kleinschreibung nicht beachtet wird (FOO.txt = foo.txt), geben Sie Folgendes ein:
git config core.ignorecase true
Wenn Sie diese Option auf "falsch" in einem Dateisystem festlegen, das nicht zwischen Groß- und Kleinschreibung unterscheidet, kann es zu verwirrenden Fehlern, falschen Konflikten oder doppelten Dateien kommen.
Weitere Informationen finden Sie in der Git Config-Dokumentation.
Problembehandlung
Mein Verzeichnis enthält Dateien, die gemischte Groß-/Kleinschreibung aufweisen und die Groß-/Kleinschreibung erfordern, windows FS-Tools erkennen diese Dateien jedoch nicht.
Um Windows-Dateisystemtools für die Arbeit an einem Linux-Verzeichnis zu verwenden, das Gemischt-Fall-Dateien enthält, müssen Sie ein völlig neues Verzeichnis erstellen und die Groß-/Kleinschreibung berücksichtigen und dann die Dateien in dieses Verzeichnis kopieren (mit Git Clone oder untar). Die Dateien bleiben gemischt. (Wenn Sie bereits versucht haben, die Dateien in ein nicht auf Groß- und Kleinschreibung achtendes Verzeichnis zu verschieben und Konflikte aufgetreten sind, gab es wahrscheinlich einige Dateien, die überschrieben wurden und nicht mehr verfügbar sind.)
Fehler: Das Verzeichnis ist nicht leer.
Sie können die Groß-/Kleinschreibungseinstellung eines Verzeichnisses, das andere Dateien oder Verzeichnisse enthält, nicht ändern. Versuchen Sie, ein neues Verzeichnis zu erstellen, die Einstellung zu ändern und dann Ihre Dateien mit gemischter Groß- und Kleinschreibung hinein zu kopieren.
Fehler: Zugriff verweigert
Stellen Sie sicher, dass Sie über die Berechtigungen "Attribute schreiben", "Dateien erstellen", "Ordner erstellen" und "Unterordner und Dateien löschen" für das Verzeichnis verfügen, das für die Änderung der Groß-/Kleinschreibung erforderlich ist. Um diese Einstellungen zu überprüfen, öffnen Sie das Verzeichnis im Windows-Datei-Explorer (über die Befehlszeile verwenden Sie den Befehl: explorer.exe .
). Klicken Sie mit der rechten Maustaste auf das Verzeichnis, und wählen Sie "Eigenschaften" aus, um das Fenster "Dokumenteigenschaften" zu öffnen, und wählen Sie dann "Bearbeiten" aus, um Berechtigungen für das Verzeichnis anzuzeigen oder zu ändern.
Fehler: Für diesen Vorgang ist ein lokales NTFS-Volume erforderlich.
Das Attribut für die Behandlung von Groß- und Kleinschreibung kann nur für Verzeichnisse im NTFS-Dateisystem festgelegt werden. Bei Verzeichnissen im WSL-Dateisystem (Linux) ist die Groß-/Kleinschreibung standardmäßig sensitiv (und kann nicht mit dem Tool fsutil.exe auf insensitiv gesetzt werden).
Weitere Ressourcen
Windows Subsystem for Linux