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

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

Ключ

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

Оглавление

Термином "имена файловых объектов" обозначаются имена файлов и каталогов, далее для краткости . Правила именования для файлов и каталогов одинаковы. Далее:

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


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

  • каждый символ кириллицы занимает 2 байта;
  • некоторые другие символы (например,
диакритическим
  • диакритические) может
соответствовать
  • занимать до четырех байт.

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

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

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

warning

Предупреждение
  1. При использовании
кириллицы и диакритических символов следует помнить, что одному такому символу соответствует
  1. кодировок CP-1251 (Windows) или KOI-8 каждый символ размещается в одном байте. В кодировке UTF-8 одному символу может требоваться до четырех байт.
В частности, увеличение
  1. Это может вести к увеличению длинны имен при их перекодировке
может привести к затруднениям
  1. и вызывать затруднения при копировании или разархивировании файлов, полученных из систем, использующих кодировку CP-1251 или KOI-8
, в системы с кодировкой UTF-8
  1. .
  2. При архивировании могут действовать ограничения, зависящие от используемой системы архивирования (и, в некоторых случаях, от типов архивируемых файлов). Более подробную информацию см. в документации на используемые архиваторы. Так, например:
    1. архиватор tar:
      1. версия gnu - длина не ограничена (эта версия входит в дистрибутивы
современных версия
      1. Astra Linux);
      2. версия v7 - максимальная длина полного имени файла 99 байт;
      3. версия ustar - максимальная длина полного имени файла 256 байт, максимальная длина имени символьной ссылки - 100 байт;
  1. При использовании оптических дисков (файловая система ISO 9660) действуют следующие ограничения:
    1. длина пути не более 1024 байта;
    2. длина имени файла:
      оригинальная версия ISO9660  -
          1. версия файловой системы ISO9660 — 32 байта;
          2. версия файловой системы
      Joliet  -
          1. Joliet  — 128 байт;
          2. версия файловой системы Rockridge
      -
          1. 255 байт.


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

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

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

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

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

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

    (
    )
    {
    }
    ;

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

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

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

    • буквы (как латиницы , так и кириллицы, в любом регистре);
    • десятичные цифры;
    • символ "." (точка);
    • символ "_" (подчеркивание)
    • символ "-" (тире)..
    • условно безопасным является использование кириллицы, в любом регистре. Ядро Astra Linux гарантирует корректную обработку имен файлов с символами кириллицы, однако следует помнить о том что:
      • каждый символ кириллицы занимает два байта;
      • такие имена могут некорректно обрабатываться прикладными программами.

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

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

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

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

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

    1. Ввести начальные буквы имени
    , нажать клавишу табуляции и автоматически
    1. файла (или команды);
    2. Нажать клавишу табуляции;
    3. Автоматически будут предложены возможные варианты продолжения, включая варианты, содержащие метасимволы.

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

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

    Command
    mv bad*name goodname

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

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

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

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

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

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

    Имена файлов,

    начинающихся с символа "минус" можно использовать указание их имени

    начинающиеся с символа "-"

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

    • Использовать специальную опцию "--" (два минуса). Эта опция указывает, что все последующие аргументы команды не являются опциями независимо от наличия лидирующего символа минус. Например, чтобы удалить файл, имеющий имя "-filename", команду rm можно использовать в виде:

      Command
      rm -- -filename

      Поддерживается не всеми программами.

    • Использовать указание имен относительно текущего каталога:

      Command
      rm ./-filename

      Символы "./" в начале имени файла обозначают "текущий каталог",

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

    rm
    • не воспринимала имя файла как опцию.