Ubuntu слишком длинное имя файла

Обновлено: 29.06.2024

As with other file managers, you can use Files to change the name of a file or folder.

Чтобы переименовать файл или папку:

Нажмите на объект правой кнопкой и выберите Переименовать или выберите файл и нажмите клавишу F2 .

Type the new name and press Enter or click Rename .

Можно также переименовать файл из окна его свойств .

When you rename a file, only the first part of the name of the file is selected, not the file extension (the part after the last . ). The extension normally denotes what type of file it is (for example, file.pdf is a PDF document), and you usually do not want to change that. If you need to change the extension as well, select the entire file name and change it.

If you renamed the wrong file, or named your file improperly, you can undo the rename. To revert the action, immediately click the menu button in the toolbar and select Undo Rename , or press Ctrl + Z , to restore the former name.

Символы, допустимые в именах файлов

You can use any character except the / (slash) character in file names. Some devices, however, use a file system that has more restrictions on file names. Therefore, it is a best practice to avoid the following characters in your file names: | , \ , ? , * , < , " , : , > , / .

If you name a file with a . as the first character, the file will be hidden when you attempt to view it in the file manager.

Типичные проблемы

You cannot have two files or folders with the same name in the same folder. If you try to rename a file to a name that already exists in the folder you are working in, the file manager will not allow it.

Имена файлов и папок чувствительны к регистру символов, поэтому File.txt и FILE.txt — это два разных имени. Использовать имена файлов, различающиеся только регистром символов разрешается, но не рекомендуется.

Слишком длинное имя файла

On some file systems, file names can have no more than 255 characters in their names. This 255 character limit includes both the file name and the path to the file (for example, /home/wanda/Documents/work/business-proposals/… ), so you should avoid long file and folder names where possible.

Команда переименования неактивна

Если команда Переименовать недоступна, значит у вас нет прав на переименование файла. Следует соблюдать осторожность при переименовании подобных файлов, так как переименование некоторых защищённых файлов может привести к нестабильности системы. Подробнее смотрите Настройка прав доступа к файлам .

Дополнительная информация

