Имя файла

Поделись знанием:
Перейти к: навигация, поиск

И́мя фа́йла — строка символов, однозначно определяющая файл в некотором пространстве имён файловой системы (ФС), обычно называемом каталогом, директорией или папкой. Имена файлов строятся по правилам, принятым в той или иной файловой и операционной системах (ОС). Многие системы позволяют назначать имена как обычным файлам, так и каталогам и специальным объектам (символическим ссылкам, блочным устройствам и т. п.).

Имя файла является частью полного имени файла, также называемого полным или абсолютным путём к файлу. Полное имя может включать следующие компоненты:

  • протокол или способ доступа (http, ftp, file и т. п.);
  • имя или адрес компьютера, узла сети (wikipedia.org, 207.142.131.206, \\MYCOMPUTER, SYS: и т. п.);
  • устройство хранения, диск (C:, /, SYSLIB и т. п.);
  • путь к каталогу (/usr/bin, \TEMP, [USR.LIB.SRC] и т. п.);
  • собственно имя файла, которое может содержать его расширение (.txt, .exe, .COM и т. п.);
  • версия или номер ревизии (perl6, ping6 и т. п.)[уточнить].

Имя файла необходимо для того, чтобы к файлу мог обратиться пользователь. В одном каталоге не может быть двух файлов с одинаковыми именами (некоторые файловые системы регистрозависимы, что оставляет возможность для создания файлов, имена которых отличаются регистром символов).

Имя файла обычно состоит из двух частей, разделенных точкой:

  • Название (до точки, часто также называют именем);
  • Расширение.




Имена файлов в разных системах

Полным, или абсолютным, называется имя файла, содержащее все директории до корня файловой системы. Относительные имена файлов не содержат полного пути и обычно привязываются к текущему каталогу.

Windows

Полное имя файла в Windows-системах состоит из буквы диска, после которого ставится двоеточие и обратная наклонная черта (обратный слеш), затем через обратные слеши перечисляются подкаталоги, в конце пишется имя файла. Пример:

C:\Windows\System32\calc.exe

Полное имя файла (включая расширение) в Windows может содержать до 260 символов, данное значение определено константой MAX_PATH в Windows API; например, полное имя файла максимально допустимой длины на диске C будет таким: «C:\<256 символов>NULL» (например, «C:\<254 символа>\<1 символ>NULL»). Однако, юникодовые версии некоторых функций позволяют использовать полные имена файлов длиной до 32767 символов, такие имена начинаются с префикса «\\?\». Пример:

\\?\C:\Windows\System32\calc.exe

При использовании префикса «\\?\» необходимо указывать абсолютный путь к файлу, относительные пути не допускаются. При использовании относительных путей максимальная длина полного имени файла определена константой MAX_PATH (260 символов).

UNIX

В UNIX и UNIX-подобных системах полный путь состоит из слеша (/), обозначающего корневой каталог, после которого через слеши перечисляются подкаталоги, в конце пишется имя файла. Пример:

/usr/local/bin/gcc

Пути, начинающиеся не с косой черты, считаются относительными и отсчитываются относительно рабочего каталога. Пример:

../mc при нахождении в каталоге /etc/apache2 эквивалентно /etc/mc.

Особое значение у путей, которые начинаются с тильды (~). Тильда обозначает домашнюю директорию текущего или указанного пользователя. Пример:

~/Desktop для пользователя user во многих системах и случаях эквивалентно /home/user/Desktop[1]
~admin/passwords для любого пользователя равносильно /home/admin/passwords[1]
~root/test для любого пользователя — то же самое, что и /root/test[1], потому что суперпользователь (root) имеет особую домашнюю директорию.

  1. 1 2 3 Для директории каждого пользователя в современных ОС может быть настроен произвольный путь.

Запрещённые символы

Многие операционные системы запрещают использование некоторых служебных символов.

Запрещённые символы Windows (в различных версиях):

  • \ — разделитель подкаталогов
  • / — разделитель ключей командного интерпретатора
  • : — отделяет букву диска или имя альтернативного потока данных
  • * — заменяющий символ (маска «любое количество любых символов»)
  • ? — заменяющий символ (маска «один любой символ»)
  • " — используется для указания путей, содержащих пробелы
  • < — перенаправление ввода
  • > — перенаправление вывода
  • | — обозначает конвейер
  • + — (в различных версиях) конкатенация

Частично запрещённые символы Windows:

  • пробел — не допускается в конце имени файла;
  • . — не допускается в конце имени файла кроме имён каталогов, состоящих из точек и доступа с префиксом «\\?\».

