Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
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:
- Nyissa meg a használni kívánt Linux-disztribúciót (azaz. Ubuntu).
- Változtassa a munkakönyvtárt, amíg meg nem találja a
etcmappát (ehhez lehet, hogy acd ..könyvtárbólhomefel kell mennie). - Listázhatja a
etckönyvtárban lévő fájlokat, hogy lássa, létezik-e márwsl.conffájl (használja alsparancsot, vagyexplorer.exe .a címtár windowsos fájlkezelővel való megtekintéséhez). - Ha a
wsl.conffájl még nem létezik, a következővel hozhatja létre:sudo touch wsl.confvagysudo nano /etc/wsl.conffuttatásával, amely a Nano-szerkesztőből való mentéskor hozza létre a fájlt. - A következő lehetőségek állnak rendelkezésre a
wsl.conffá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.
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
Windows Subsystem for Linux