Является ли ограничение в 255 символов для имен файлов в Windows и Unix полностью или частично?

Является ли ограничение в 255 символов для имен файлов в Windows NTFS и Unix полным или частью пути?то есть заданный c: \ part1 \ part2 имеет только part1, а part2 должен быть меньше 255 или это C: \ + part1 + part2А какие правила в Unix?
4 голоса | спросил Paul Taylor 24 Jpm1000000pmThu, 24 Jan 2013 16:00:55 +040013 2013, 16:00:55

3 ответа


0
В дополнение к ответам выше, вы также должны учитывать используемую файловую систему (ext2 и т. Д.).Там нет стандартного ответа для Unix.Linux обычно составляет 255 на компонент и либо 4096 для полного пути, либо неограниченный для пути.Другие варианты Unix используют другие ограничения.OSX с HFS + - это 255 имен файлов и либо 1024, либо неограниченный путь (я не могу найти однозначного ответа).Если вы не уверены, что вам нужно беспокоиться только о Linux, вы, вероятно, захотите сохранить общий путь на низком уровне, чтобы быть уверенным.Неплохая идея ограничить весь путь 255, если это возможно.Вам также может понадобиться учитывать, что файловые системы могут быть подключены к сети, а NFS, SMB и т. Д. Имеют свои собственные ограничения.Короткий ответ для Unix заключается в том, что нет короткого ответа и нет стандарта, и как операционная система, так и основная файловая система налагают ограничения.
ответил Jim Stewart 24 Jpm1000000pmThu, 24 Jan 2013 23:13:19 +040013 2013, 23:13:19
0
В Windows part 1 и part2 должны быть оба 255 или меньше, а весь c: \ part1 \ part2 должен быть 260 или меньше.Есть способ иметь более длинные имена файлов и пути в ядре WinNT (Windows 2000, XP и более поздние версии), но для этого требуется, чтобы приложения, которые обращаются к такому файлу, явно поддерживали такие имена файлов, поэтому в подавляющем большинстве случаев вы можете рассматривать ограничение 255/260 какжесткий предел.
ответил Eugene Mayevski 'Allied Bits 24 Jpm1000000pmThu, 24 Jan 2013 16:11:04 +040013 2013, 16:11:04
0
В системе Linux, part1 и part2 должны быть оба 255 (т.е. ---- +: = 0 =: + ---- ) или меньше, и весь путь должен быть 4096 (т.е. ---- +: = 1 =: + ---- ) или меньше.Использование PATH_MAX имеет недостатки, как описано здесь .
ответил itisravi 24 Jpm1000000pmThu, 24 Jan 2013 21:54:40 +040013 2013, 21:54:40

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132