Содержание

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

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

Подразумевается, что используется стандартная для Astra Linux файловая система ext4.

Данная статья применима к:

  • ОС СН Смоленск 1.6
  • ОС ОН Орел 2.12
  • ОС СН Смоленск 1.5

Регистр

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

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

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

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

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

Полная длина пути к файлу не должна певышать 4096 байт.

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

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

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

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

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

  • [a-z]  любая латинская буква в нижнем регистре;
  • [A-Z] любая латинская буква в верхнем регистре;
  • [0-9] любая десятичная цифра;
  • [0-9A-Fa-f] любая шестнадцатиричная цифра (в любом регистре);
  • [a-zA-Z0-9] любая латинская буква в любом регистре или десятичная цифра.

/Символ "косая черта". В первой позиции имени обозначает корневой каталог, иначе разделяет имена в полном пути к файлу.
\Символ "обратная косая черта". Придает метасимволу значение обычного символа
Символ "минус". Обычно используется для указания параметров команд, и указание его первым в имени файла может повлечь попытку обработать файл как параметр.Не рекомендуется применять первым в именах файлов
_Символ "подчеркивание". В именах пакетов Debian отделяет имя пакета от номера версии, в иных случаях специального значения не имеет.Недопустимо применение в именах пакетов Debian.
.Символ "точка". В начале имени файла обозначает "скрытый" файл. Кроме того, имя, состоящее из единственного символа "точка" зарезервировано для обозначения текущего каталога.
..Имя, состоящее из двух точек, зарезервировано для обозначения родительского каталога.
$Символ "доллар". Используется для указания имен подстановочных переменных.
&Символ "амперсанд". Ипользуется для указания асинхронного выполнения команды.
"Символ "двойная кавычка". Используется для ограничения строк". (см. раздел "Решение проблем"
'Символ "одинарная кавычка". Используется для ограничения строк". (см. раздел "Решение проблем"
`Символ "обратная кавычка". Используется для подстановки вывода команды.

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

(
)
{
}
;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


  • No labels