Расширение имени файла
- 1 year ago
- 0
- 0
И́мя фа́йла — строка символов, однозначно определяющая файл в некотором пространстве имён файловой системы (ФС), обычно называемом каталогом , директорией или папкой. Имена файлов строятся по правилам, принятым в той или иной файловой и операционной системах (ОС). Многие системы позволяют назначать имена как обычным файлам, так и каталогам и специальным объектам ( символическим ссылкам , блочным устройствам и т. п.).
Имя файла является частью полного имени файла , также называемого полным или абсолютным путём к файлу. Полное имя может включать следующие компоненты:
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 -системах состоит из буквы диска, после которого ставится двоеточие и обратная наклонная черта (обратный слеш), затем через обратные слеши перечисляются подкаталоги, в конце пишется имя файла. Пример:
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-подобных системах полный путь состоит из слеша (
/
), обозначающего корневой каталог, после которого через слеши перечисляются подкаталоги, в конце пишется имя файла. Пример:
/usr/local/bin/gcc
Пути, начинающиеся не с косой черты, считаются относительными и отсчитываются относительно рабочего каталога. Пример:
../mc
при нахождении в каталоге
/etc/apache2
эквивалентно
/etc/mc
.
Особое значение у путей, которые начинаются с
тильды
(
~
). Тильда обозначает
домашний каталог
текущего или указанного пользователя. Пример:
~/Desktop
для пользователя
user
во многих системах и случаях эквивалентно
/home/user/Desktop
~admin/passwords
для любого пользователя равносильно
/home/admin/passwords
~root/test
для любого пользователя — то же самое, что и
/root/test
, потому что
суперпользователь
(root) имеет особый домашний каталог.
Многие операционные системы запрещают использование некоторых служебных символов.
Запрещённые символы Windows (в различных версиях):
\
— разделитель подкаталогов
/
— разделитель ключей командного интерпретатора
:
— отделяет букву диска или имя альтернативного потока данных
*
— заменяющий символ (маска «любое количество любых символов»)
?
— заменяющий символ (маска «один любой символ»)
"
— используется для указания путей, содержащих пробелы
<
— перенаправление ввода
>
— перенаправление вывода
|
— обозначает
конвейер
+
— (в различных версиях)
конкатенация
Частично запрещённые символы Windows :
.
— не допускается в конце имени файла кроме имён каталогов, состоящих из точек и доступа с префиксом «\\?\».
Символы, вызывающие проблемы в широко распространённых компонентах:
%
— в
Windows
используется для подстановки переменных окружения в интерпретаторе команд, вызывает проблемы при открытии файла через стандартный диалог открытия файла;
!
— в
Windows
используется для подстановки переменных окружения в интерпретаторе команд, в
bash
используется для доступа к истории
;
@
— в интерпретаторах команд вызывает срабатывание функций, предназначенных для
почты
.
В именах файлов
UNIX
и некоторых UNIX-подобных ОС запрещен слеш (
/
) — разделитель подкаталогов — и символ конца
C-строки
(
\0
). Перечисленные выше символы (кроме слеша) использовать можно, но из соображений совместимости их лучше избегать.
Расширение имени файла ( англ. filename extension , часто говорят просто расширение файла или расширение ) — последовательность символов, добавляемых к имени файла и предназначенных для идентификации типа ( формата ) файла . Это один из распространённых способов, с помощью которых пользователь или программное обеспечение компьютера может определить тип данных, хранящихся в файле. Расширение отделяется от основной части имени файла последней точкой . Иногда могут использоваться несколько расширений, следующих друг за другом, например, «.tar.gz».
ОС или менеджер файлов могут устанавливать соответствия между расширениями файлов и приложениями . Когда пользователь открывает файл с зарегистрированным расширением, автоматически запускается соответствующая этому расширению программа. Некоторые расширения могут показывать, что файл является исполняемым (в Windows).
echo "$(ls 'Привет мир!')"
echo "$(ls 'Привет мир'\!)"