В Linux существует ограничение на длину имён файлов, потому что ядро внутри себя не имеет общей константы для ограничения длины имени файла. 1 NAME_MAX, которая задаёт этот предел, нужна только для программ. 1
Ограничения по размеру есть в файловых системах ядра. 1 Например, в ext3/4 для хранения длины имени файла оставлен 1 байт. 1 В некоторых системах ограничение жёсткое (ext4), в некоторых — номинальное (btrfs). 1
Так как в кодировке UTF-8 для кодирования русских букв используется два байта, то максимальная длина имени файла, состоящего из русских букв, фактически составляет 127 символов. 1
Полная длина пути к файлу (включая имя файла) не должна превышать 4096 байт. 3