You can choose the displayed language by adding a language suffix to the web address so it ends with e.g. .html.en or .html.de.
If the web address has no language suffix, the preferred language specified in your web browser's settings is used. For your convenience:
[ Change to English Language | Change to Browser's Preferred Language ]

The material in this document is available under a free license, see Legal for details.
For information on contributing see the Ubuntu Documentation Team wiki page. To report errors in this documentation, file a bug.


Укоротить длинные имена до размера K символов, а те имена, которые короче K символов дополнить восклицательными знаками
Дан список из N имён. Необходимо укоротить длинные имена до размера K символов, а те имена, которые.

Длинные имена файлов
вот например есть файл с длинным именем

150 знаков если попробовать скопировать его в другую папку.


Длинные имена файлов
Здравствуйте. Подскажите, можно ли решить проблему. Решил систематизировать все файлы на рабочем.

Длинные имена исходных файлов
Доброго времени суток. Опишу суть проблемы: поймал в систему какую-то гадость. Перед тем, как.

создай временно папки с максимально короткими именами, монтируй разделы именно в них, и копируй Dmitry, всмысле монтируй в них, у меня данные на другом буке. Я их скопировал на хард, на харде NTFS (всё норма скопировалось).
Задача такова, как с NTFS скопировать файлы на ext4 Ubuntu 12.04 с длинными именами.
одно интересно: до этого на 13.04 тоже /home был ext4 и там файлы нормально копировались. Dmitry, ну всё правильно, у меня данные на другом буке и я их скопировал на хард, чтобы перенести на бук и где теперь этот хард?
подключен к ноуту через какой-то переходник и смонтирован в какую-то папку?

Dmitry, да он подключен и смонтирован в /mnt

Добавлено через 1 час 25 минут
Dmitry, ваш способо не робит, заменил /media/SAMSUNG на /mnt, а результата ноль. Также пробывал в /home монтировать, тоже не к чему не привело, ошибка осталось. Неужели под 12.04 нет поддержки длинных имён

танкист34, таки сократите уже самые длинные названия папок. Dmitry, ну больше 64 символов вроде уже ошибка(русских) цифр можно и больше. Система выдаёт, что слишком длинное имя файла. Dmitry, у меня пишет не возможно выполнить touch для "здесь длинное имя в 123 символа"
: Слишком длинное имя файла.
О чём я выше и говорил. Такая же ошибка и в UI

Dmitry, Я так понимаю, что у чела проблема в длинных именах каталогов и вложенных каталогов: Абсолютное имя файла (включая имена путей) получается слишком длинным.
Где-то давненько читал, что в NTFS максимальная длина имени равна 1024. Похоже, что это проявление данного ограничения - в общую длину имени файла вписываются и пути до него (не зря же нельзя использовать, например, символ "/" в имени файла!).
Ещё раз повторюсь: урежьте длину имён каталогов и собственно файла: совсем не обязательно в название пихать половину содержимого. И да, краткость - сестра таланта.

Чёт вспомнилось: "Сказка о царе Салтане, о сыне его славном и могучем богатыре князе Гвидоне и о прекрасной царевне-лебеди" (с) Пушкин, А.С.

Есть ли какие-либо ограничения на длину файла или пути в Linux?

Вот некоторые ограничения длины имени файла в популярных файловых системах:

ответ: ограничение обычно составляет 255 символов (для тех, кому лень Ваш ответ должен содержать хотя бы краткое изложение соответствующей информации, представленной в указанной ссылке. Не просто ссылка. @rahmanisback подходит для ограничений имени файла, в то время как ограничения пути обычно определяются ОС, а не FS (за исключением некоторых странных FS, таких как iso или ntfs), а в Linux это 4K Просто указываю: байты! = Символы, особенно если вы используете UTF-8. Смотрите здесь .

Я читал здесь, что ограничение длины пути в системных заголовках. Ограничение длины имени файла тоже там. В моей системе это файл:

и C-lang определяет:

Извините, но я новичок здесь, даже не могу комментировать, кроме голосования. Предыдущий ответ (по sfp) должен быть повышен, так как он полностью отвечает на вопрос, в то время как остальные частично отключены. Опять же, извините за то, что вы пошли помимо правил, но я не могу молчать, когда лучший ответ внизу. Просто указываю: байты! = Символы, особенно если вы используете UTF-8. Смотрите здесь . @ DavidBalažic: Несмотря на то, что PATH_MAX в Linux является верным указанием, большинство базовых файловых систем не имеют ограничений. Это затрудняет ссылки на пути, размер которых превышает этот размер. Я обычно использую "куски" PATH_MAX в качестве размера.

Я имею в виду другие ответы, пожалуйста, проголосуйте за них.

Есть ли какие-либо ограничения на длину файла или пути в Linux?

Да, длина имени файла и пути ограничена:

    указанные WerkkreW ;
  • константы, определенные linux/limits.h как указано sfp .

Чтобы динамически получить эти свойства:

  • Используйте функции pathconf и fpathconf как предложено Майклом Аароном Сафяном
  • Создайте имя файла (или путь к файлу ) длиннее и длиннее, как объяснено dogbane

Используйте команду, getconf предложенную Тимом, которая также доступна в Linux:

И ради экономии времени (и привязки его к памяти):

ext2, ext3, ext4, zfs: без ограничений пути; Ограничение имени файла 255 байт.

Однако большинство программ ограничены абсолютными путями PATH_MAX = 4096 . Это можно обойти, если ваша программа может использовать относительные пути и вы сначала измените свой рабочий каталог. Это связано с тем, что на различные API POSIX, такие как getcwd и realpath (которые можно переопределить в коде пользовательского пространства, читая метаданные, . а затем изменяя их .. и повторяя до тех пор, пока вы не достигнете корня файловой системы), положитесь PATH_MAX . ( Источник )

Это длины имен файловых систем. У самого "linux" тоже есть. Например, из бит / stdio_lim.h:

Таким образом, поскольку файловые системы extX имеют более низкий предел имени файла, чем то, что определено в ядре, вы никогда не достигнете этого предела, если только он также не включает имена путей, верно? вот как это выглядит для меня. Есть также PATH_MAX для пути, который равен 4096, так что он будет достигнут до "неограниченного" размера пути на exts . Я не уверен, как ОС разрешает свои собственные внутренние ограничения и ограничения FS, никогда не было мои руки в этом глубоко. интересный вопрос, хотя. 4096 символов - это чертово имя пути. Я уверен, что это можно было бы сделать с помощью перекомпиляции, но, честно говоря, / зачем вам такие длинные имена путей? / Я не уверен, что вам это понадобится или нет. Я рассматриваю это больше как защиту от вредоносных или небрежных программ (я легко мог увидеть скрипт, который ведет себя плохо и начинает рекурсивно создавать тот же каталог. На самом деле, я создал этот скрипт, но он перенаправлял веб-сайт, а не создавал каталоги). . ). @AveryPayne Чтобы добавить теги к файлам, чтобы их можно было искать с помощью простого locate .

Там нет никакого способа , чтобы определить максимальную длину путей на Linux переносимым способом. В моей системе:

Но я могу легко создавать пути намного длиннее, чем 4096 символов. Вместо этого смотрите PATH_MAX как нижнюю границу. Вы гарантированно сможете создавать пути так долго, но вы также можете создавать гораздо более длинные.

У меня есть архив rar, который я скачал, за исключением того, что некоторые имена файлов слишком длинные, чтобы быть созданными в Ubuntu. Как я могу извлечь все файлы?

Менеджер архивов по умолчанию в Ubuntu просматривает большинство файлов, завершает работу с ошибками и удаляет всю папку. Арк извлекает их и молча терпит неудачу на именах, которые являются слишком длинными.

3 ответа 3

Обычное ограничение файловой системы в 255 символов применяется к уникальным именам файлов или каталогов, а не к их полному пути. Так что распаковка в /a не поможет. Проблема в том, что формат файла RAR позволяет архиву содержать файлы, имя которых может превышать 255 символов.

Вы можете обойти эту проблему, распечатав проблемный файл на стандартный вывод и перенаправив его в файл:

Это извлекает слишком длинное имя файла из archive.rar в файл с именем более короткое имя.

Вы можете попробовать и сократить путь, с которым он должен работать . в оболочке, то есть:

(убедитесь, что у вас sudo su - в Ubuntu, иначе у вас не будет достаточно прав для записи в корневой каталог.)

вместо того, чтобы пытаться извлечь файлы в какой-либо каталог, такой как /long/directory/name/some/path/where/fish/live/ . вы должны иметь возможность извлечь их в короткий каталог вроде /a

оттуда . вы должны иметь возможность манипулировать своими файлами так, как вам нужно . и / или поместить их туда, куда они должны идти. Просто не забудьте очистить ваш / , удалив временный каталог.

У меня была эта проблема с mp3-файлами из Bandcamp - в их файлах есть имя исполнителя, название альбома и название песни в имени файла, поэтому иногда они становятся длиннее!

Мой обходной путь - использовать вариант "предварительного просмотра" Арка.

После того, как я выбрал поврежденный файл и выбрал "Предварительный просмотр", он начинает воспроизводиться в моем музыкальном проигрывателе (я использую Clementine). Затем я щелкаю правой кнопкой мыши по файлу в Clementine и нажимаю "показать в браузере файлов". Затем откроется окно обозревателя файлов, в котором будет отображаться временная папка, в которой хранится предварительно просматриваемый файл (если вы используете другой музыкальный проигрыватель без этой опции, возможно, вам просто нужно найти каталог вручную).

Затем я прекращаю воспроизведение песни, затем быстро переименовываю ее во временную директорию и вырезаю и вставляю туда, где я хочу.

Если вы работаете слишком медленно, файл исчезает из временного каталога, и вы должны начать заново.

Не знаю, если это будет работать для других типов файлов.

Надеюсь, что это поможет любому, кто пришел сюда из Google, как я. Как нетехника, я не понимал, что означает "печать проблемного файла на стандартный вывод", но этот обходной путь работает для меня!

Читайте также: