Megosztás:


Kis- és nagybetűk érzékenységének beállítása

A kis- és nagybetűk érzékenysége határozza meg, hogy a nagybetűk (FOO.txt) és a kisbetűk (foo.txt) különbözőként (kis- és nagybetű-érzékeny) vagy egyenértékűként (kis- és nagybetű-kompatibilis) vannak-e kezelve egy fájlnévben vagy könyvtárban.

  • Kis- és nagybetűk megkülönböztetése: FOO.txt ≠ foo.txt ≠ Foo.txt
  • Kis- és nagybetűk megkülönböztetése: FOO.txt = foo.txt = Foo.txt

Különbségek a Windows és a Linux kis- és nagybetűk érzékenysége között

Linux- és Windows-fájlok és könyvtárak használatakor előfordulhat, hogy módosítania kell a kis- és nagybetűk érzékenységének kezelését.

Szokásos viselkedés:

  • A Windows fájlrendszer nem tesz különbséget a fájl- és könyvtárnevek kis- és nagybetűi között. FOO.txt és foo.txt egyenértékű fájlként lesznek kezelve.
  • A Linux fájlrendszer érzékeli a fájl- és könyvtárnevek kis- és nagybetűs különbségeit. FOO.txt és foo.txt különálló fájlokként lesznek kezelve.

A Windows fájlrendszer könyvtáronként attribútumjelölőkkel támogatja a kis- és nagybetűk érzékenységének beállítását. Bár az alapértelmezett viselkedés a kis- és nagybetűk figyelmen kívül hagyása, attribútum jelzőt rendelhet hozzá a címtár megkülönböztetéséhez, hogy felismerje azokat a Linux fájlokat és mappákat, amelyek csak kis- és nagybetűikben különböznek.

Ez különösen igaz lehet, ha meghajtókat csatlakoztat a Windows Alrendszer for Linux (WSL) fájlrendszerhez. Amikor a WSL fájlrendszerben dolgozik, Linuxot futtat, így a fájlok és könyvtárak alapértelmezés szerint megkülönböztetik a kis- és nagybetűket.

Jegyzet

Korábban, ha olyan fájlok voltak, amelyeknek a neve csak esetenként különbözött, ezeket a fájlokat a Windows nem tudta elérni, mert a Windows-alkalmazások érzéketlenként kezelik a fájlrendszert, és nem tudják megkülönböztetni azokat a fájlokat, amelyek neve csak abban az esetben különbözik. Bár a Windows Fájlkezelő mindkét fájlt megjeleníti, csak egy nyílik meg, függetlenül attól, hogy melyiket választja.

Fájlok és könyvtárak kis- és nagybetűk érzékenységének módosítása

Az alábbi lépések ismertetik, hogyan alakíthatja át a Windows fájlrendszer egy könyvtárát úgy, hogy az megkülönböztesse a kis- és nagybetűket, és felismerje azokat a fájlokat és mappákat, amelyek csak ezek alapján különböznek.

Figyelmeztetés

Egyes Windows-alkalmazások, amelyek feltételezik, hogy a fájlrendszer nem érzékeny a kis- és nagybetűk különbségeire, nem a megfelelő betűformátumot használják a fájlokra való hivatkozáskor. Nem ritka például, hogy az alkalmazások átalakítják a fájlneveket az összes nagybetű vagy kisbetű használatára. A kis- és nagybetűk megkülönböztetésével megjelölt könyvtárakban ez azt jelenti, hogy ezek az alkalmazások már nem férnek hozzá a fájlokhoz. Ezenkívül, ha a Windows-alkalmazások új könyvtárakat hoznak létre egy könyvtárszerkezetben, ahol kis- és nagybetűérzékeny fájlokat használ, ezek a könyvtárak nem érzékenyek a kis- és nagybetűkre. Ez megnehezítheti a Windows-eszközök használatát a bizalmas könyvtárak esetében, ezért körültekintően járjon el a Windows fájlrendszer kis- és nagybetűkre vonatkozó beállításainak módosításakor.

Az aktuális eset érzékenységének vizsgálata