Символы, вызывающие проблемы в широко распространённых компонентах:

  • % — в Windows используется для подстановки переменных окружения в интерпретаторе команд, вызывает проблемы при открытии файла через стандартный диалог открытия файла;
  • ! — в Windows используется для подстановки переменных окружения в интерпретаторе команд, в bash используется для доступа к истории[1];
  • @ — в интерпретаторах команд вызывает срабатывание функций, предназначенных для почты.

В именах файлов UNIX и некоторых UNIX-подобных ОС запрещен слеш (/) — разделитель подкаталогов — и символ конца C-строки (\0). Перечисленные выше символы (кроме слеша) использовать можно, но из соображений совместимости их лучше избегать.

Расширение имени файла

Расширение имени файла (англ. filename extension, часто говорят просто расширение файла или расширение) — последовательность символов, добавляемых к имени файла и предназначенных для идентификации типа (формата) файла. Это один из распространённых способов, с помощью которых пользователь или программное обеспечение компьютера может определить тип данных, хранящихся в файле. Расширение отделяется от основной части имени файла последней точкой. Иногда могут использоваться несколько расширений, следующих друг за другом, например, «.tar.gz».

ОС или менеджер файлов могут устанавливать соответствия между расширениями файлов и приложениями. Когда пользователь открывает файл с зарегистрированным расширением, автоматически запускается соответствующая этому расширению программа. Некоторые расширения могут показывать, что файл является исполняемым (в Windows).

См. также

Напишите отзыв о статье "Имя файла"

Литература

  • Робачевский А. Н., Немнюгин С. А., Стесик О. Л. Имен файлов / Базовая файловая система System V / Глава 4. Файловая система // Операционная система UNIX. — 2-е изд. — СПб.: БХВ-Петербург, 2008. — С. 338—339. — 656 с. — ISBN 978-5-94157-538-1.


  1. Вызывает проблему в команде вида
    echo "$(ls 'Привет мир!')"
    . Рабочий вариант команды:
    echo "$(ls 'Привет мир'\!)"
    .

Отрывок, характеризующий Имя файла

