2

сценарий

У меня есть NAS (Synology DS1813+ на основе DSM 4.3). Он работает под управлением версии linux, поэтому файловая система (предположительно) чувствительна к регистру. Я получаю доступ к NAS с 2 компьютерами. Один из них работает под управлением Windows 7 (файловая система без учета регистра) и подключается к NAS через общий сетевой ресурс. Другой работает на Linux Mint (чувствительная к регистру файловая система) и монтирует NAS с CIFS.

Я подключил цифровую камеру (Canon 7D) к компьютеру под управлением Windows и импортировал изображения с камеры в NAS через общий сетевой ресурс. Изображения, хранящиеся на NAS, имеют расширения в верхнем регистре (IMG_8835.JPG).

Позже, на компьютере с Linux, я попытался переименовать эти образы, чтобы расширения были в нижнем регистре со следующими командами и выводом:

$ find . -name '*.*' -exec sh -c 'a=$(echo {} | sed -r "s/([^.]*)\$/\L\1/"); [ "$a" != "{}" ] && mv "{}" "$a" ' \;
mv: ‘./IMG_8835.JPG’ and ‘./IMG_8835.jpg’ are the same file

а также:

$ rename s/.JPG/.jpg/ *.JPG
IMG_8835.JPG not renamed: IMG_8835.jpg already exists

Это указывает на то, что файловая система нечувствительна к регистру. Правильный?

Дополнительно я попробовал:

$ rename -f s/.JPG/.jpg/ *.JPG

Вывод этой команды был пустым, поэтому я подозревал, что она работает. Но потом, когда я просмотрел файлы, они все еще имели расширение в верхнем регистре. Файлы не дублируются. Нет файлов типа *.jpg . Они все еще *.JPG .


Вопросы

  1. Есть ли командная строка (команда bash), которая сообщит о чувствительности к регистру как локальной, так и удаленной файловой системы?
  2. Похоже, файловая система нечувствительна к регистру. Это сбивает с толку меня. Как это может быть? И удаленная файловая система на NAS, и локальная файловая система на компьютере под управлением Linux являются (предположительно) чувствительными к регистру файловыми системами.
  3. Возможно ли, что даже если файловая система NAS (предположительно) чувствительна к регистру, поскольку папки и файлы были созданы на NAS из Windows, когда NAS был подключен через сетевой ресурс, созданные в Windows файлы и папки не чувствительны к регистру? Если да, можно ли изменить регистр чувствительности созданных Windows объектов при подключении к NAS из коробки Linux?

ПРИМЕЧАНИЕ. Этот вопрос не является дубликатом этого вопроса, потому что он задает вопрос о чувствительности к регистру файловой системы, а не о том, как массово переименовывать файлы.

1 ответ1

1

Друг указал мне на это. Связанная статья имеет длину 8 страниц, но она многословна в своем объяснении. Краткая версия ответа:

... And that brings me to what I really want to discuss, which is how 
CIFS Server (Samba) deals with this.

As you would expect from an application that was grown to bridge 
the gap between the Unix and Windows worlds, it is very flexible. 
This is both good and bad - with flexibility comes responsibility, 
and sometimes not a little confusion. There are four configuration 
options that Samba provides to allow one to define its behavior 
when dealing with matters of 'case': 

preserve case = (yes/no) 
short preserve case = (yes/no) 
default case = (upper/lower) 
case sensitive = (yes/no)

Решение состоит в том, чтобы настроить Samba для обработки чувствительности к регистру (или проблем с сохранением регистра) таким образом, чтобы он отвечал вашим конкретным потребностям.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .