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

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

Ключ

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

Оглавление

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


Информация
titleДанная статья применима к:
ОС СН Смоленск
  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7)
  • 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)


    Регистр

    Имена файлов в 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 не воспринимала имя файла как опцию.