– Мне сказали, что ты велел закладывать, – сказала она, запыхавшись (она, видно, бежала), – а мне так хотелось еще поговорить с тобой наедине. Бог знает, на сколько времени опять расстаемся. Ты не сердишься, что я пришла? Ты очень переменился, Андрюша, – прибавила она как бы в объяснение такого вопроса.
Она улыбнулась, произнося слово «Андрюша». Видно, ей самой было странно подумать, что этот строгий, красивый мужчина был тот самый Андрюша, худой, шаловливый мальчик, товарищ детства.
– А где Lise? – спросил он, только улыбкой отвечая на ее вопрос.
– Она так устала, что заснула у меня в комнате на диване. Ax, Andre! Que! tresor de femme vous avez, [Ax, Андрей! Какое сокровище твоя жена,] – сказала она, усаживаясь на диван против брата. – Она совершенный ребенок, такой милый, веселый ребенок. Я так ее полюбила.
Князь Андрей молчал, но княжна заметила ироническое и презрительное выражение, появившееся на его лице.
– Но надо быть снисходительным к маленьким слабостям; у кого их нет, Аndre! Ты не забудь, что она воспитана и выросла в свете. И потом ее положение теперь не розовое. Надобно входить в положение каждого. Tout comprendre, c'est tout pardonner. [Кто всё поймет, тот всё и простит.] Ты подумай, каково ей, бедняжке, после жизни, к которой она привыкла, расстаться с мужем и остаться одной в деревне и в ее положении? Это очень тяжело.
Князь Андрей улыбался, глядя на сестру, как мы улыбаемся, слушая людей, которых, нам кажется, что мы насквозь видим.
– Ты живешь в деревне и не находишь эту жизнь ужасною, – сказал он.
– Я другое дело. Что обо мне говорить! Я не желаю другой жизни, да и не могу желать, потому что не знаю никакой другой жизни. А ты подумай, Andre, для молодой и светской женщины похорониться в лучшие годы жизни в деревне, одной, потому что папенька всегда занят, а я… ты меня знаешь… как я бедна en ressources, [интересами.] для женщины, привыкшей к лучшему обществу. M lle Bourienne одна…
– Она мне очень не нравится, ваша Bourienne, – сказал князь Андрей.
– О, нет! Она очень милая и добрая,а главное – жалкая девушка.У нее никого,никого нет. По правде сказать, мне она не только не нужна, но стеснительна. Я,ты знаешь,и всегда была дикарка, а теперь еще больше. Я люблю быть одна… Mon pere [Отец] ее очень любит. Она и Михаил Иваныч – два лица, к которым он всегда ласков и добр, потому что они оба облагодетельствованы им; как говорит Стерн: «мы не столько любим людей за то добро, которое они нам сделали, сколько за то добро, которое мы им сделали». Mon pеre взял ее сиротой sur le pavе, [на мостовой,] и она очень добрая. И mon pere любит ее манеру чтения. Она по вечерам читает ему вслух. Она прекрасно читает.
– Ну, а по правде, Marie, тебе, я думаю, тяжело иногда бывает от характера отца? – вдруг спросил князь Андрей.
Княжна Марья сначала удивилась, потом испугалась этого вопроса.
– МНЕ?… Мне?!… Мне тяжело?! – сказала она.
– Он и всегда был крут; а теперь тяжел становится, я думаю, – сказал князь Андрей, видимо, нарочно, чтоб озадачить или испытать сестру, так легко отзываясь об отце.
– Ты всем хорош, Andre, но у тебя есть какая то гордость мысли, – сказала княжна, больше следуя за своим ходом мыслей, чем за ходом разговора, – и это большой грех. Разве возможно судить об отце? Да ежели бы и возможно было, какое другое чувство, кроме veneration, [глубокого уважения,] может возбудить такой человек, как mon pere? И я так довольна и счастлива с ним. Я только желала бы, чтобы вы все были счастливы, как я.
Брат недоверчиво покачал головой.
– Одно, что тяжело для меня, – я тебе по правде скажу, Andre, – это образ мыслей отца в религиозном отношении. Я не понимаю, как человек с таким огромным умом не может видеть того, что ясно, как день, и может так заблуждаться? Вот это составляет одно мое несчастие. Но и тут в последнее время я вижу тень улучшения. В последнее время его насмешки не так язвительны, и есть один монах, которого он принимал и долго говорил с ним.
– Ну, мой друг, я боюсь, что вы с монахом даром растрачиваете свой порох, – насмешливо, но ласково сказал князь Андрей.
– Аh! mon ami. [А! Друг мой.] Я только молюсь Богу и надеюсь, что Он услышит меня. Andre, – сказала она робко после минуты молчания, – у меня к тебе есть большая просьба.
– Что, мой друг?
– Нет, обещай мне, что ты не откажешь. Это тебе не будет стоить никакого труда, и ничего недостойного тебя в этом не будет. Только ты меня утешишь. Обещай, Андрюша, – сказала она, сунув руку в ридикюль и в нем держа что то, но еще не показывая, как будто то, что она держала, и составляло предмет просьбы и будто прежде получения обещания в исполнении просьбы она не могла вынуть из ридикюля это что то.
Она робко, умоляющим взглядом смотрела на брата.
– Ежели бы это и стоило мне большого труда… – как будто догадываясь, в чем было дело, отвечал князь Андрей.
– Ты, что хочешь, думай! Я знаю, ты такой же, как и mon pere. Что хочешь думай, но для меня это сделай. Сделай, пожалуйста! Его еще отец моего отца, наш дедушка, носил во всех войнах… – Она всё еще не доставала того, что держала, из ридикюля. – Так ты обещаешь мне?
– Конечно, в чем дело?
– Andre, я тебя благословлю образом, и ты обещай мне, что никогда его не будешь снимать. Обещаешь?
– Ежели он не в два пуда и шеи не оттянет… Чтобы тебе сделать удовольствие… – сказал князь Андрей, но в ту же секунду, заметив огорченное выражение, которое приняло лицо сестры при этой шутке, он раскаялся. – Очень рад, право очень рад, мой друг, – прибавил он.
– Против твоей воли Он спасет и помилует тебя и обратит тебя к Себе, потому что в Нем одном и истина и успокоение, – сказала она дрожащим от волнения голосом, с торжественным жестом держа в обеих руках перед братом овальный старинный образок Спасителя с черным ликом в серебряной ризе на серебряной цепочке мелкой работы.
Она перекрестилась, поцеловала образок и подала его Андрею.
– Пожалуйста, Andre, для меня…
Из больших глаз ее светились лучи доброго и робкого света. Глаза эти освещали всё болезненное, худое лицо и делали его прекрасным. Брат хотел взять образок, но она остановила его. Андрей понял, перекрестился и поцеловал образок. Лицо его в одно и то же время было нежно (он был тронут) и насмешливо.
– Merci, mon ami. [Благодарю, мой друг.]
Она поцеловала его в лоб и опять села на диван. Они молчали.
– Так я тебе говорила, Andre, будь добр и великодушен, каким ты всегда был. Не суди строго Lise, – начала она. – Она так мила, так добра, и положение ее очень тяжело теперь.
– Кажется, я ничего не говорил тебе, Маша, чтоб я упрекал в чем нибудь свою жену или был недоволен ею. К чему ты всё это говоришь мне?
Княжна Марья покраснела пятнами и замолчала, как будто она чувствовала себя виноватою.