Полное имя файла линукс

Правила именования файловых объектов в Astra Linux

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

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

  • 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 байта, другим символам (например, диакритическим) может соответствовать до четырех байт.

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

Имена файлов в 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 байт.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      Имена файлов, начинающиеся с символа «-«

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

      Источник

      Файловая структура системы LINUX. В операционной системе LINUX файлами считаются обычные файлы, каталоги, а также специальные файлы, соответствующие периферийным устройствам (каждое устройство

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

      Файловая структура LINUX имеет иерархическую древовидную структуру. В корневом каталоге размещаются другие каталоги и файлы, включая 5 основных каталогов:

      bin — большинство выполняемых командных программ и shell — процедур;

      usr — каталоги пользователей (условное обозначение);

      etc — преимущественно административные утилиты и файлы;

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

      Текущий каталог — это каталог, в котором в данный момент находится пользователь. При наличии прав доступа, пользователь может перейти после входа в систему в другой каталог. Текущий каталог обозначается точкой (.); родительский каталог, которому принадлежит текущий, обозначается двумя точками (..).

      Полное имя файла может включать имена каталогов, включая корневой, разделенных косой чертой, например: /home/student/file.txt. Первая косая черта обозначает корневой каталог, и поиск файла будет начинаться с него, а затем в каталоге home, затем в каталоге student.

      Один файл можно сделать принадлежащим нескольким каталогам. Для этого используется команда ln (link):

      Имя 1-го файла — это полное составное имя файла, с которым устанавливается связь; имя 2-го файла — это полное имя файла в новом каталоге, где будет использоваться эта связь. Новое имя может не отличаться от старого. Каждый файл может иметь несколько связей, т.е. он может использоваться в разных каталогах под разными именами. Команда ln с аргументом -s создает символическую связь:

      Здесь имя 2-го файла является именем символической связи. Символическая связь является особым видом файла, в котором хранится имя файла, на который символическая связь ссылается. LINUX работает с символической связью не так, как с обычным файлом — например, при выводе на экран содержимого символической связи появятся данные файла, на который эта символическая связь ссылается.

      В LINUX различаются 3 уровня доступа к файлам и каталогам:

      2) доступ группы пользователей, к которой принадлежит владелец файла;

      Для каждого уровня существуют свои байты атрибутов, значение которых расшифровывается следующим образом:

      x – разрешение на выполнение;

      Первый символ байта атрибутов определяет тип файла и может интерпретироваться со следующими значениями:

      в – блок-ориентированный специальный файл, который соответствует таким периферийным устройствам, как накопители на магнитных дисках;

      с – байт-ориентированный специальный файл, который может соответствовать таким периферийным устройствам как принтер, терминал.

      В домашнем каталоге пользователь имеет полный доступ к файлам (READ, WRITE, EXECUTE; r, w, x).

      Атрибуты файла можно просмотреть командой ls -l и они представляются в следующем формате:

      | | | | Доступ для остальных пользователей

      | | | Доступ к файлу для членов группы

      Пример. Командой ls -l получим листинг содержимого текущей директории student:

      — rwx — — 2 student 100 Mar 10 10:30 file_1

      — rwx — r— 1 adm 200 May 20 11:15 file_2

      — rwx — r— 1 student 100 May 20 12:50 file_3

      После байтов атрибутов на экран выводится следующая информация о файле:

      — дата создания файла (или модификации);

      Атрибуты файла и доступ к нему, можно изменить командой:

      Коды защиты могут быть заданы в числовом или символьном виде. Для символьного кода используются:

      знак плюс (+) — добавить права доступа;

      знак минус (-) — отменить права доступа;

      r,w,x — доступ на чтение, запись, выполнение;

      u,g,o — владельца, группы, остальных.

      Коды защиты в числовом виде могут быть заданы в восьмеричной форме. Для контроля установленного доступа к своему файлу после каждого изменения кода защиты нужно проверять свои действия с помощью команды ls -l.

      chmod g+rw,o+r file.1 — установка атрибутов чтения и записи для группы и чтения для всех остальных пользователей;

      ls -l file.1 — чтение атрибутов файла;

      chmod o-w file.1 — отмена атрибута записи у остальных пользователей;

      >letter — создание файла letter. Символ > используется как для переадресации, так и для создания файла;

      cat — вывод содержимого файла;

      cat file.1 file.2 > file.12 — конкатенация файлов (объединение);

      mv file.1 file.2 — переименование файла file.1 в file.2;

      mv file.1 file.2 file.3 directory — перемещение файлов file.1, file.2, file.3 в указанную директорию;

      rm file.1 file.2 file.3 — удаление файлов file.1, file.2, file.3;.

      cp file.1 file.2 — копирование файла с переименованием;

      mkdir namedir — создание каталога;

      rm dir_1 dir_2 — удаление каталогов dir_1 dir_2;

      ls [acdfgilqrstv CFR] namedir — вывод содержимого каталога; если в качестве namedir указано имя файла, то выдается вся информация об этом файле. Значения аргументов:

      — l –- список включает всю информацию о файлах;

      — t – сортировка по времени модификации файлов;

      — a – в список включаются все файлы, в том числе и те, которые начинаются с точки;

      — s – размеры файлов указываются в блоках;

      — d – вывести имя самого каталога, но не содержимое;

      — r – сортировка строк вывода;

      — i – указать идентификационный номер каждого файла;

      — v – сортировка файлов по времени последнего доступа;

      — q ­– непечатаемые символы заменить на знак?;

      — с – использовать время создания файла при сортировке;

      — g – то же что -l, но с указанием имени группы пользователей;

      — f – вывод содержимого всех указанных каталогов, отменяет флаги -l, -t, -s, -r и активизирует флаг -а;

      — С – вывод элементов каталога в несколько столбцов;

      — F – добавление к имени каталога символа / и символа * к имени файла, для которых разрешено выполнение;

      — R – рекурсивный вывод содержимого подкаталогов заданного каталога.

      cd — переход в другой каталог. Если параметры не указаны, то происходит переход в домашний каталог пользователя.

      pwd — вывод имени текущего каталога;

      grep [-vcilns] [шаблон поиска] — поиск файлов с указанием или без указания контекста (шаблона поиска).

      — v – выводятся строки, не содержащие шаблон поиска;

      — c – выводится только число строк, содержащих или не содержащих шаблон;

      — i – при поиске не различаются прописные и строчные буквы;

      — l – выводятся только имена файлов, содержащие указанный шаблон;

      — n – перенумеровать выводимые строки;

      — s – формируется только код завершения.

      1. Напечатать имена всех файлов текущего каталога, содержащих последовательность «student» и имеющих расширение.txt:

      grep -l student *.txt

      2. Определить имя пользователя, входящего в ОС LINUX с терминала tty23:

      who | grep tty23

      Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:

      Источник

      Читайте также:  Окно выбора операционной системы линукс
Оцените статью
Adblock
detector