Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Оглавление

Термином "имена файловых объектов" обозначаются имена файлов и каталогов, далее для краткости используется термин "имена файлов", при этом правила именования для файлов и каталогов одинаковы. Далее подразумевается, что используется стандартная для Astra Linux файловая система ext4.


Информация
titleДанная статья применима к:
ОС СН Смоленск
  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6
  • ОС ОН Орел 2.12
    • )
    • Astra Linux Special Edition РУСБ.10015-16 исп. 1 и 2
    • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.5)
    • Astra Linux Special Edition РУСБ.10265-01 (очередное обновление 8.1)
    ОС СН Смоленск 1.5


    Регистр

    Имена файлов в Astra Linux чувствительны к регистру. То есть, например: AstraLinux, Astralinux, и astralinux - это три разных имени файлов.

    Кодировка кириллицы

    Для имен файлов, содержащих символы кириллицы, используется кодировка UTF-8. Следует помнить, что при использовании этой кодировки одному символу кириллицы соответствует 2 байта, другим символам (например, диакритическим) может соответствовать до четырех байт.

    Длина имени файла и пути к файлу

    Имена файлов в Linux могут быть длиной до 255 байт.

    Полная длина пути к файлу (включая имя файла) не должна превышать 4096 байт.

    Предупреждение


    Предупреждение
    При использовании кириллицы и диакритических символов следует помнить, что одному такому символу соответствует до четырех байт. В частности, увеличение длинны имен при их перекодировке может привести к затруднениям при копировании или разархивировании файлов из систем, использующих кодировку CP-1251 или KOI-8, в системы с кодировкой UTF-8.

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

    • архиватор tar:
      • версия gnu - длина не ограничена (эта версия входит в дистрибутивы современных версия Astra Linux);
      • версия v7 - максимальная длина полного имени файла 99 байт;
      • версия ustar - максимальная длина полного имени файла 256 байт, максимальная длина имени символьной ссылки - 100 байт;

    При использовании оптических дисков (файловая система ISO 9660) действуют следующие ограничения:

    • длина пути не более 1024 байта;
    • длина имени файла:
      • оригинальная версия ISO9660  - 32 байта;
      • версия файловой системы Joliet  - 128 байт;
      • версия файловой системы Rockridge - 255 байт.


    Специальные символы (метасимволы)

    Некоторые символы или последовательности символов зарезервированы для специального использования, и их не рекомендуется применять в именах файлов:

    СимволСпециальное значение
    *При сравнении имен файлов - любая последовательность символов, кроме точки в начале имени файла (точка в начале имени файла обозначает "скрытый" файл).
    ?При сравнении имен файлов - один любой символ.
    [abC1]При сравнении имен файлов - любой символ из перечисленных в квадратных скобках
    [a-z]

    При сравнении имен файлов - любой символ из указанного в квадраных скобках диапазона, например:

    • [a-z]  любая латинская буква в нижнем регистре;
    • [A-Z] любая латинская буква в верхнем регистре;
    • [0-9] любая десятичная цифра;
    • [0-9A-Fa-f] любая шестнадцатиричная цифра (в любом регистре);
    • [a-zA-Z0-9] любая латинская буква в любом регистре или десятичная цифра.
    /Символ "косая черта". В первой позиции имени обозначает корневой каталог, иначе разделяет имена в полном пути к файлу.
    \Символ "обратная косая черта". Придает метасимволу значение обычного символа
    Символ "минус". Обычно используется для указания параметров команд, и указание его первым в имени файла может повлечь попытку обработать файл как параметр.
    _Символ "подчеркивание". В именах пакетов Debian символ "подчеркивание" отделяет имя пакета от номера версии, в иных случаях специального значения не имеет.
    .Символ "точка". В начале имени файла обозначает "скрытый" файл. Кроме того, имя, состоящее из единственного символа "точка" зарезервировано для обозначения текущего каталога.
    ..Имя, состоящее из двух точек, зарезервировано для обозначения родительского каталога.
    $Символ "доллар". Используется для указания имен подстановочных переменных.
    &Символ "амперсанд". Используется для указания асинхронного выполнения команды.
    "Символ "двойная кавычка". Используется для ограничения строк". (см. раздел "Решение проблем"
    'Символ "одинарная кавычка". Используется для ограничения строк". (см. раздел "Решение проблем"
    `Символ "обратная кавычка". Используется для подстановки вывода команды.

    Символ "пробел". Используется для разделения имен, команд и параметров команд.

    (
    )
    {
    }
    ;

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

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

    Минимальный безопасный набор симоволов для использования в именах файлов:

    • буквы (как латиницы, так и кириллицы, в любом регистре);
    • цифры;
    • символ "." (точка);
    • символ "_" (подчеркивание)
    • символ "-" (тире).

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

    Решение проблем с метасимволами в именах файлов при работе в командной строке

    В Astra Linux можно создать имена файлов содержащие любой символ, включая непечатные (невидимые) символы и метасимволы. Далее приведены некоторые приемы для работы с такими именами файлов.

    Автозавершение

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

    Замена невидимых символов

    Для указания файлов с невидимыми символами можно использовать символ "*", обозначающий любой символ, например, переименовать файл с именем badname, содержащим невидимый символ:

    Command
    mv bad*name goodname

    Экранирование метасимволов

    Для управления файлами с именами, содержащими метасимволы, можно использовать:

    • символы "одинарная кавычка", внутри которых метасимволы потеряют свои специальные значения;
    • символ "обратная косая черта", отменяющий специальное значение следующего за ним символа;

    Например, команда:

    Command
    mv '*Astra*Linux*' Astra\ Linux

    позволит переименовать файл с "неудобным" именем *Astra*Linux* в файл с другим "неудобным" именем, содержащим пробел.

    Для имен файлов, начинающихся с символа "минус" можно использовать указание их имени относительно текущего каталога:

    Command
    rm ./-filename

    Символы "./" в начале имени файла обозначают "текущий каталог", и позволяют скрыть лидирующее тире, чтобы команда rm не воспринимала имя файла как опцию.