Я использую Ubuntu 10 и быстро обнаруживаю, что он чувствителен к регистру, когда ему неудобно (например, при автозаполнении путей к файлам с помощью вкладки в терминале), но также нечувствителен к регистру при использовании команд MV и CP (также неудобно при попытке дублировать имя файла с другим регистром).
По сути, мне нужна эта команда для работы, но это не так.
cp ./filename.txt ./FileName.txt
Я просто заканчиваю с filename.txt
:
Как я могу получить один и тот же файл с другим регистром, но с тем же именем в том же каталоге?
РЕДАКТИРОВАТЬ: Комментарий Maerics ниже помог мне вспомнить, что я на самом деле разрабатываю на общем диске Windows, работающем с NTFS, который не чувствителен к регистру. Вот почему, хотя CP и MV не генерируют ошибку, файл не копируется (или, скорее всего, копируется, но Windows заменяет уже существующий).
Ответы:
NTFS 1 и VFAT не чувствительны к регистру, они просто сохраняют регистр. Это означает, что если вы создадите файл с именем
FileName.txt
, файловая система сохранит смешанное имя регистра, но вы можете получить доступ к файлу с любой комбинацией букв из тех же букв, напримерFILENAME.TXT
,filename.txt
илиfileNAME.txt
. Это объясняет, что вы не можете иметь два файла с одинаковым написанием, только с изменением верхнего / нижнего регистра в одном каталоге.Экспортируемая файловая система SMB должна реализовывать это поведение, чтобы не запутывать клиентов Windows.
ZFS может быть настроен на поведение со
casesensitivity=mixed
свойством.1 Технически NTFS чувствительна к регистру, но операционные системы, монтирующие файловые системы этого типа, почти всегда настроены так, чтобы скрыть эту базовую функцию и сохранить только регистр. Однако Windows может включить чувствительность к регистру с помощью изменения этого ключа реестра,
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\kernel\dword:ObCaseInsensitive
и Linux может монтировать эти файловые системы с различным поведением в зависимости от параметровignore_case
иwindows_names
параметров монтирования.источник
Вы можете включить регистронезависимое завершение имени файла в bash, добавив следующую строку
$HOME/.inputrc
:Относительно имен файлов: это зависит от файловой системы. В файловых системах Linux проблем быть не должно. В других файловых системах поведение можно контролировать с помощью параметров команды mount. См. Страницу руководства
mount(8)
для получения дополнительной информации о доступных опциях для монтирования.источник
Это свойство файловой системы или что-то еще?
Он отлично работает для меня.
источник
Ubuntu не чувствительна к регистру. Это всегда чувствительно к регистру.
filename.txt
иFilename.txt
два разных файла и могут быть размещены в одном каталоге. Итак, эта команда:будет работать без проблем в том же каталоге.
источник
filename.txt
текущей директории?