Annak ellenőrzéséhez, hogy egy könyvtár érzékeny-e a kis- és nagybetűkre a Windows fájlrendszerben, futtassa a következő parancsot:

fsutil.exe file queryCaseSensitiveInfo <path>

Cserélje le a <path>-t a fájl elérési útjára. A Windows (NTFS) fájlrendszer egyik könyvtára esetében a <path> a következőképpen fog kinézni: C:\Users\user1\case-test vagy ha már a user1 könyvtárban van, egyszerűen futtathatja a következőt: fsutil.exe file setCaseSensitiveInfo case-test

Kis- és nagybetűk érzékenységének módosítása

A könyvtáronkénti kis- és nagybetűk érzékenységének támogatása a Windows 10 17107-as buildjében kezdődött. A Windows 10 build 17692-es verziójában a támogatást frissítették, hogy a WSL-en belül lehetővé váljon egy címtár kis- és nagybetű-érzékenységi jelzőjének vizsgálata és módosítása. A kis- és nagybetűk érzékenysége egy system.wsl_case_sensitivenevű kiterjesztett attribútummal jelenik meg. Ennek az attribútumnak az értéke a kis- és nagybetűket nem megkülönböztető könyvtárak esetében 0, a kis- és nagybetűket megkülönböztető könyvtárak esetében pedig 1 lesz.

A címtárak kis- és nagybetűk érzékenységének módosításához emelt szintű engedélyeket kell futtatnia (futtatás rendszergazdaként). A kis- és nagybetűk megkülönböztetése jelző módosításához "Írási attribútumok", "Fájlok létrehozása", "Mappák létrehozása" és "Almappák és fájlok törlése" engedélyekre is szükség van a címtárban. Ahibaelhárítási szakaszában talál további információt.

Ha a Windows fájlrendszerben egy könyvtárat esetérzékennyé szeretne tenni (FOO ≠ foo), futtassa a PowerShellt rendszergazdai jogosultságokkal, és használja a következő parancsot:

fsutil.exe file setCaseSensitiveInfo <path> enable

Ha vissza szeretne változtatni egy könyvtárat a Windows fájlrendszerben a kis- és nagybetűk megkülönböztetése alapértelmezett értékére (FOO = foo), futtassa a PowerShellt rendszergazdaként, és használja a következő parancsot:

fsutil.exe file setCaseSensitiveInfo <path> disable

Egy könyvtárnak üresnek kell lennie ahhoz, hogy megváltoztassa a kis- és nagybetűk bizalmassági jelzőjének attribútumát az adott könyvtárban. A kis- és nagybetű érzékenységi jelző nem lehet letiltani olyan könyvtárban, amely mappákat/fájlokat tartalmaz, és amelyek neve csak a kis- és nagybetű különbségében tér el.

Kis- és nagybetű-érzékenység öröklése

Új könyvtárak létrehozásakor ezek a könyvtárak öröklik a kis- és nagybetűk érzékenységét a szülőkönyvtárától.

Figyelmeztetés

Ez az öröklési szabályzat kivételt jelent a WSL 1 módban való futtatáskor. Ha egy disztribúció WSL 1 módban fut, a könyvtárankénti kis- és nagybetű-érzékenységi jelző nem öröklődik; a kis- és nagybetű-érzékeny könyvtárakban létrehozott könyvtárak maguktól nem lesznek automatikusan kis- és nagybetű-érzékenyek. Minden könyvtárat külön kell megjelölnie a kis- és nagybetűk megkülönböztetéseként

A WSL konfigurációs fájlban a meghajtó csatlakoztatásának kis- és nagybetű érzékenységi beállításai

A kis- és nagybetűk érzékenysége akkor kezelhető, ha a WSL konfigurációs fájl használatával csatlakoztat egy meghajtót a Linux Windows alrendszeréhez. Minden telepített Linux-disztribúció rendelkezhet saját WSL-konfigurációs fájllal, amelynek neve /etc/wsl.conf. A meghajtó csatlakoztatásával kapcsolatos további információkért lásd: Hogyan kezdjük el a Linux-lemez csatlakoztatását a WSL 2-ben.

A kis- és nagybetűérzékenységi opció beállítása a wsl.conf fájlban, amikor meghajtót csatlakoztat:

  1. Nyissa meg a használni kívánt Linux-disztribúciót (azaz. Ubuntu).
  2. Változtassa a munkakönyvtárt, amíg meg nem találja a etc mappát (ehhez lehet, hogy a cd .. könyvtárból home fel kell mennie).
  3. Listázhatja a etc könyvtárban lévő fájlokat, hogy lássa, létezik-e már wsl.conf fájl (használja a ls parancsot, vagy explorer.exe . a címtár windowsos fájlkezelővel való megtekintéséhez).
  4. Ha a wsl.conf fájl még nem létezik, a következővel hozhatja létre: sudo touch wsl.conf vagy sudo nano /etc/wsl.conffuttatásával, amely a Nano-szerkesztőből való mentéskor hozza létre a fájlt.
  5. A következő lehetőségek állnak rendelkezésre a wsl.conf fájlba való felvételhez:

Alapértelmezett beállítás: off ha a kis- és nagybetűk érzékenysége nem érhető el (a felcsatolt NTFS-meghajtókon lévő összes könyvtár kis- és nagybetűérzéketlen lesz).

[automount]
options = case = off

A kis- és nagybetűk érzékenységének engedélyezése könyvtáronként: dir

[automount]
options = case = dir

Az (NTFS) meghajtó minden könyvtárát kis- és nagybetű-érzékenyként kezelje: force

[automount]
options = case = force

Ez a beállítás csak WSL 1-ként futó Linux-disztribúciók meghajtóinak csatlakoztatása esetén támogatott, és regisztrációs kulcsot igényelhet. Regisztrációs kulcs hozzáadásához használja ezt a parancsot egy rendszergazdai parancssorból: reg.exe add HKLM\SYSTEM\CurrentControlSet\Services\lxss /v DrvFsAllowForceCaseSensitivity /t REG_DWORD /d 1.

A módosítások érvénybe lépéséhez újra kell indítania a WSL-t, miután módosította a wsl.conf fájlt. A WSL a következő paranccsal indítható újra: wsl --shutdown

Borravaló

Ha csatlakoztatni szeretne egy meghajtót (amely a DrvFs fájlrendszer beépülő modullal teszi elérhetővé a lemezt az /mnt alatt, például /mnt/c, /mnt/d stb.) az ÖSSZES meghajtóhoz megadott kis- és nagybetűk érzékenységi beállításával, használja a fent leírt /etc/wsl.conf. Egy adott meghajtó alapértelmezett csatlakoztatási beállításainak megadásához használja a /etc/fstab fájl a beállítások megadásához. További WSL-konfigurációs beállításokért lásd: Disztribúciónkénti indítási beállítások konfigurálása wslconf.

A kis- és nagybetűk érzékenységének módosítása WSL-disztribúcióhoz csatlakoztatott meghajtón

A WSL-disztribúcióhoz csatlakoztatott NTFS formátumú meghajtók alapértelmezés szerint nem érzékenyek a kis- és nagybetűkre. A WSL-disztribúcióhoz (például Ubuntu) csatlakoztatott meghajtón lévő könyvtár kis- és nagybetű-érzékenységének módosításához kövesse a fent leírt lépéseket a Windows fájlrendszerhez. (Az EXT4-meghajtók alapértelmezés szerint megkülönböztetik a kis- és nagybetűk értékét).

Ha engedélyezni szeretné a kis- és nagybetűk érzékenységét egy könyvtárban (FOO ≠ foo), használja a következő parancsot:

fsutil.exe file setCaseSensitiveInfo <path> enable

Ha le szeretné tiltani a kis- és nagybetűk érzékenységét egy könyvtárban, és vissza szeretne térni a kis- és nagybetűk érzéketlen alapértelmezett értékére (FOO = foo), használja a következő parancsot:

fsutil.exe file setCaseSensitiveInfo <path> disable

Jegyzet

