Jedną z wielu zalet systemów UNIX’owych jest ich umiejętność rozróżniania wielkość liter w plikach i folderach. Oznacza to po prostu, że w tych OS’ach np. plik test.txt oraz TEST.txt traktowane są jako dwa odrębne pliki, które mogą rezydować w tej samej lokalizacji.
Jak jeszcze nie wiecie o co mi chodzi macie screenshot z linuxa (openSUSE):
Jak widzicie, w katalogu Dokumenty stworzyłem dwa wyżej wymienione pliki i Linux nie widzi w tym żadnego problemu 😉
W Windows taka sama próba zakończy się monitem z prośbą o zmianę nazwy (bądź podobnym, w każdym razie system nie pozwoli nam na stworzenie dwóch tak samo nazywających się plików)Nie wiem czy zdajecie sobie sprawę, że 64 bitowy Windows 10 Pro natywnie wspiera aplikacje Linuxowe (chociaż to nad wyraz “dumnie” powiedziane, gdyż win 10 co prawda pozwala na uruchamianie narzędzi linuxowych, ale nie spodziewajcie się cudów…) Więc Winda musiała “nauczyć” się rozróżniania wielkości liter w plikach i folderach. Bez tego większość narzędzi pisanych pod Linux’a po prostu pogubi się w emulowanym środowisku…
Aby szybko włączyć podsystem w wierszu polecenia wklepcie:
DISM.exe /Online /Enable-Feature /All /FeatureName:Microsoft-Windows-Subsystem-Linux /NoRestart
Albo, korzystając z PowerShell:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
Po czym ponownie uruchamiamy komputer.
Przechodzimy do sedna. Wiosenna aktualizacja (April Update 2018) umożliwia nam nadanie folderom praw do rozróżniania wielkości liter za pomocą narzędzia fsutil, aby go wykorzystać uruchamiamy wiersz polecenia (albo powershell, tak jak na screenach) i wydajemy polecenie:
fsutil.exe file setCaseSensitiveInfo "lokalizacja" enable
Na moim przykładzie stworzyłem na dysku systemowym folder o nazwie test który rozróżniania wielkość liter w plikach i folderach, więc pozwolił mi dokładnie na to samo co pingwinek:
Warto zaznaczyć, że nadanie praw działa tylko na wybrany przez nas katalog. Wszystkie katalogi podrzędne które utworzymy w takim folderze nie będą posiadały tego “fejczeru”.
Aby przywrócić standardową funkcjonalność folderu wklepujemy polecenie:
fsutil.exe file setCaseSensitiveInfo "lokalizacja" disable
Na koniec podpowiem wam, że poleceniem:
fsutil.exe file queryCaseSensitiveInfo "lokalizacja"
Sprawdzamy czy wybrany folder rozróżnia wielkość liter w plikach i folderach.
4 komentarze
Ciekawostka dość interesująca, ale raczej nie przydałaby mi się ta opcja na co dzień.
Sam nie mam pojęcia, to wykorzystuje subsystem linuksowy i z tego co mi wiadomo M$ nie zamierza tego wprowadzić do powszechnego użytku.
No dobrze, ale jak to sensownie wykorzystać ? Myślę nad tym już 20 minut i nie mam pojęcia po co coś takiego w Winzgrozie ?
To nie jest zgrozie potrzebne ale subsystemowi linuksowemu. Traktuj ten wpis jako ciekawostkę.