Термином "имена файловых объектов" обозначаются имена файлов и каталогов. Правила именования для файлов и каталогов одинаковы. Далее:
|
Имена файлов в Astra Linux чувствительны к регистру. То есть, например: AstraLinux, Astralinux, и astralinux - это три разных имени файлов.
Для имен файлов, содержащих символы кириллицы, используется кодировка UTF-8. Следует помнить, что при использовании этой кодировки:
Имена файлов в Linux могут быть длиной до 255 байт.
Полная длина пути к файлу (включая имя файла) не должна превышать 4096 байт.
|
Некоторые символы или последовательности символов зарезервированы для специального использования, и их не рекомендуется применять в именах файлов:
| Символ | Специальное значение |
|---|---|
| * | При сравнении имен файлов - любая последовательность символов, кроме точки в начале имени файла (точка в начале имени файла обозначает "скрытый" файл и должна указываться явно). |
| ? | При сравнении имен файлов - один любой символ. |
| [abC1] | При сравнении имен файлов - любой символ из перечисленных в квадратных скобках. |
| [a-z] | При сравнении имен файлов - любой символ из указанного в квадратных скобках диапазона, например:
|
| / | Символ "косая черта". В первой позиции имени обозначает корневой каталог, иначе разделяет имена в полном пути к файлу. |
| \ | Символ "обратная косая черта". Придает следующему за ней метасимволу значение обычного символа. |
| - | Символ "минус". Обычно используется для указания параметров команд, и указание его первым в имени файла может повлечь попытку обработать файл как параметр (см. раздел "Решение проблем..."). |
| _ | Символ "подчеркивание". В именах пакетов Debian символ "подчеркивание" отделяет имя пакета от номера версии, в иных случаях специального значения не имеет. |
| . | Символ "точка". В начале имени файла обозначает "скрытый" файл. Кроме того, имя, состоящее из единственного символа "точка" зарезервировано для обозначения текущего каталога. |
| .. | Два символа "точка". Имя, состоящее из двух точек, зарезервировано для обозначения родительского каталога. |
| $ | Символ "доллар". Используется для указания имен подстановочных переменных. |
| & | Символ "амперсанд". Используется для указания асинхронного выполнения команды. |
| " | Символ "двойная кавычка". Используется для ограничения строк" (см. раздел "Решение проблем..."). |
| ' | Символ "одинарная кавычка". Используется для ограничения строк" (см. раздел "Решение проблем..."). |
| ` | Символ "обратная кавычка". Используется для подстановки вывода команды. |
| Символ "пробел". Используется для разделения имен, команд и параметров команд. | |
( | Простые и фигурные скобки, а также символ "точка с запятой". Используются для группирования и разделения команд и для указания значений переменных окружения. |
Минимальный безопасный набор символов для использования в именах файлов:
Использовать другие символы не рекомендуется, так как их наличие в именах файлов может вызвать некорректную работу некоторых программ, но допустимо использование любых символов.
В Astra Linux можно создать имена файлов содержащие любой символ, включая непечатные (невидимые) символы и метасимволы. Далее приведены некоторые приемы для работы с такими именами файлов.
Автозавершение позволяет использовать клавишу табуляции для автоматического подбора подходящих имен (файлов, команд, параметров команд). Для использования автозавершения следует:
Для указания файлов с невидимыми символами можно использовать символ "*", обозначающий любой символ, например, переименовать файл с именем badname, содержащим невидимый символ:
| mv bad*name goodname |
Для управления файлами с именами, содержащими метасимволы, можно использовать:
Например, команда:
| mv '*Astra*Linux*' Astra\ Linux |
позволит переименовать файл с "неудобным" именем *Astra*Linux* в файл с другим "неудобным" именем, содержащим пробел.
Большинство команд используют символ "-" (минус) для обозначения опций (параметров) выполнения. Для того, чтобы передать команде аргументы (например, имена файлов), начинающиеся со знака "-" (минус) и не являющиеся опциями можно:
Использовать специальную опцию "--" (два минуса). Эта опция указывает, что все последующие аргументы команды не являются опциями независимо от наличия лидирующего символа минус. Например, чтобы удалить файл, имеющий имя "-filename", команду rm можно использовать в виде:
| rm -- -filename |
Поддерживается не всеми программами.
Использовать указание имен относительно текущего каталога:
| rm ./-filename |
Символы "./" в начале имени файла обозначают "текущий каталог", позволяя скрыть лидирующее тире, чтобы команда не воспринимала имя файла как опцию.