Ha módosítja a kis- és nagybetűket megkülönböztető jelzőt egy csatlakoztatott meghajtó meglévő könyvtárában, miközben a WSL fut, győződjön meg arról, hogy a WSL nem hivatkozik erre a könyvtárra, különben a módosítás nem lesz érvényes. Ez azt jelenti, hogy a címtárat semmilyen WSL-folyamat nem nyithatja meg, beleértve a címtár (vagy leszármazottai) aktuális munkakönyvtárként való használatát is.

Kis- és nagybetűk érzékenységének konfigurálása a Gittel

A Git verziókövetési rendszere konfigurációs beállítással is rendelkezik, amellyel módosíthatja a használt fájlok kis- és nagybetűk érzékenységét. Ha Gitet használ, érdemes lehet módosítania a git config core.ignorecase beállítást.

Ha a Gitet kis- és nagybetűk megkülönböztetésére (FOO.txt ≠ foo.txt) szeretné beállítani, írja be a következőt:

git config core.ignorecase false

Ha a Gitet kis- és nagybetűk érzéketlennek (FOO.txt = foo.txt) szeretné beállítani, írja be a következőt:

git config core.ignorecase true

Ha ezt a beállítást hamis értékre állítja egy kis- és nagybetűket nem érzékevényes fájlrendszerben, zavaró hibákhoz, hamis ütközésekhez vagy duplikált fájlokhoz vezethet.

További információ: Git Config dokumentáció.

Hibaelhárítás

A címtáramban olyan vegyes kis- és nagybetűs fájlok találhatók, amelyeknél meg kell különböztetni a kis- és nagybetűket, de a Windows FS-eszközök nem ismerik fel ezeket a fájlokat.

Ha a Windows fájlrendszer eszközeivel szeretne dolgozni egy Linux-könyvtáron, ami vegyes kis- és nagybetűs fájlokat tartalmaz, létre kell hoznia egy teljesen új könyvtárat, be kell állítania, hogy különböztesse meg a kis- és nagybetűket, majd a fájlokat ebbe a könyvtárba kell másolnia (például git clone vagy untar használatával). A fájlok vegyesek maradnak. (Vegye figyelembe, hogy ha már megpróbálta áthelyezni a fájlokat egy kis- és nagybetűket érzéketlen könyvtárba, és ütközések voltak, valószínűleg voltak olyan fájlok, amelyeket felülírtak, és a továbbiakban nem lesznek elérhetők.)

Hiba: A könyvtár nem üres

Más fájlokat vagy könyvtárakat tartalmazó könyvtárban nem módosíthatja a kis- és nagybetű érzékenységi beállítást. Hozzon létre egy új könyvtárat, módosítsa a beállítást, majd másolja bele a vegyes esetű fájlokat.

Hiba: Hozzáférés megtagadva

Győződjön meg arról, hogy rendelkezik az "Írási attribútumok", a "Fájlok létrehozása", a "Mappák létrehozása" és az "Almappák és fájlok törlése" engedélyekkel a kis- és nagybetűérzékenység módosításához szükséges könyvtárban. A beállítások ellenőrzéséhez nyissa meg a könyvtárat a Windows Fájlkezelőben (parancssorból használja a következő parancsot: explorer.exe .). Kattintson a jobb gombbal a könyvtárra, és válassza a Tulajdonságok lehetőséget a Dokumentum tulajdonságai ablak megnyitásához, majd válassza a Szerkesztés lehetőséget a címtár engedélyeinek megtekintéséhez vagy módosításához.

Tulajdonságok ablak az NTFS-címtárak engedélyeinek megtekintéséhez vagy módosításához

Hiba: Ehhez a művelethez helyi NTFS-kötetre van szükség

A kis- és nagybetű érzékenységi attribútuma csak NTFS formátumú fájlrendszer könyvtárain állítható be. A WSL (Linux) fájlrendszer könyvtárai alapértelmezés szerint megkülönböztetik a kis- és nagybetűket (és nem állíthatók be érzéketlennek a fsutil.exe eszközzel).

További erőforrások