Перейти к основному содержанию

Windows — регистрозависимые имена файлов и папок

Windows

Одной из особенностью операционной системы Windows всегда было то, что Windows не делала различий между верхним и нижнем регистром в именах файлов и папок.

Я регистронезависимая винда, и это хорошо. Я не буду регистрозависимой, но это не плохо...

В Linux, к примеру, это не так.

Чувствительность к регистру определяет, обрабатываются ли прописные (FOO.txt) и строчные буквы (foo.txt) как уникальные (с учетом регистра) или эквивалентные (без учета регистра) в имени файла или каталога. Стандартное поведение:

  • Файловая система Windows обрабатывает имена файлов и каталогов как без учета регистра. FOO.txt и foo.txt будут рассматриваться как эквивалентные файлы.
  • Файловая система Linux обрабатывает имена файлов и каталогов как чувствительные к регистру. FOO.txt и foo.txt будут рассматриваться как отдельные файлы.

Это создавало некоторые трудности при переносе денных между Windows и Linux. Если скопировать папку проекта из Windows в Linux, то она скопируется без проблем. А если скопировать папку с проектом из Linux в Windows, то не факт что скопируется...

win

Ситуация ещё больше усложнилась с появлением подсистемы Windows для Linux (WSL).

Windows Subsystem for Linux 2

Чтобы избежать подобных конфликтов в Windows 10 с апрельским обновлением 2018 года в файловой системе NTFS появился скрытый атрибут system.wsl_case_sensitive для учета регистра каталога, чтобы он распознал файлы и папки Linux, которые могут отличаться только по регистру. Значение этого атрибута будет равно 0 для каталогов без учета регистра и 1 для каталогов с учетом регистра.

При работе из WSL этот атрибут включается автоматически, при работе в Windows его можно включить с помощью утилиты fsutil.exe с правами администратора. Пример на PowerShell:

fsutil.exe file setCaseSensitiveInfo "C:\CASEit" enable

win

И тогда...

win

Каталог должен быть пустым, чтобы изменить атрибут флага конфиденциальности регистра в этом каталоге. Флаг конфиденциальности регистра нельзя отключить в каталоге, содержащем папки и файлы, имена которых отличаются только по регистру.

При создании новых каталогов эти каталоги наследуют чувствительность регистра от родительского каталога.

Ссылки

https://learn.microsoft.com/ru-ru/windows/wsl/case-sensitivity

Теги

 

Похожие материалы

Запуск графических приложений на сервере Oracle Linux 7.4 с удалённой Windows 10 машины

Иногда (или постоянно) сисадмину требуется запустить графическую программу на linux сервере. Сегодня будем запускать графический инсталлятор DB Oracle на сервере Oracle Linux 7.4

Теги

Средство проверки системных файлов Windows

Средство проверки системных файлов – это служебная программа в Windows, позволяющая пользователям проверять системные файлы на отсутствие повреждений и восстанавливать поврежденные системные файлы.

Теги